liurunyu
2023-11-23 16a96f990b1c2ae06f56a8ebac44e911b9d8ef32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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<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 ;
 
}