pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoBa/BaDistrict.java
@@ -6,33 +6,92 @@
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 ;
    public Long supperId;//上级行政区ID
    /**
     * 上级行下区ID
     */
    @Schema(description = "上级实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    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 = "行政区编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "行政区编号不能为空") //不能为空也不能为null
    @Max(message = "行政区编号不大于99", value = 99)
    @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<BaDistrict> 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 ;
}