/** * Copyright (c) 2018 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */ package com.zt.core.sys.model; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; import com.zt.common.entity.CompanyEntity; import com.zt.common.entity.TreeNode; import com.zt.common.validator.group.DefaultGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; /** * 部门 * * @author hehz */ @Data @ApiModel(value = "部门") @EqualsAndHashCode(callSuper = false) @TableName("SYS_DEPT") public class SysDept extends CompanyEntity implements TreeNode, Cloneable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "上级ID") @NotNull(message = "上级ID,不能为空", groups = DefaultGroup.class) private Long pid; @JsonIgnore private String pids;// 所有上级ID,用逗号分开 @ApiModelProperty(value = "部门名称") @NotBlank(message = "请选择上级部门", groups = DefaultGroup.class) private String name; @ApiModelProperty(value = "部门简称") @NotNull(message = "部门简称不能为空", groups = DefaultGroup.class) private String shortName; @ApiModelProperty(value = "排序") @Min(value = 0, message = "排序值不能小于0", groups = DefaultGroup.class) private Integer sort; @ApiModelProperty(value = "部门代码") @NotNull(message = "部门代码不能为空", groups = DefaultGroup.class) private String code; @ApiModelProperty(value = "") @NotNull(message = "部门类型不能为空", groups = DefaultGroup.class) private String nature; @ApiModelProperty(value = "是否公司 0:部门 1:公司") @NotNull(message = "是否公司不能为空", groups = DefaultGroup.class) private boolean isCompany; @ApiModelProperty(value = "状态") @TableField(fill = FieldFill.INSERT) private Integer status; @ApiModelProperty(value = "子部门") @TableField(exist = false) private List children = new ArrayList<>(); // @ApiModelProperty(value = "上级部门名称") // @TableField(exist = false) // private String parentName; // @ApiModelProperty(value = "公司名称") // @TableField(exist = false) // private String companyName; @Override public SysDept clone() throws CloneNotSupportedException { SysDept dept = (SysDept) super.clone(); dept.children = new ArrayList<>(); return dept; } }