package com.sckw.system.model;

import com.sckw.core.model.base.BaseModel;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serial;
/**
 * 菜单
 * @author zk
 * @date 2023-05-31
 */
@Data
public class KwsMenu extends BaseModel {

    /**
     * 终端类型(1运营端、2企业PC端、3企业APP、4司机端)
     */
    @NotNull(message = "终端类型不能为空")
    private Integer clientType;

    /**
     * 子父级菜单关系
     */
    private Long parentId;

    /**
     * 名称
     */
    @NotBlank(message = "菜单名不能为空")
    @Size(max = 50, message = "名称长度超长")
    private String name;

    /**
     * 地址
     */
    private String url;

    /**
     * 权限标识
     */
    @NotBlank(message = "菜单编号不能为空")
    private String perms;

    /**
     * 类型:0目录/1菜单/2按钮
     */
    @NotNull(message = "菜单类型不能为空")
    private Integer type;

    /**
     * 请求后端接口地址（按钮才有）
     */
    private String links;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 层级
     */
    private Integer level;

    /**
     * 是否定制（0否，1是）
     */
    private Integer custom;

    /**
     * 是否默认展示
     */
    private Integer isDisplay;

    /**
     * 此菜单是否开放（0普通菜单，1超级管理员菜单，2非普通用户菜单）
     */
    private Integer isMain;

    /**
     * PC端适用企业类型（1供应商，2采购商，34PL物流，43PL物流）
     */
    private String usingRoles;

}