fix(ip): 添加了东莞市、中山市、儋州市、嘉峪关市的特殊ID处理规则

- 添加了东莞市、中山市、儋州市、嘉峪关市的特殊ID处理规则
- 完善了地区数据转换工具的注释说明
pull/247/head
chenwenke 2026-05-01 10:34:00 +08:00
parent d34f647040
commit ffd0bd5a72
2 changed files with 22 additions and 11 deletions

View File

@ -31,7 +31,8 @@ import java.util.List;
* 1. ok_data_level3-4.csv.7z: https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov/releases
* 2. ok_data_level3.csv src/test/resources/ok_data_level3.csv
* 3.
* 4. area_new.csv
* 4. src/test/resources/area_new.csv
* 4. area.csv
*
* @author
* @see https://github.com/YunaiV/yudao-cloud/issues/299
@ -75,9 +76,14 @@ public class AreaDataConverterTest {
// id
String id = row.get(0);
String idStr;
if (id.startsWith("8")) {//香港澳门特殊处理
if (id.startsWith("8")) {
//香港、澳门 按照原始数据保留
idStr = id;
} else if (id.equals("4419") || id.equals("4420") || id.equals("4604") || id.equals("6202")) {
//东莞市、中山市、儋州市、嘉峪关市 二级id和三级id一致二级id按原始id保留
idStr = id;
} else {
// 默认补码
idStr = String.format("%-6s", Integer.parseInt(id)).replace(' ', '0');
}
// 转换层级
@ -95,9 +101,14 @@ public class AreaDataConverterTest {
String pidStr;
if ("0".equals(pid)) {
pidStr = "1"; // 省级,父节点为中国
} else if (pid.startsWith("8")) {//香港澳门特殊处理
} else if (pid.startsWith("8")) {
//香港、澳门 按照原始数据保留
pidStr = pid;
} else if (pid.equals("4419") || pid.equals("4420") || pid.equals("4604") || pid.equals("6202")) {
//东莞市、中山市、儋州市、嘉峪关市 二级id和三级id一致三级pid按原始pid保留
pidStr = pid;
} else {
// 默认补码
pidStr = String.format("%-6s", Integer.parseInt(pid)).replace(' ', '0');
}

View File

@ -34,6 +34,10 @@ id,name,type,parentId
640000,宁夏回族自治区,2,1
650000,新疆维吾尔自治区,2,1
710000,台湾省,2,1
4419,东莞市,3,440000
4420,中山市,3,440000
4604,儋州市,3,460000
6202,嘉峪关市,3,620000
8100,香港特别行政区,3,81
8200,澳门特别行政区,3,82
110100,北京市,3,110000
@ -250,8 +254,6 @@ id,name,type,parentId
441600,河源市,3,440000
441700,阳江市,3,440000
441800,清远市,3,440000
441900,东莞市,3,440000
442000,中山市,3,440000
445100,潮州市,3,440000
445200,揭阳市,3,440000
445300,云浮市,3,440000
@ -272,7 +274,6 @@ id,name,type,parentId
460100,海口市,3,460000
460200,三亚市,3,460000
460300,三沙市,3,460000
460400,儋州市,3,460000
469001,五指山市,3,460000
469002,琼海市,3,460000
469005,文昌市,3,460000
@ -354,7 +355,6 @@ id,name,type,parentId
610900,安康市,3,610000
611000,商洛市,3,610000
620100,兰州市,3,620000
620200,嘉峪关市,3,620000
620300,金昌市,3,620000
620400,白银市,3,620000
620500,天水市,3,620000
@ -2238,8 +2238,8 @@ id,name,type,parentId
441826,连南瑶族自治县,4,441800
441881,英德市,4,441800
441882,连州市,4,441800
441900,东莞市,4,441900
442000,中山市,4,442000
441900,东莞市,4,4419
442000,中山市,4,4420
445102,湘桥区,4,445100
445103,潮安区,4,445100
445122,饶平县,4,445100
@ -2374,7 +2374,7 @@ id,name,type,parentId
460205,崖州区,4,460200
460302,西沙区,4,460300
460303,南沙区,4,460300
460400,儋州市,4,460400
460400,儋州市,4,4604
500101,万州区,4,500100
500102,涪陵区,4,500100
500103,渝中区,4,500100
@ -3001,7 +3001,7 @@ id,name,type,parentId
620121,永登县,4,620100
620122,皋兰县,4,620100
620123,榆中县,4,620100
620200,嘉峪关市,4,620200
620200,嘉峪关市,4,6202
620302,金川区,4,620300
620321,永昌县,4,620300
620402,白银区,4,620400

1 id name type parentId
34 640000 宁夏回族自治区 2 1
35 650000 新疆维吾尔自治区 2 1
36 710000 台湾省 2 1
37 4419 东莞市 3 440000
38 4420 中山市 3 440000
39 4604 儋州市 3 460000
40 6202 嘉峪关市 3 620000
41 8100 香港特别行政区 3 81
42 8200 澳门特别行政区 3 82
43 110100 北京市 3 110000
254 441600 河源市 3 440000
255 441700 阳江市 3 440000
256 441800 清远市 3 440000
441900 东莞市 3 440000
442000 中山市 3 440000
257 445100 潮州市 3 440000
258 445200 揭阳市 3 440000
259 445300 云浮市 3 440000
274 460100 海口市 3 460000
275 460200 三亚市 3 460000
276 460300 三沙市 3 460000
460400 儋州市 3 460000
277 469001 五指山市 3 460000
278 469002 琼海市 3 460000
279 469005 文昌市 3 460000
355 610900 安康市 3 610000
356 611000 商洛市 3 610000
357 620100 兰州市 3 620000
620200 嘉峪关市 3 620000
358 620300 金昌市 3 620000
359 620400 白银市 3 620000
360 620500 天水市 3 620000
2238 441826 连南瑶族自治县 4 441800
2239 441881 英德市 4 441800
2240 441882 连州市 4 441800
2241 441900 东莞市 4 441900 4419
2242 442000 中山市 4 442000 4420
2243 445102 湘桥区 4 445100
2244 445103 潮安区 4 445100
2245 445122 饶平县 4 445100
2374 460205 崖州区 4 460200
2375 460302 西沙区 4 460300
2376 460303 南沙区 4 460300
2377 460400 儋州市 4 460400 4604
2378 500101 万州区 4 500100
2379 500102 涪陵区 4 500100
2380 500103 渝中区 4 500100
3001 620121 永登县 4 620100
3002 620122 皋兰县 4 620100
3003 620123 榆中县 4 620100
3004 620200 嘉峪关市 4 620200 6202
3005 620302 金川区 4 620300
3006 620321 永昌县 4 620300
3007 620402 白银区 4 620400