package com.xy.entity;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 菜单表和角色菜单表关联实体
 */
@Data
@Accessors(chain = true)
public class SysMenuJoinSysRoleMenu implements Serializable {

    /**
     * 角色id
     */
    private Long roleId;

    /**
     * 子级集合
     */
    private List<SysMenuJoinSysRoleMenu> sonSysMenu;

    /**
     * 父id
     */
    private Long paterId;

    /**
     * 系统id
     */
    private Long sysId;

    /**
     * 标识
     */
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 英文名称
     */
    @ApiModelProperty(value = "英文名称", required = true)
    private String enName;


    /**
     * 类型
     */
    private Integer type;

    /**
     * 客户端类型
     */
    private String clientType;

    /**
     * 数据接口uri
     */
    private String interfaceUri;

    /**
     * 前端参数
     */
    private String webJson;

    /**
     * 状态
     */
    private Boolean status;

    private Long id;

    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime createTime;

    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime updateTime;

    private Long createUser;

    private Long updateUser;

    /**
     * 路由
     */
    private String route;

    /**
     * 排序
     */
    private Integer orders;

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

    /**
     * 管理员查询权限;true=管理员查询权限查询某系统所有数据 false=普通查询权限查询某系统自身数据
     */
    private Boolean selectAdmin;

    /**
     * 路由地址 跟服务走的
     */
    private String path;

    /**
     * 小程序菜单图标
     */
    private String miniMenuIcon;

    /**
     * 备注
     */
    private String remark;
}
