package com.dy.pipIrrGlobal.pojoBa; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.dy.common.mybatis.envm.Deleted; import com.dy.common.po.BaseEntity; import com.dy.pipIrrGlobal.util.DistrictLevel; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.*; import org.hibernate.validator.constraints.Length; import java.util.List; /** * 行政区划实体 */ @TableName(value="ba_district", autoResultMap = true) @Data @Builder @ToString @NoArgsConstructor @AllArgsConstructor @Schema(name = "行政区划实体") public class BaDistrict implements BaseEntity { public static final long serialVersionUID = 202311081046001L; @JSONField(serializeUsing= ObjectWriterImplToString.class) @TableId(type = IdType.INPUT) @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Long id ; /** * 上级行下区ID */ @Schema(description = "上级实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Long supperId; /** * 行政区名称 */ @Schema(description = "行政区名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "行政区名称不能为空") //不能为空也不能为null @Length(message = "行政区名称不大于{max}字,不小于{min}字", min = 1, max = 25) public String name; /** * 行政区编号 */ @Schema(description = "行政区编号(省市县2位,镇村3位)", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "行政区编号不能为空") //不能为空也不能为null @Max(message = "行政区编号不大于99", value = 999) @Min(message = "行政区编号不小于0",value = 0) public String num; /** * 行政区级别 */ @Schema(description = "行政区级别", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @NotNull(message = "行政区级别不能为空") //不能为空也不能为null @Max(message = "行政区级别不大于10", value = 10) @Min(message = "行政区级别不小于0",value = 0) public DistrictLevel level; /** * 是否删除: 0表示未删除 1表示删除. */ @Schema(description = "删除标识,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public Deleted deleted; /** * 下级行政区集合 */ @TableField(exist = false) public List subDistricts ; /** * 下级行政区集合 */ @Schema(description = "是否可以添下级,表单不用填写,只在查询列表时有效", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @TableField(exist = false) public boolean canAdd ; @Schema(description = "是否可以删除,表单不用填写,只在查询列表时有效", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @TableField(exist = false) public boolean canDelete ; }