package com.monkeylessey.sys.domain.form; import com.monkeylessey.sys.domain.base.AbsForm; import com.monkeylessey.sys.domain.entity.SysMenu; import com.monkeylessey.enums.general.MenuTypeEnum; import com.monkeylessey.enums.general.StatusEnum; import com.monkeylessey.exception.ServiceException; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** * @author 29443 * @date 2022/5/14 */ @Data @ApiModel public class SysMenuForm extends AbsForm { @ApiModelProperty("菜单名") @NotBlank(message = "菜单名不能为空") private String menuName; @NotNull(message = "菜单类型不能为空") @ApiModelProperty(value = "菜单分类,0目录,1菜单,2按钮") private MenuTypeEnum menuType; @NotNull(message = "菜单状态不能为空") @ApiModelProperty(value = "0可用,1停用") private StatusEnum status; @ApiModelProperty("菜单图标") private String menuIcon; @ApiModelProperty("菜单路径") private String menuPath; @ApiModelProperty("路由名") private String routerName; @ApiModelProperty("路由组件") private String routerComponent; @ApiModelProperty("权限") private String permission; @ApiModelProperty("排序") private Integer orderNum; @ApiModelProperty("父级") private String parentId; public static SysMenu getMenuEntity(SysMenu menuEntity, SysMenuForm menuForm) { if (menuEntity == null) { menuEntity = new SysMenu(); } BeanUtils.copyProperties(menuForm, menuEntity); return menuEntity; } public void checkNotBlank() { // 非按钮不能为空 if (! MenuTypeEnum.BUTTON.equals(this.menuType)) { if (StringUtils.isBlank(this.menuPath)) { throw new ServiceException("菜单路径不能为空"); } if (StringUtils.isBlank(this.routerName)) { throw new ServiceException("路由名称不能为空"); } if (StringUtils.isBlank(this.routerComponent)) { throw new ServiceException("路由组件不能为空"); } } } }