xiangpei
2025-04-18 ccadf9480d4e6a9dcc227a2a0b1f9ae0612e36fd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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("路由组件不能为空");
            }
        }
    }
 
}