陶杰
2024-12-22 cd53b98d57136461f1ec84632218654f7c037b80
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
package com.mzl.flower.dto.map.tengxun;
 
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
 
// 行政区划对象
 
/**
 * 代码共6位,前两位代表省(一级)、中间两位为市/地区(二级),最后两位为区县(三级)
 *  1)省级:前两位有值,后4位置0,如,河北省:130000
 *  2)市/地区:前4四位有值,包含省代码与市代码,最后两位置0,如河北省保定市:130600
 *  3)区县:6位全有值,包含前4位省市代码及区县代码,河北省保定市涿州市:130681
 *  4)直辖市、香港、澳门:
 *       同省级,在行政区划接口(ws/district/v1/list)中,其下直接为区级(没有二级结构填充)
 *       例:北京,东城区 (而非:“北京,北京,东城区”)
 *  5)直辖县:第3、4位为90的,为省直辖县
 *  6)中国范围内,省市区行政区划以外的区域值为999999(如中国东海)
 *  7)东莞市、中山市、儋州市、嘉峪关市 因其下无区县级,因此增加了末位为99代码的同名子级,用于补齐到三级区划的结构
 *
 * 如何获取城市编码(city_code):
 * 1)编码前4位不为0,第5、6位为0的,为常规城市,可直接取用
 * 2)北京、上海、重庆、天津、香港、澳门,编码和省一致,需要单独提出
 * 3)第3、4位为90的为省直辖县,一般当做城市来应用,也需要单独提出
 */
 
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class TengxunDistrict {
 
    /**
     * 行政区划唯一标识(adcode)
     */
    private String id;
    /**
     * 行政区划唯一标识(adcode)
     */
    private String code;
    /**
     * 简称,如“内蒙古”
     */
    private String name;
    /**
     * 全称,如“内蒙古自治区”
     */
    private String fullname;
 
    /**
     * 行政区划级别
     */
    private Integer level;
 
    /**
     * 行政区划拼音,每一下标为一个字的全拼,如:
     * [“nei”,“meng”,“gu”]
     */
    private List<String> pinyin;
    /**
     *  经纬度
     */
    private TengxunLocation tengxunLocation;
    /**
     * 当前区划的下级区划信息,结构与当前区划一致,如果没有下级区划则不返回此字段
     * 行政区划代码(adcode)规则说明
     */
    private List<TengxunDistrict> districts;
 
 
    /**
     * 行政区划父级别唯一标识(adcode)
     */
    private String parentId;
}