From 0d48dcf1749f539bf9352c6bc3996a63af22d136 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 6 Nov 2020 11:02:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=BD=E5=AE=B6/=E5=9C=B0?= =?UTF-8?q?=E5=8C=BA=E5=B0=81=E7=A6=81=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ipdata/ip2region/global_region.csv | 3461 +++++++++++++++++ cmd/ip2region/main.go | 113 + go.mod | 2 + go.sum | 5 + .../db/models/http_firewall_policy_dao.go | 16 + internal/db/models/region_city_dao.go | 31 + internal/db/models/region_city_model.go | 2 + internal/db/models/region_country_dao.go | 57 +- internal/db/models/region_country_model.go | 20 +- internal/db/models/region_province_dao.go | 42 + internal/db/models/region_province_model.go | 2 + internal/nodes/api_node.go | 2 + .../services/service_http_firewall_policy.go | 16 + .../rpc/services/service_region_country.go | 48 + .../rpc/services/service_region_province.go | 37 + 15 files changed, 3843 insertions(+), 11 deletions(-) create mode 100644 build/resources/ipdata/ip2region/global_region.csv create mode 100644 cmd/ip2region/main.go create mode 100644 internal/rpc/services/service_region_country.go create mode 100644 internal/rpc/services/service_region_province.go diff --git a/build/resources/ipdata/ip2region/global_region.csv b/build/resources/ipdata/ip2region/global_region.csv new file mode 100644 index 00000000..3d6681f8 --- /dev/null +++ b/build/resources/ipdata/ip2region/global_region.csv @@ -0,0 +1,3461 @@ +1,0,中国,1,0 +2,0,蒙古,1,0 +3,0,朝鲜,1,0 +4,0,韩国,1,0 +5,0,日本,1,0 +6,0,菲律宾,1,0 +7,0,越南,1,0 +8,0,老挝,1,0 +9,0,柬埔寨,1,0 +10,0,缅甸,1,0 +11,0,泰国,1,0 +12,0,马来西亚,1,0 +13,0,文莱,1,0 +14,0,新加坡,1,0 +15,0,印度尼西亚,1,0 +16,0,东帝汶,1,0 +17,0,尼泊尔,1,0 +18,0,不丹,1,0 +19,0,孟加拉国,1,0 +20,0,印度,1,0 +21,0,巴基斯坦,1,0 +22,0,斯里兰卡,1,0 +23,0,马尔代夫,1,0 +24,0,哈萨克斯坦,1,0 +25,0,吉尔吉斯斯坦,1,0 +26,0,塔吉克斯坦,1,0 +27,0,乌兹别克斯坦,1,0 +28,0,土库曼斯坦,1,0 +29,0,阿富汗,1,0 +30,0,伊拉克,1,0 +31,0,伊朗,1,0 +32,0,叙利亚,1,0 +33,0,约旦,1,0 +34,0,黎巴嫩,1,0 +35,0,以色列,1,0 +36,0,巴勒斯坦,1,0 +37,0,沙特阿拉伯,1,0 +38,0,巴林,1,0 +39,0,卡塔尔,1,0 +40,0,科威特,1,0 +41,0,阿拉伯联合酋长国,1,0 +42,0,阿曼,1,0 +43,0,也门,1,0 +44,0,格鲁吉亚,1,0 +45,0,亚美尼亚,1,0 +46,0,阿塞拜疆,1,0 +47,0,土耳其,1,0 +48,0,塞浦路斯,1,0 +49,0,芬兰,1,0 +50,0,瑞典,1,0 +51,0,挪威,1,0 +52,0,冰岛,1,0 +53,0,丹麦,1,0 +54,0,爱沙尼亚,1,0 +55,0,拉脱维亚,1,0 +56,0,立陶宛,1,0 +57,0,白俄罗斯,1,0 +58,0,俄罗斯,1,0 +59,0,乌克兰,1,0 +60,0,摩尔多瓦,1,0 +61,0,波兰,1,0 +62,0,捷克,1,0 +63,0,斯洛伐克,1,0 +64,0,匈牙利,1,0 +65,0,德国,1,0 +66,0,奥地利,1,0 +67,0,瑞士,1,0 +68,0,列支敦士登,1,0 +69,0,英国,1,0 +70,0,爱尔兰,1,0 +71,0,荷兰,1,0 +72,0,比利时,1,0 +73,0,卢森堡,1,0 +74,0,法国,1,0 +75,0,摩纳哥,1,0 +76,0,罗马尼亚,1,0 +77,0,保加利亚,1,0 +78,0,塞尔维亚,1,0 +79,0,马其顿,1,0 +80,0,阿尔巴尼亚,1,0 +81,0,希腊,1,0 +82,0,斯洛文尼亚,1,0 +83,0,克罗地亚,1,0 +84,0,波斯尼亚和墨塞哥维那,1,0 +85,0,意大利,1,0 +86,0,梵蒂冈,1,0 +87,0,圣马力诺,1,0 +88,0,马耳他,1,0 +89,0,西班牙,1,0 +90,0,葡萄牙,1,0 +91,0,安道尔共和国,1,0 +92,0,埃及,1,0 +93,0,利比亚,1,0 +94,0,苏丹,1,0 +95,0,突尼斯,1,0 +96,0,阿尔及利亚,1,0 +97,0,摩洛哥,1,0 +98,0,亚速尔群岛,1,0 +99,0,马德拉群岛,1,0 +100,0,埃塞俄比亚,1,0 +101,0,厄立特里亚,1,0 +102,0,索马里,1,0 +103,0,吉布提,1,0 +104,0,肯尼亚,1,0 +105,0,坦桑尼亚,1,0 +106,0,乌干达,1,0 +107,0,卢旺达,1,0 +108,0,布隆迪,1,0 +109,0,塞舌尔,1,0 +110,0,圣多美及普林西比,1,0 +111,0,塞内加尔,1,0 +112,0,冈比亚,1,0 +113,0,马里,1,0 +114,0,布基纳法索,1,0 +115,0,几内亚,1,0 +116,0,几内亚比绍,1,0 +117,0,佛得角,1,0 +118,0,塞拉利昂,1,0 +119,0,利比里亚,1,0 +120,0,科特迪瓦,1,0 +121,0,加纳,1,0 +122,0,多哥,1,0 +123,0,贝宁,1,0 +124,0,尼日尔,1,0 +125,0,加那利群岛,1,0 +126,0,赞比亚,1,0 +127,0,安哥拉,1,0 +128,0,津巴布韦,1,0 +129,0,马拉维,1,0 +130,0,莫桑比克,1,0 +131,0,博茨瓦纳,1,0 +132,0,纳米比亚,1,0 +133,0,南非,1,0 +134,0,斯威士兰,1,0 +135,0,莱索托,1,0 +136,0,马达加斯加,1,0 +137,0,科摩罗,1,0 +138,0,毛里求斯,1,0 +139,0,留尼旺,1,0 +140,0,圣赫勒拿,1,0 +141,0,澳大利亚,1,0 +142,0,新西兰,1,0 +143,0,巴布亚新几内亚,1,0 +144,0,所罗门群岛,1,0 +145,0,瓦努阿图共和国,1,0 +146,0,密克罗尼西亚,1,0 +147,0,马绍尔群岛,1,0 +148,0,帕劳,1,0 +149,0,瑙鲁,1,0 +150,0,基里巴斯,1,0 +151,0,图瓦卢,1,0 +152,0,萨摩亚,1,0 +153,0,斐济,1,0 +154,0,汤加,1,0 +155,0,库克群岛,1,0 +156,0,关岛,1,0 +157,0,新喀里多尼亚,1,0 +158,0,法属波利尼西亚,1,0 +159,0,皮特凯恩岛,1,0 +160,0,瓦利斯与富图纳,1,0 +161,0,纽埃,1,0 +162,0,托克劳,1,0 +163,0,美属萨摩亚,1,0 +164,0,北马里亚纳,1,0 +165,0,加拿大,1,0 +166,0,美国,1,0 +167,0,墨西哥,1,0 +168,0,格陵兰,1,0 +169,0,危地马拉,1,0 +170,0,伯利兹,1,0 +171,0,萨尔瓦多,1,0 +172,0,洪都拉斯,1,0 +173,0,尼加拉瓜,1,0 +174,0,哥斯达黎加,1,0 +175,0,巴拿马,1,0 +176,0,巴哈马,1,0 +177,0,古巴,1,0 +178,0,牙买加,1,0 +179,0,海地,1,0 +180,0,多米尼加共和国,1,0 +181,0,安提瓜和巴布达,1,0 +182,0,圣基茨和尼维斯,1,0 +183,0,多米尼克,1,0 +184,0,圣卢西亚,1,0 +185,0,圣文森特和格林纳丁斯,1,0 +186,0,格林纳达,1,0 +187,0,巴巴多斯,1,0 +188,0,特立尼达和多巴哥,1,0 +189,0,波多黎各,1,0 +190,0,英属维尔京群岛,1,0 +191,0,美属维尔京群岛,1,0 +192,0,安圭拉,1,0 +193,0,蒙特塞拉特岛,1,0 +194,0,瓜德罗普,1,0 +195,0,马提尼克,1,0 +196,0,荷属安的列斯,1,0 +197,0,阿鲁巴,1,0 +198,0,特克斯和凯科斯群岛,1,0 +199,0,开曼群岛,1,0 +200,0,百慕大,1,0 +201,0,哥伦比亚,1,0 +202,0,委内瑞拉,1,0 +203,0,圭亚那,1,0 +204,0,法属圭亚那,1,0 +205,0,苏里南,1,0 +206,0,厄瓜多尔,1,0 +207,0,秘鲁,1,0 +208,0,玻利维亚,1,0 +209,0,巴西,1,0 +210,0,智利,1,0 +211,0,阿根廷,1,0 +212,0,乌拉圭,1,0 +213,0,巴拉圭,1,0 +214,1,北京市,2,0 +215,214,北京市,3,100000 +216,215,东城区,4,0 +217,215,西城区,4,0 +218,215,崇文区,4,0 +219,215,宣武区,4,0 +220,215,朝阳区,4,0 +221,215,丰台区,4,0 +222,215,石景山区,4,0 +223,215,海淀区,4,0 +224,215,门头沟区,4,0 +225,215,房山区,4,0 +226,215,通州区,4,0 +227,215,顺义区,4,0 +228,215,昌平区,4,0 +229,215,大兴区,4,0 +230,215,怀柔区,4,0 +231,215,平谷区,4,0 +232,215,密云县,4,0 +233,215,延庆县,4,0 +234,1,天津市,2,0 +235,234,天津市,3,100000 +236,235,和平区,4,0 +237,235,河东区,4,0 +238,235,河西区,4,0 +239,235,南开区,4,0 +240,235,河北区,4,0 +241,235,红桥区,4,0 +242,235,塘沽区,4,0 +243,235,汉沽区,4,0 +244,235,大港区,4,0 +245,235,东丽区,4,0 +246,235,西青区,4,0 +247,235,津南区,4,0 +248,235,北辰区,4,0 +249,235,武清区,4,0 +250,235,宝坻区,4,0 +251,235,宁河县,4,0 +252,235,静海县,4,0 +253,235,蓟县,4,0 +254,1,河北省,2,0 +255,254,石家庄市,3,50000 +256,255,长安区,4,0 +257,255,桥东区,4,0 +258,255,桥西区,4,0 +259,255,新华区,4,0 +260,255,井陉矿区,4,0 +261,255,裕华区,4,0 +262,255,井陉县,4,0 +263,255,正定县,4,0 +264,255,栾城县,4,0 +265,255,行唐县,4,0 +266,255,灵寿县,4,0 +267,255,高邑县,4,0 +268,255,深泽县,4,0 +269,255,赞皇县,4,0 +270,255,无极县,4,0 +271,255,平山县,4,0 +272,255,元氏县,4,0 +273,255,赵县,4,0 +274,255,辛集市,4,0 +275,255,藁城市,4,0 +276,255,晋州市,4,0 +277,255,新乐市,4,0 +278,255,鹿泉市,4,0 +279,254,唐山市,3,63000 +280,279,路南区,4,0 +281,279,路北区,4,0 +282,279,古冶区,4,0 +283,279,开平区,4,0 +284,279,丰南区,4,0 +285,279,丰润区,4,0 +286,279,滦县,4,0 +287,279,滦南县,4,0 +288,279,乐亭县,4,0 +289,279,迁西县,4,0 +290,279,玉田县,4,0 +291,279,唐海县,4,0 +292,279,遵化市,4,0 +293,279,迁安市,4,0 +294,254,秦皇岛市,3,66000 +295,294,海港区,4,0 +296,294,山海关区,4,0 +297,294,北戴河区,4,0 +298,294,青龙满族自治县,4,0 +299,294,昌黎县,4,0 +300,294,抚宁县,4,0 +301,294,卢龙县,4,0 +302,254,邯郸市,3,56000 +303,302,邯山区,4,0 +304,302,丛台区,4,0 +305,302,复兴区,4,0 +306,302,峰峰矿区,4,0 +307,302,邯郸县,4,0 +308,302,临漳县,4,0 +309,302,成安县,4,0 +310,302,大名县,4,0 +311,302,涉县,4,0 +312,302,磁县,4,0 +313,302,肥乡县,4,0 +314,302,永年县,4,0 +315,302,邱县,4,0 +316,302,鸡泽县,4,0 +317,302,广平县,4,0 +318,302,馆陶县,4,0 +319,302,魏县,4,0 +320,302,曲周县,4,0 +321,302,武安市,4,0 +322,254,邢台市,3,54000 +323,322,邢台县,4,0 +324,322,临城县,4,0 +325,322,内丘县,4,0 +326,322,柏乡县,4,0 +327,322,隆尧县,4,0 +328,322,任县,4,0 +329,322,南和县,4,0 +330,322,宁晋县,4,0 +331,322,巨鹿县,4,0 +332,322,新河县,4,0 +333,322,广宗县,4,0 +334,322,平乡县,4,0 +335,322,威县,4,0 +336,322,清河县,4,0 +337,322,临西县,4,0 +338,322,南宫市,4,0 +339,322,沙河市,4,0 +340,254,保定市,3,71000 +341,340,新市区,4,0 +342,340,北市区,4,0 +343,340,南市区,4,0 +344,340,满城县,4,0 +345,340,清苑县,4,0 +346,340,涞水县,4,0 +347,340,阜平县,4,0 +348,340,徐水县,4,0 +349,340,定兴县,4,0 +350,340,唐县,4,0 +351,340,高阳县,4,0 +352,340,容城县,4,0 +353,340,涞源县,4,0 +354,340,望都县,4,0 +355,340,安新县,4,0 +356,340,易县,4,0 +357,340,曲阳县,4,0 +358,340,蠡县,4,0 +359,340,顺平县,4,0 +360,340,博野县,4,0 +361,340,雄县,4,0 +362,340,涿州市,4,0 +363,340,定州市,4,0 +364,340,安国市,4,0 +365,340,高碑店市,4,0 +366,254,张家口市,3,75000 +367,366,宣化区,4,0 +368,366,下花园区,4,0 +369,366,宣化县,4,0 +370,366,张北县,4,0 +371,366,康保县,4,0 +372,366,沽源县,4,0 +373,366,尚义县,4,0 +374,366,蔚县,4,0 +375,366,阳原县,4,0 +376,366,怀安县,4,0 +377,366,万全县,4,0 +378,366,怀来县,4,0 +379,366,涿鹿县,4,0 +380,366,赤城县,4,0 +381,366,崇礼县,4,0 +382,254,承德市,3,67000 +383,382,双桥区,4,0 +384,382,双滦区,4,0 +385,382,鹰手营子矿区,4,0 +386,382,承德县,4,0 +387,382,兴隆县,4,0 +388,382,平泉县,4,0 +389,382,滦平县,4,0 +390,382,隆化县,4,0 +391,382,丰宁满族自治县,4,0 +392,382,宽城满族自治县,4,0 +393,382,围场满族蒙古族自治县,4,0 +394,254,沧州市,3,61000 +395,394,运河区,4,0 +396,394,沧县,4,0 +397,394,青县,4,0 +398,394,东光县,4,0 +399,394,海兴县,4,0 +400,394,盐山县,4,0 +401,394,肃宁县,4,0 +402,394,南皮县,4,0 +403,394,吴桥县,4,0 +404,394,献县,4,0 +405,394,孟村回族自治县,4,0 +406,394,泊头市,4,0 +407,394,任丘市,4,0 +408,394,黄骅市,4,0 +409,394,河间市,4,0 +410,254,廊坊市,3,65000 +411,410,安次区,4,0 +412,410,广阳区,4,0 +413,410,固安县,4,0 +414,410,永清县,4,0 +415,410,香河县,4,0 +416,410,大城县,4,0 +417,410,文安县,4,0 +418,410,大厂回族自治县,4,0 +419,410,霸州市,4,0 +420,410,三河市,4,0 +421,254,衡水市,3,53000 +422,421,桃城区,4,0 +423,421,枣强县,4,0 +424,421,武邑县,4,0 +425,421,武强县,4,0 +426,421,饶阳县,4,0 +427,421,安平县,4,0 +428,421,故城县,4,0 +429,421,景县,4,0 +430,421,阜城县,4,0 +431,421,冀州市,4,0 +432,421,深州市,4,0 +433,1,山西省,2,0 +434,433,太原市,3,30000 +435,434,小店区,4,0 +436,434,迎泽区,4,0 +437,434,杏花岭区,4,0 +438,434,尖草坪区,4,0 +439,434,万柏林区,4,0 +440,434,晋源区,4,0 +441,434,清徐县,4,0 +442,434,阳曲县,4,0 +443,434,娄烦县,4,0 +444,434,古交市,4,0 +445,433,大同市,3,37000 +446,445,城区,4,0 +447,445,矿区,4,0 +448,445,南郊区,4,0 +449,445,新荣区,4,0 +450,445,阳高县,4,0 +451,445,天镇县,4,0 +452,445,广灵县,4,0 +453,445,灵丘县,4,0 +454,445,浑源县,4,0 +455,445,左云县,4,0 +456,445,大同县,4,0 +457,433,阳泉市,3,45000 +458,457,郊区,4,0 +459,457,平定县,4,0 +460,457,盂县,4,0 +461,433,长治市,3,46000 +462,461,长治县,4,0 +463,461,襄垣县,4,0 +464,461,屯留县,4,0 +465,461,平顺县,4,0 +466,461,黎城县,4,0 +467,461,壶关县,4,0 +468,461,长子县,4,0 +469,461,武乡县,4,0 +470,461,沁县,4,0 +471,461,沁源县,4,0 +472,461,潞城市,4,0 +473,433,晋城市,3,48000 +474,473,沁水县,4,0 +475,473,阳城县,4,0 +476,473,陵川县,4,0 +477,473,泽州县,4,0 +478,473,高平市,4,0 +479,433,朔州市,3,36000 +480,479,朔城区,4,0 +481,479,平鲁区,4,0 +482,479,山阴县,4,0 +483,479,应县,4,0 +484,479,右玉县,4,0 +485,479,怀仁县,4,0 +486,433,晋中市,3,30600 +487,486,榆次区,4,0 +488,486,榆社县,4,0 +489,486,左权县,4,0 +490,486,和顺县,4,0 +491,486,昔阳县,4,0 +492,486,寿阳县,4,0 +493,486,太谷县,4,0 +494,486,祁县,4,0 +495,486,平遥县,4,0 +496,486,灵石县,4,0 +497,486,介休市,4,0 +498,433,运城市,3,44000 +499,498,盐湖区,4,0 +500,498,临猗县,4,0 +501,498,万荣县,4,0 +502,498,闻喜县,4,0 +503,498,稷山县,4,0 +504,498,新绛县,4,0 +505,498,绛县,4,0 +506,498,垣曲县,4,0 +507,498,夏县,4,0 +508,498,平陆县,4,0 +509,498,芮城县,4,0 +510,498,永济市,4,0 +511,498,河津市,4,0 +512,433,忻州市,3,34000 +513,512,忻府区,4,0 +514,512,定襄县,4,0 +515,512,五台县,4,0 +516,512,代县,4,0 +517,512,繁峙县,4,0 +518,512,宁武县,4,0 +519,512,静乐县,4,0 +520,512,神池县,4,0 +521,512,五寨县,4,0 +522,512,岢岚县,4,0 +523,512,河曲县,4,0 +524,512,保德县,4,0 +525,512,偏关县,4,0 +526,512,原平市,4,0 +527,433,临汾市,3,41000 +528,527,尧都区,4,0 +529,527,曲沃县,4,0 +530,527,翼城县,4,0 +531,527,襄汾县,4,0 +532,527,洪洞县,4,0 +533,527,古县,4,0 +534,527,安泽县,4,0 +535,527,浮山县,4,0 +536,527,吉县,4,0 +537,527,乡宁县,4,0 +538,527,大宁县,4,0 +539,527,隰县,4,0 +540,527,永和县,4,0 +541,527,蒲县,4,0 +542,527,汾西县,4,0 +543,527,侯马市,4,0 +544,527,霍州市,4,0 +545,433,吕梁市,3,30500 +546,545,离石区,4,0 +547,545,文水县,4,0 +548,545,交城县,4,0 +549,545,兴县,4,0 +550,545,临县,4,0 +551,545,柳林县,4,0 +552,545,石楼县,4,0 +553,545,岚县,4,0 +554,545,方山县,4,0 +555,545,中阳县,4,0 +556,545,交口县,4,0 +557,545,孝义市,4,0 +558,545,汾阳市,4,0 +559,1,内蒙古自治区,2,0 +560,559,呼和浩特市,3,10000 +561,560,新城区,4,0 +562,560,回民区,4,0 +563,560,玉泉区,4,0 +564,560,赛罕区,4,0 +565,560,土默特左旗,4,0 +566,560,托克托县,4,0 +567,560,和林格尔县,4,0 +568,560,清水河县,4,0 +569,560,武川县,4,0 +570,559,包头市,3,14000 +571,570,东河区,4,0 +572,570,昆都仑区,4,0 +573,570,青山区,4,0 +574,570,石拐区,4,0 +575,570,白云矿区,4,0 +576,570,九原区,4,0 +577,570,土默特右旗,4,0 +578,570,固阳县,4,0 +579,570,达尔罕茂明安联合旗,4,0 +580,559,乌海市,3,16000 +581,580,海勃湾区,4,0 +582,580,海南区,4,0 +583,580,乌达区,4,0 +584,559,赤峰市,3,24000 +585,584,红山区,4,0 +586,584,元宝山区,4,0 +587,584,松山区,4,0 +588,584,阿鲁科尔沁旗,4,0 +589,584,巴林左旗,4,0 +590,584,巴林右旗,4,0 +591,584,林西县,4,0 +592,584,克什克腾旗,4,0 +593,584,翁牛特旗,4,0 +594,584,喀喇沁旗,4,0 +595,584,宁城县,4,0 +596,584,敖汉旗,4,0 +597,559,通辽市,3,28000 +598,597,科尔沁区,4,0 +599,597,科尔沁左翼中旗,4,0 +600,597,科尔沁左翼后旗,4,0 +601,597,开鲁县,4,0 +602,597,库伦旗,4,0 +603,597,奈曼旗,4,0 +604,597,扎鲁特旗,4,0 +605,597,霍林郭勒市,4,0 +606,559,鄂尔多斯市,3,10300 +607,606,东胜区,4,0 +608,606,达拉特旗,4,0 +609,606,准格尔旗,4,0 +610,606,鄂托克前旗,4,0 +611,606,鄂托克旗,4,0 +612,606,杭锦旗,4,0 +613,606,乌审旗,4,0 +614,606,伊金霍洛旗,4,0 +615,559,呼伦贝尔市,3,21000 +616,615,海拉尔区,4,0 +617,615,阿荣旗,4,0 +618,615,莫力达瓦达斡尔族自治旗,4,0 +619,615,鄂伦春自治旗,4,0 +620,615,鄂温克族自治旗,4,0 +621,615,陈巴尔虎旗,4,0 +622,615,新巴尔虎左旗,4,0 +623,615,新巴尔虎右旗,4,0 +624,615,满洲里市,4,0 +625,615,牙克石市,4,0 +626,615,扎兰屯市,4,0 +627,615,额尔古纳市,4,0 +628,615,根河市,4,0 +629,559,巴彦淖尔市,3,14400 +630,629,临河区,4,0 +631,629,五原县,4,0 +632,629,磴口县,4,0 +633,629,乌拉特前旗,4,0 +634,629,乌拉特中旗,4,0 +635,629,乌拉特后旗,4,0 +636,629,杭锦后旗,4,0 +637,559,乌兰察布市,3,11800 +638,637,集宁区,4,0 +639,637,卓资县,4,0 +640,637,化德县,4,0 +641,637,商都县,4,0 +642,637,兴和县,4,0 +643,637,凉城县,4,0 +644,637,察哈尔右翼前旗,4,0 +645,637,察哈尔右翼中旗,4,0 +646,637,察哈尔右翼后旗,4,0 +647,637,四子王旗,4,0 +648,637,丰镇市,4,0 +649,559,兴安盟,3,137500 +650,649,乌兰浩特市,4,0 +651,649,阿尔山市,4,0 +652,649,科尔沁右翼前旗,4,0 +653,649,科尔沁右翼中旗,4,0 +654,649,扎赉特旗,4,0 +655,649,突泉县,4,0 +656,559,锡林郭勒盟,3,11100 +657,656,二连浩特市,4,0 +658,656,锡林浩特市,4,0 +659,656,阿巴嘎旗,4,0 +660,656,苏尼特左旗,4,0 +661,656,苏尼特右旗,4,0 +662,656,东乌珠穆沁旗,4,0 +663,656,西乌珠穆沁旗,4,0 +664,656,太仆寺旗,4,0 +665,656,镶黄旗,4,0 +666,656,正镶白旗,4,0 +667,656,正蓝旗,4,0 +668,656,多伦县,4,0 +669,559,阿拉善盟,3,16000 +670,669,阿拉善左旗,4,0 +671,669,阿拉善右旗,4,0 +672,669,额济纳旗,4,0 +673,1,辽宁省,2,0 +674,673,沈阳市,3,110000 +675,674,沈河区,4,0 +676,674,大东区,4,0 +677,674,皇姑区,4,0 +678,674,铁西区,4,0 +679,674,苏家屯区,4,0 +680,674,东陵区,4,0 +681,674,新城子区,4,0 +682,674,于洪区,4,0 +683,674,辽中县,4,0 +684,674,康平县,4,0 +685,674,法库县,4,0 +686,674,新民市,4,0 +687,673,大连市,3,116000 +688,687,中山区,4,0 +689,687,西岗区,4,0 +690,687,沙河口区,4,0 +691,687,甘井子区,4,0 +692,687,旅顺口区,4,0 +693,687,金州区,4,0 +694,687,长海县,4,0 +695,687,瓦房店市,4,0 +696,687,普兰店市,4,0 +697,687,庄河市,4,0 +698,673,鞍山市,3,114000 +699,698,铁东区,4,0 +700,698,立山区,4,0 +701,698,千山区,4,0 +702,698,台安县,4,0 +703,698,岫岩满族自治县,4,0 +704,698,海城市,4,0 +705,673,抚顺市,3,113000 +706,705,新抚区,4,0 +707,705,东洲区,4,0 +708,705,望花区,4,0 +709,705,顺城区,4,0 +710,705,抚顺县,4,0 +711,705,新宾满族自治县,4,0 +712,705,清原满族自治县,4,0 +713,673,本溪市,3,117000 +714,713,平山区,4,0 +715,713,溪湖区,4,0 +716,713,明山区,4,0 +717,713,南芬区,4,0 +718,713,本溪满族自治县,4,0 +719,713,桓仁满族自治县,4,0 +720,673,丹东市,3,118000 +721,720,元宝区,4,0 +722,720,振兴区,4,0 +723,720,振安区,4,0 +724,720,宽甸满族自治县,4,0 +725,720,东港市,4,0 +726,720,凤城市,4,0 +727,673,锦州市,3,121000 +728,727,古塔区,4,0 +729,727,凌河区,4,0 +730,727,太和区,4,0 +731,727,黑山县,4,0 +732,727,义县,4,0 +733,727,凌海市,4,0 +734,727,北宁市,4,0 +735,673,营口市,3,115000 +736,735,站前区,4,0 +737,735,西市区,4,0 +738,735,鲅鱼圈区,4,0 +739,735,老边区,4,0 +740,735,盖州市,4,0 +741,735,大石桥市,4,0 +742,673,阜新市,3,123000 +743,742,海州区,4,0 +744,742,新邱区,4,0 +745,742,太平区,4,0 +746,742,清河门区,4,0 +747,742,细河区,4,0 +748,742,阜新蒙古族自治县,4,0 +749,742,彰武县,4,0 +750,673,辽阳市,3,111000 +751,750,白塔区,4,0 +752,750,文圣区,4,0 +753,750,宏伟区,4,0 +754,750,弓长岭区,4,0 +755,750,太子河区,4,0 +756,750,辽阳县,4,0 +757,750,灯塔市,4,0 +758,673,盘锦市,3,124000 +759,758,双台子区,4,0 +760,758,兴隆台区,4,0 +761,758,大洼县,4,0 +762,758,盘山县,4,0 +763,673,铁岭市,3,112000 +764,763,银州区,4,0 +765,763,清河区,4,0 +766,763,铁岭县,4,0 +767,763,西丰县,4,0 +768,763,昌图县,4,0 +769,763,调兵山市,4,0 +770,763,开原市,4,0 +771,673,朝阳市,3,122000 +772,771,双塔区,4,0 +773,771,龙城区,4,0 +774,771,朝阳县,4,0 +775,771,建平县,4,0 +776,771,喀喇沁左翼蒙古族自治县,4,0 +777,771,北票市,4,0 +778,771,凌源市,4,0 +779,673,葫芦岛市,3,125000 +780,779,连山区,4,0 +781,779,龙港区,4,0 +782,779,南票区,4,0 +783,779,绥中县,4,0 +784,779,建昌县,4,0 +785,779,兴城市,4,0 +786,1,吉林省,2,0 +787,786,长春市,3,130000 +788,787,南关区,4,0 +789,787,宽城区,4,0 +790,787,二道区,4,0 +791,787,绿园区,4,0 +792,787,双阳区,4,0 +793,787,农安县,4,0 +794,787,九台市,4,0 +795,787,榆树市,4,0 +796,787,德惠市,4,0 +797,786,吉林市,3,132000 +798,797,昌邑区,4,0 +799,797,龙潭区,4,0 +800,797,船营区,4,0 +801,797,丰满区,4,0 +802,797,永吉县,4,0 +803,797,蛟河市,4,0 +804,797,桦甸市,4,0 +805,797,舒兰市,4,0 +806,797,磐石市,4,0 +807,786,四平市,3,136000 +808,807,梨树县,4,0 +809,807,伊通满族自治县,4,0 +810,807,公主岭市,4,0 +811,807,双辽市,4,0 +812,786,辽源市,3,136200 +813,812,龙山区,4,0 +814,812,西安区,4,0 +815,812,东丰县,4,0 +816,812,东辽县,4,0 +817,786,通化市,3,134000 +818,817,东昌区,4,0 +819,817,二道江区,4,0 +820,817,通化县,4,0 +821,817,辉南县,4,0 +822,817,柳河县,4,0 +823,817,梅河口市,4,0 +824,817,集安市,4,0 +825,786,白山市,3,134300 +826,825,八道江区,4,0 +827,825,抚松县,4,0 +828,825,靖宇县,4,0 +829,825,长白朝鲜族自治县,4,0 +830,825,江源县,4,0 +831,825,临江市,4,0 +832,786,松原市,3,131100 +833,832,宁江区,4,0 +834,832,前郭尔罗斯蒙古族自治县,4,0 +835,832,长岭县,4,0 +836,832,乾安县,4,0 +837,832,扶余县,4,0 +838,786,白城市,3,137000 +839,838,洮北区,4,0 +840,838,镇赉县,4,0 +841,838,通榆县,4,0 +842,838,洮南市,4,0 +843,838,大安市,4,0 +844,786,延边朝鲜族自治州,3,133000 +845,844,延吉市,4,0 +846,844,图们市,4,0 +847,844,敦化市,4,0 +848,844,珲春市,4,0 +849,844,龙井市,4,0 +850,844,和龙市,4,0 +851,844,汪清县,4,0 +852,844,安图县,4,0 +853,1,黑龙江省,2,0 +854,853,哈尔滨市,3,150000 +855,854,道里区,4,0 +856,854,南岗区,4,0 +857,854,道外区,4,0 +858,854,香坊区,4,0 +859,854,动力区,4,0 +860,854,平房区,4,0 +861,854,松北区,4,0 +862,854,呼兰区,4,0 +863,854,依兰县,4,0 +864,854,方正县,4,0 +865,854,宾县,4,0 +866,854,巴彦县,4,0 +867,854,木兰县,4,0 +868,854,通河县,4,0 +869,854,延寿县,4,0 +870,854,阿城市,4,0 +871,854,双城市,4,0 +872,854,尚志市,4,0 +873,854,五常市,4,0 +874,853,齐齐哈尔市,3,161000 +875,874,龙沙区,4,0 +876,874,建华区,4,0 +877,874,铁锋区,4,0 +878,874,昂昂溪区,4,0 +879,874,富拉尔基区,4,0 +880,874,碾子山区,4,0 +881,874,梅里斯达斡尔族区,4,0 +882,874,龙江县,4,0 +883,874,依安县,4,0 +884,874,泰来县,4,0 +885,874,甘南县,4,0 +886,874,富裕县,4,0 +887,874,克山县,4,0 +888,874,克东县,4,0 +889,874,拜泉县,4,0 +890,874,讷河市,4,0 +891,853,鸡西市,3,158100 +892,891,鸡冠区,4,0 +893,891,恒山区,4,0 +894,891,滴道区,4,0 +895,891,梨树区,4,0 +896,891,城子河区,4,0 +897,891,麻山区,4,0 +898,891,鸡东县,4,0 +899,891,虎林市,4,0 +900,891,密山市,4,0 +901,853,鹤岗市,3,154100 +902,901,向阳区,4,0 +903,901,工农区,4,0 +904,901,南山区,4,0 +905,901,兴安区,4,0 +906,901,东山区,4,0 +907,901,兴山区,4,0 +908,901,萝北县,4,0 +909,901,绥滨县,4,0 +910,853,双鸭山市,3,155100 +911,910,尖山区,4,0 +912,910,岭东区,4,0 +913,910,四方台区,4,0 +914,910,宝山区,4,0 +915,910,集贤县,4,0 +916,910,友谊县,4,0 +917,910,宝清县,4,0 +918,910,饶河县,4,0 +919,853,大庆市,3,163000 +920,919,萨尔图区,4,0 +921,919,龙凤区,4,0 +922,919,让胡路区,4,0 +923,919,红岗区,4,0 +924,919,大同区,4,0 +925,919,肇州县,4,0 +926,919,肇源县,4,0 +927,919,林甸县,4,0 +928,919,杜尔伯特蒙古族自治县,4,0 +929,853,伊春市,3,152300 +930,929,伊春区,4,0 +931,929,南岔区,4,0 +932,929,友好区,4,0 +933,929,西林区,4,0 +934,929,翠峦区,4,0 +935,929,新青区,4,0 +936,929,美溪区,4,0 +937,929,金山屯区,4,0 +938,929,五营区,4,0 +939,929,乌马河区,4,0 +940,929,汤旺河区,4,0 +941,929,带岭区,4,0 +942,929,乌伊岭区,4,0 +943,929,红星区,4,0 +944,929,上甘岭区,4,0 +945,929,嘉荫县,4,0 +946,929,铁力市,4,0 +947,853,佳木斯市,3,154000 +948,947,永红区,4,0 +949,947,前进区,4,0 +950,947,东风区,4,0 +951,947,桦南县,4,0 +952,947,桦川县,4,0 +953,947,汤原县,4,0 +954,947,抚远县,4,0 +955,947,同江市,4,0 +956,947,富锦市,4,0 +957,853,七台河市,3,154600 +958,957,新兴区,4,0 +959,957,桃山区,4,0 +960,957,茄子河区,4,0 +961,957,勃利县,4,0 +962,853,牡丹江市,3,157000 +963,962,东安区,4,0 +964,962,阳明区,4,0 +965,962,爱民区,4,0 +966,962,东宁县,4,0 +967,962,林口县,4,0 +968,962,绥芬河市,4,0 +969,962,海林市,4,0 +970,962,宁安市,4,0 +971,962,穆棱市,4,0 +972,853,黑河市,3,164300 +973,972,爱辉区,4,0 +974,972,嫩江县,4,0 +975,972,逊克县,4,0 +976,972,孙吴县,4,0 +977,972,北安市,4,0 +978,972,五大连池市,4,0 +979,853,绥化市,3,152000 +980,979,北林区,4,0 +981,979,望奎县,4,0 +982,979,兰西县,4,0 +983,979,青冈县,4,0 +984,979,庆安县,4,0 +985,979,明水县,4,0 +986,979,绥棱县,4,0 +987,979,安达市,4,0 +988,979,肇东市,4,0 +989,979,海伦市,4,0 +990,853,大兴安岭地区,3,165000 +991,990,呼玛县,4,0 +992,990,塔河县,4,0 +993,990,漠河县,4,0 +994,1,上海市,2,0 +995,994,上海市,3,200000 +996,995,黄浦区,4,0 +997,995,卢湾区,4,0 +998,995,徐汇区,4,0 +999,995,长宁区,4,0 +1000,995,静安区,4,0 +1001,995,普陀区,4,0 +1002,995,闸北区,4,0 +1003,995,虹口区,4,0 +1004,995,杨浦区,4,0 +1005,995,闵行区,4,0 +1006,995,嘉定区,4,0 +1007,995,浦东新区,4,0 +1008,995,金山区,4,0 +1009,995,松江区,4,0 +1010,995,青浦区,4,0 +1011,995,南汇区,4,0 +1012,995,奉贤区,4,0 +1013,995,崇明县,4,0 +1014,1,江苏省,2,0 +1015,1014,南京市,3,210000 +1016,1015,玄武区,4,0 +1017,1015,白下区,4,0 +1018,1015,秦淮区,4,0 +1019,1015,建邺区,4,0 +1020,1015,鼓楼区,4,0 +1021,1015,下关区,4,0 +1022,1015,浦口区,4,0 +1023,1015,栖霞区,4,0 +1024,1015,雨花台区,4,0 +1025,1015,江宁区,4,0 +1026,1015,六合区,4,0 +1027,1015,溧水县,4,0 +1028,1015,高淳县,4,0 +1029,1014,无锡市,3,214000 +1030,1029,崇安区,4,0 +1031,1029,南长区,4,0 +1032,1029,北塘区,4,0 +1033,1029,锡山区,4,0 +1034,1029,惠山区,4,0 +1035,1029,滨湖区,4,0 +1036,1029,江阴市,4,0 +1037,1029,宜兴市,4,0 +1038,1014,徐州市,3,221000 +1039,1038,云龙区,4,0 +1040,1038,九里区,4,0 +1041,1038,贾汪区,4,0 +1042,1038,泉山区,4,0 +1043,1038,丰县,4,0 +1044,1038,沛县,4,0 +1045,1038,铜山县,4,0 +1046,1038,睢宁县,4,0 +1047,1038,新沂市,4,0 +1048,1038,邳州市,4,0 +1049,1014,常州市,3,213000 +1050,1049,天宁区,4,0 +1051,1049,钟楼区,4,0 +1052,1049,戚墅堰区,4,0 +1053,1049,新北区,4,0 +1054,1049,武进区,4,0 +1055,1049,溧阳市,4,0 +1056,1049,金坛市,4,0 +1057,1014,苏州市,3,215000 +1058,1057,沧浪区,4,0 +1059,1057,平江区,4,0 +1060,1057,金阊区,4,0 +1061,1057,虎丘区,4,0 +1062,1057,吴中区,4,0 +1063,1057,相城区,4,0 +1064,1057,常熟市,4,0 +1065,1057,张家港市,4,0 +1066,1057,昆山市,4,0 +1067,1057,吴江市,4,0 +1068,1057,太仓市,4,0 +1069,1014,南通市,3,226000 +1070,1069,崇川区,4,0 +1071,1069,港闸区,4,0 +1072,1069,海安县,4,0 +1073,1069,如东县,4,0 +1074,1069,启东市,4,0 +1075,1069,如皋市,4,0 +1076,1069,通州市,4,0 +1077,1069,海门市,4,0 +1078,1014,连云港市,3,222000 +1079,1078,连云区,4,0 +1080,1078,新浦区,4,0 +1081,1078,赣榆县,4,0 +1082,1078,东海县,4,0 +1083,1078,灌云县,4,0 +1084,1078,灌南县,4,0 +1085,1014,淮安市,3,223200 +1086,1085,楚州区,4,0 +1087,1085,淮阴区,4,0 +1088,1085,清浦区,4,0 +1089,1085,涟水县,4,0 +1090,1085,洪泽县,4,0 +1091,1085,盱眙县,4,0 +1092,1085,金湖县,4,0 +1093,1014,盐城市,3,224000 +1094,1093,亭湖区,4,0 +1095,1093,盐都区,4,0 +1096,1093,响水县,4,0 +1097,1093,滨海县,4,0 +1098,1093,阜宁县,4,0 +1099,1093,射阳县,4,0 +1100,1093,建湖县,4,0 +1101,1093,东台市,4,0 +1102,1093,大丰市,4,0 +1103,1014,扬州市,3,225000 +1104,1103,广陵区,4,0 +1105,1103,邗江区,4,0 +1106,1103,维扬区,4,0 +1107,1103,宝应县,4,0 +1108,1103,仪征市,4,0 +1109,1103,高邮市,4,0 +1110,1103,江都市,4,0 +1111,1014,镇江市,3,212000 +1112,1111,京口区,4,0 +1113,1111,润州区,4,0 +1114,1111,丹徒区,4,0 +1115,1111,丹阳市,4,0 +1116,1111,扬中市,4,0 +1117,1111,句容市,4,0 +1118,1014,泰州市,3,225300 +1119,1118,海陵区,4,0 +1120,1118,高港区,4,0 +1121,1118,兴化市,4,0 +1122,1118,靖江市,4,0 +1123,1118,泰兴市,4,0 +1124,1118,姜堰市,4,0 +1125,1014,宿迁市,3,223800 +1126,1125,宿城区,4,0 +1127,1125,宿豫区,4,0 +1128,1125,沭阳县,4,0 +1129,1125,泗阳县,4,0 +1130,1125,泗洪县,4,0 +1131,1,浙江省,2,0 +1132,1131,杭州市,3,310000 +1133,1132,上城区,4,0 +1134,1132,下城区,4,0 +1135,1132,江干区,4,0 +1136,1132,拱墅区,4,0 +1137,1132,西湖区,4,0 +1138,1132,滨江区,4,0 +1139,1132,萧山区,4,0 +1140,1132,余杭区,4,0 +1141,1132,桐庐县,4,0 +1142,1132,淳安县,4,0 +1143,1132,建德市,4,0 +1144,1132,富阳市,4,0 +1145,1132,临安市,4,0 +1146,1131,宁波市,3,315000 +1147,1146,海曙区,4,0 +1148,1146,江东区,4,0 +1149,1146,江北区,4,0 +1150,1146,北仑区,4,0 +1151,1146,镇海区,4,0 +1152,1146,鄞州区,4,0 +1153,1146,象山县,4,0 +1154,1146,宁海县,4,0 +1155,1146,余姚市,4,0 +1156,1146,慈溪市,4,0 +1157,1146,奉化市,4,0 +1158,1131,温州市,3,325000 +1159,1158,鹿城区,4,0 +1160,1158,龙湾区,4,0 +1161,1158,瓯海区,4,0 +1162,1158,洞头县,4,0 +1163,1158,永嘉县,4,0 +1164,1158,平阳县,4,0 +1165,1158,苍南县,4,0 +1166,1158,文成县,4,0 +1167,1158,泰顺县,4,0 +1168,1158,瑞安市,4,0 +1169,1158,乐清市,4,0 +1170,1131,嘉兴市,3,314000 +1171,1170,秀城区,4,0 +1172,1170,秀洲区,4,0 +1173,1170,嘉善县,4,0 +1174,1170,海盐县,4,0 +1175,1170,海宁市,4,0 +1176,1170,平湖市,4,0 +1177,1170,桐乡市,4,0 +1178,1131,湖州市,3,313000 +1179,1178,吴兴区,4,0 +1180,1178,南浔区,4,0 +1181,1178,德清县,4,0 +1182,1178,长兴县,4,0 +1183,1178,安吉县,4,0 +1184,1131,绍兴市,3,312000 +1185,1184,越城区,4,0 +1186,1184,绍兴县,4,0 +1187,1184,新昌县,4,0 +1188,1184,诸暨市,4,0 +1189,1184,上虞市,4,0 +1190,1184,嵊州市,4,0 +1191,1131,金华市,3,321000 +1192,1191,婺城区,4,0 +1193,1191,金东区,4,0 +1194,1191,武义县,4,0 +1195,1191,浦江县,4,0 +1196,1191,磐安县,4,0 +1197,1191,兰溪市,4,0 +1198,1191,义乌市,4,0 +1199,1191,东阳市,4,0 +1200,1191,永康市,4,0 +1201,1131,衢州市,3,324000 +1202,1201,柯城区,4,0 +1203,1201,衢江区,4,0 +1204,1201,常山县,4,0 +1205,1201,开化县,4,0 +1206,1201,龙游县,4,0 +1207,1201,江山市,4,0 +1208,1131,舟山市,3,316000 +1209,1208,定海区,4,0 +1210,1208,岱山县,4,0 +1211,1208,嵊泗县,4,0 +1212,1131,台州市,3,318000 +1213,1212,椒江区,4,0 +1214,1212,黄岩区,4,0 +1215,1212,路桥区,4,0 +1216,1212,玉环县,4,0 +1217,1212,三门县,4,0 +1218,1212,天台县,4,0 +1219,1212,仙居县,4,0 +1220,1212,温岭市,4,0 +1221,1212,临海市,4,0 +1222,1131,丽水市,3,323000 +1223,1222,莲都区,4,0 +1224,1222,青田县,4,0 +1225,1222,缙云县,4,0 +1226,1222,遂昌县,4,0 +1227,1222,松阳县,4,0 +1228,1222,云和县,4,0 +1229,1222,庆元县,4,0 +1230,1222,景宁畲族自治县,4,0 +1231,1222,龙泉市,4,0 +1232,1,安徽省,2,0 +1233,1232,合肥市,3,230000 +1234,1233,瑶海区,4,0 +1235,1233,庐阳区,4,0 +1236,1233,蜀山区,4,0 +1237,1233,包河区,4,0 +1238,1233,长丰县,4,0 +1239,1233,肥东县,4,0 +1240,1233,肥西县,4,0 +1241,1232,芜湖市,3,241000 +1242,1241,镜湖区,4,0 +1243,1241,马塘区,4,0 +1244,1241,新芜区,4,0 +1245,1241,鸠江区,4,0 +1246,1241,芜湖县,4,0 +1247,1241,繁昌县,4,0 +1248,1241,南陵县,4,0 +1249,1232,蚌埠市,3,233000 +1250,1249,龙子湖区,4,0 +1251,1249,蚌山区,4,0 +1252,1249,禹会区,4,0 +1253,1249,淮上区,4,0 +1254,1249,怀远县,4,0 +1255,1249,五河县,4,0 +1256,1249,固镇县,4,0 +1257,1232,淮南市,3,232000 +1258,1257,大通区,4,0 +1259,1257,田家庵区,4,0 +1260,1257,谢家集区,4,0 +1261,1257,八公山区,4,0 +1262,1257,潘集区,4,0 +1263,1257,凤台县,4,0 +1264,1232,马鞍山市,3,243000 +1265,1264,金家庄区,4,0 +1266,1264,花山区,4,0 +1267,1264,雨山区,4,0 +1268,1264,当涂县,4,0 +1269,1232,淮北市,3,235000 +1270,1269,杜集区,4,0 +1271,1269,相山区,4,0 +1272,1269,烈山区,4,0 +1273,1269,濉溪县,4,0 +1274,1232,铜陵市,3,244000 +1275,1274,铜官山区,4,0 +1276,1274,狮子山区,4,0 +1277,1274,铜陵县,4,0 +1278,1232,安庆市,3,246000 +1279,1278,迎江区,4,0 +1280,1278,大观区,4,0 +1281,1278,怀宁县,4,0 +1282,1278,枞阳县,4,0 +1283,1278,潜山县,4,0 +1284,1278,太湖县,4,0 +1285,1278,宿松县,4,0 +1286,1278,望江县,4,0 +1287,1278,岳西县,4,0 +1288,1278,桐城市,4,0 +1289,1232,黄山市,3,242700 +1290,1289,屯溪区,4,0 +1291,1289,黄山区,4,0 +1292,1289,徽州区,4,0 +1293,1289,歙县,4,0 +1294,1289,休宁县,4,0 +1295,1289,黟县,4,0 +1296,1289,祁门县,4,0 +1297,1232,滁州市,3,239000 +1298,1297,琅琊区,4,0 +1299,1297,南谯区,4,0 +1300,1297,来安县,4,0 +1301,1297,全椒县,4,0 +1302,1297,定远县,4,0 +1303,1297,凤阳县,4,0 +1304,1297,天长市,4,0 +1305,1297,明光市,4,0 +1306,1232,阜阳市,3,236100 +1307,1306,颍州区,4,0 +1308,1306,颍东区,4,0 +1309,1306,颍泉区,4,0 +1310,1306,临泉县,4,0 +1311,1306,太和县,4,0 +1312,1306,阜南县,4,0 +1313,1306,颍上县,4,0 +1314,1306,界首市,4,0 +1315,1232,宿州市,3,234100 +1316,1315,埇桥区,4,0 +1317,1315,砀山县,4,0 +1318,1315,萧县,4,0 +1319,1315,灵璧县,4,0 +1320,1315,泗县,4,0 +1321,1232,巢湖市,3,238000 +1322,1321,居巢区,4,0 +1323,1321,庐江县,4,0 +1324,1321,无为县,4,0 +1325,1321,含山县,4,0 +1326,1321,和县,4,0 +1327,1232,六安市,3,237000 +1328,1327,金安区,4,0 +1329,1327,裕安区,4,0 +1330,1327,寿县,4,0 +1331,1327,霍邱县,4,0 +1332,1327,舒城县,4,0 +1333,1327,金寨县,4,0 +1334,1327,霍山县,4,0 +1335,1232,亳州市,3,236800 +1336,1335,谯城区,4,0 +1337,1335,涡阳县,4,0 +1338,1335,蒙城县,4,0 +1339,1335,利辛县,4,0 +1340,1232,池州市,3,247100 +1341,1340,贵池区,4,0 +1342,1340,东至县,4,0 +1343,1340,石台县,4,0 +1344,1340,青阳县,4,0 +1345,1232,宣城市,3,366000 +1346,1345,宣州区,4,0 +1347,1345,郎溪县,4,0 +1348,1345,广德县,4,0 +1349,1345,泾县,4,0 +1350,1345,绩溪县,4,0 +1351,1345,旌德县,4,0 +1352,1345,宁国市,4,0 +1353,1,福建省,2,0 +1354,1353,福州市,3,350000 +1355,1354,台江区,4,0 +1356,1354,仓山区,4,0 +1357,1354,马尾区,4,0 +1358,1354,晋安区,4,0 +1359,1354,闽侯县,4,0 +1360,1354,连江县,4,0 +1361,1354,罗源县,4,0 +1362,1354,闽清县,4,0 +1363,1354,永泰县,4,0 +1364,1354,平潭县,4,0 +1365,1354,福清市,4,0 +1366,1354,长乐市,4,0 +1367,1353,厦门市,3,361000 +1368,1367,思明区,4,0 +1369,1367,海沧区,4,0 +1370,1367,湖里区,4,0 +1371,1367,集美区,4,0 +1372,1367,同安区,4,0 +1373,1367,翔安区,4,0 +1374,1353,莆田市,3,351100 +1375,1374,城厢区,4,0 +1376,1374,涵江区,4,0 +1377,1374,荔城区,4,0 +1378,1374,秀屿区,4,0 +1379,1374,仙游县,4,0 +1380,1353,三明市,3,365000 +1381,1380,梅列区,4,0 +1382,1380,三元区,4,0 +1383,1380,明溪县,4,0 +1384,1380,清流县,4,0 +1385,1380,宁化县,4,0 +1386,1380,大田县,4,0 +1387,1380,尤溪县,4,0 +1388,1380,沙县,4,0 +1389,1380,将乐县,4,0 +1390,1380,泰宁县,4,0 +1391,1380,建宁县,4,0 +1392,1380,永安市,4,0 +1393,1353,泉州市,3,362000 +1394,1393,鲤城区,4,0 +1395,1393,丰泽区,4,0 +1396,1393,洛江区,4,0 +1397,1393,泉港区,4,0 +1398,1393,惠安县,4,0 +1399,1393,安溪县,4,0 +1400,1393,永春县,4,0 +1401,1393,德化县,4,0 +1402,1393,金门县,4,0 +1403,1393,石狮市,4,0 +1404,1393,晋江市,4,0 +1405,1393,南安市,4,0 +1406,1353,漳州市,3,363000 +1407,1406,芗城区,4,0 +1408,1406,龙文区,4,0 +1409,1406,云霄县,4,0 +1410,1406,漳浦县,4,0 +1411,1406,诏安县,4,0 +1412,1406,长泰县,4,0 +1413,1406,东山县,4,0 +1414,1406,南靖县,4,0 +1415,1406,平和县,4,0 +1416,1406,华安县,4,0 +1417,1406,龙海市,4,0 +1418,1353,南平市,3,353000 +1419,1418,延平区,4,0 +1420,1418,顺昌县,4,0 +1421,1418,浦城县,4,0 +1422,1418,光泽县,4,0 +1423,1418,松溪县,4,0 +1424,1418,政和县,4,0 +1425,1418,邵武市,4,0 +1426,1418,武夷山市,4,0 +1427,1418,建瓯市,4,0 +1428,1418,建阳市,4,0 +1429,1353,龙岩市,3,364000 +1430,1429,新罗区,4,0 +1431,1429,长汀县,4,0 +1432,1429,永定县,4,0 +1433,1429,上杭县,4,0 +1434,1429,武平县,4,0 +1435,1429,连城县,4,0 +1436,1429,漳平市,4,0 +1437,1353,宁德市,3,352100 +1438,1437,蕉城区,4,0 +1439,1437,霞浦县,4,0 +1440,1437,古田县,4,0 +1441,1437,屏南县,4,0 +1442,1437,寿宁县,4,0 +1443,1437,周宁县,4,0 +1444,1437,柘荣县,4,0 +1445,1437,福安市,4,0 +1446,1437,福鼎市,4,0 +1447,1,江西省,2,0 +1448,1447,南昌市,3,330000 +1449,1448,东湖区,4,0 +1450,1448,青云谱区,4,0 +1451,1448,湾里区,4,0 +1452,1448,青山湖区,4,0 +1453,1448,南昌县,4,0 +1454,1448,新建县,4,0 +1455,1448,安义县,4,0 +1456,1448,进贤县,4,0 +1457,1447,景德镇市,3,333000 +1458,1457,昌江区,4,0 +1459,1457,珠山区,4,0 +1460,1457,浮梁县,4,0 +1461,1457,乐平市,4,0 +1462,1447,萍乡市,3,337000 +1463,1462,安源区,4,0 +1464,1462,湘东区,4,0 +1465,1462,莲花县,4,0 +1466,1462,上栗县,4,0 +1467,1462,芦溪县,4,0 +1468,1447,九江市,3,332000 +1469,1468,庐山区,4,0 +1470,1468,浔阳区,4,0 +1471,1468,九江县,4,0 +1472,1468,武宁县,4,0 +1473,1468,修水县,4,0 +1474,1468,永修县,4,0 +1475,1468,德安县,4,0 +1476,1468,星子县,4,0 +1477,1468,都昌县,4,0 +1478,1468,湖口县,4,0 +1479,1468,彭泽县,4,0 +1480,1468,瑞昌市,4,0 +1481,1447,新余市,3,338000 +1482,1481,渝水区,4,0 +1483,1481,分宜县,4,0 +1484,1447,鹰潭市,3,335000 +1485,1484,月湖区,4,0 +1486,1484,余江县,4,0 +1487,1484,贵溪市,4,0 +1488,1447,赣州市,3,341000 +1489,1488,章贡区,4,0 +1490,1488,赣县,4,0 +1491,1488,信丰县,4,0 +1492,1488,大余县,4,0 +1493,1488,上犹县,4,0 +1494,1488,崇义县,4,0 +1495,1488,安远县,4,0 +1496,1488,龙南县,4,0 +1497,1488,定南县,4,0 +1498,1488,全南县,4,0 +1499,1488,宁都县,4,0 +1500,1488,于都县,4,0 +1501,1488,兴国县,4,0 +1502,1488,会昌县,4,0 +1503,1488,寻乌县,4,0 +1504,1488,石城县,4,0 +1505,1488,瑞金市,4,0 +1506,1488,南康市,4,0 +1507,1447,吉安市,3,343000 +1508,1507,吉州区,4,0 +1509,1507,青原区,4,0 +1510,1507,吉安县,4,0 +1511,1507,吉水县,4,0 +1512,1507,峡江县,4,0 +1513,1507,新干县,4,0 +1514,1507,永丰县,4,0 +1515,1507,泰和县,4,0 +1516,1507,遂川县,4,0 +1517,1507,万安县,4,0 +1518,1507,安福县,4,0 +1519,1507,永新县,4,0 +1520,1507,井冈山市,4,0 +1521,1447,宜春市,3,336000 +1522,1521,袁州区,4,0 +1523,1521,奉新县,4,0 +1524,1521,万载县,4,0 +1525,1521,上高县,4,0 +1526,1521,宜丰县,4,0 +1527,1521,靖安县,4,0 +1528,1521,铜鼓县,4,0 +1529,1521,丰城市,4,0 +1530,1521,樟树市,4,0 +1531,1521,高安市,4,0 +1532,1447,抚州市,3,332900 +1533,1532,临川区,4,0 +1534,1532,南城县,4,0 +1535,1532,黎川县,4,0 +1536,1532,南丰县,4,0 +1537,1532,崇仁县,4,0 +1538,1532,乐安县,4,0 +1539,1532,宜黄县,4,0 +1540,1532,金溪县,4,0 +1541,1532,资溪县,4,0 +1542,1532,东乡县,4,0 +1543,1532,广昌县,4,0 +1544,1447,上饶市,3,334000 +1545,1544,信州区,4,0 +1546,1544,上饶县,4,0 +1547,1544,广丰县,4,0 +1548,1544,玉山县,4,0 +1549,1544,铅山县,4,0 +1550,1544,横峰县,4,0 +1551,1544,弋阳县,4,0 +1552,1544,余干县,4,0 +1553,1544,鄱阳县,4,0 +1554,1544,万年县,4,0 +1555,1544,婺源县,4,0 +1556,1544,德兴市,4,0 +1557,1,山东省,2,0 +1558,1557,济南市,3,250000 +1559,1558,历下区,4,0 +1560,1558,市中区,4,0 +1561,1558,槐荫区,4,0 +1562,1558,天桥区,4,0 +1563,1558,历城区,4,0 +1564,1558,长清区,4,0 +1565,1558,平阴县,4,0 +1566,1558,济阳县,4,0 +1567,1558,商河县,4,0 +1568,1558,章丘市,4,0 +1569,1557,青岛市,3,266000 +1570,1569,市南区,4,0 +1571,1569,市北区,4,0 +1572,1569,四方区,4,0 +1573,1569,黄岛区,4,0 +1574,1569,崂山区,4,0 +1575,1569,李沧区,4,0 +1576,1569,城阳区,4,0 +1577,1569,胶州市,4,0 +1578,1569,即墨市,4,0 +1579,1569,平度市,4,0 +1580,1569,胶南市,4,0 +1581,1569,莱西市,4,0 +1582,1557,淄博市,3,255000 +1583,1582,淄川区,4,0 +1584,1582,张店区,4,0 +1585,1582,博山区,4,0 +1586,1582,临淄区,4,0 +1587,1582,周村区,4,0 +1588,1582,桓台县,4,0 +1589,1582,高青县,4,0 +1590,1582,沂源县,4,0 +1591,1557,枣庄市,3,277100 +1592,1591,薛城区,4,0 +1593,1591,峄城区,4,0 +1594,1591,台儿庄区,4,0 +1595,1591,山亭区,4,0 +1596,1591,滕州市,4,0 +1597,1557,东营市,3,257000 +1598,1597,东营区,4,0 +1599,1597,河口区,4,0 +1600,1597,垦利县,4,0 +1601,1597,利津县,4,0 +1602,1597,广饶县,4,0 +1603,1557,烟台市,3,264000 +1604,1603,芝罘区,4,0 +1605,1603,福山区,4,0 +1606,1603,牟平区,4,0 +1607,1603,莱山区,4,0 +1608,1603,长岛县,4,0 +1609,1603,龙口市,4,0 +1610,1603,莱阳市,4,0 +1611,1603,莱州市,4,0 +1612,1603,蓬莱市,4,0 +1613,1603,招远市,4,0 +1614,1603,栖霞市,4,0 +1615,1603,海阳市,4,0 +1616,1557,潍坊市,3,261000 +1617,1616,潍城区,4,0 +1618,1616,寒亭区,4,0 +1619,1616,坊子区,4,0 +1620,1616,奎文区,4,0 +1621,1616,临朐县,4,0 +1622,1616,昌乐县,4,0 +1623,1616,青州市,4,0 +1624,1616,诸城市,4,0 +1625,1616,寿光市,4,0 +1626,1616,安丘市,4,0 +1627,1616,高密市,4,0 +1628,1616,昌邑市,4,0 +1629,1557,济宁市,3,272100 +1630,1629,任城区,4,0 +1631,1629,微山县,4,0 +1632,1629,鱼台县,4,0 +1633,1629,金乡县,4,0 +1634,1629,嘉祥县,4,0 +1635,1629,汶上县,4,0 +1636,1629,泗水县,4,0 +1637,1629,梁山县,4,0 +1638,1629,曲阜市,4,0 +1639,1629,兖州市,4,0 +1640,1629,邹城市,4,0 +1641,1557,泰安市,3,271000 +1642,1641,泰山区,4,0 +1643,1641,岱岳区,4,0 +1644,1641,宁阳县,4,0 +1645,1641,东平县,4,0 +1646,1641,新泰市,4,0 +1647,1641,肥城市,4,0 +1648,1557,威海市,3,265700 +1649,1648,环翠区,4,0 +1650,1648,文登市,4,0 +1651,1648,荣成市,4,0 +1652,1648,乳山市,4,0 +1653,1557,日照市,3,276800 +1654,1653,东港区,4,0 +1655,1653,岚山区,4,0 +1656,1653,五莲县,4,0 +1657,1653,莒县,4,0 +1658,1557,莱芜市,3,271100 +1659,1658,莱城区,4,0 +1660,1658,钢城区,4,0 +1661,1557,临沂市,3,276000 +1662,1661,兰山区,4,0 +1663,1661,罗庄区,4,0 +1664,1661,沂南县,4,0 +1665,1661,郯城县,4,0 +1666,1661,沂水县,4,0 +1667,1661,苍山县,4,0 +1668,1661,费县,4,0 +1669,1661,平邑县,4,0 +1670,1661,莒南县,4,0 +1671,1661,蒙阴县,4,0 +1672,1661,临沭县,4,0 +1673,1557,德州市,3,253000 +1674,1673,德城区,4,0 +1675,1673,陵县,4,0 +1676,1673,宁津县,4,0 +1677,1673,庆云县,4,0 +1678,1673,临邑县,4,0 +1679,1673,齐河县,4,0 +1680,1673,平原县,4,0 +1681,1673,夏津县,4,0 +1682,1673,武城县,4,0 +1683,1673,乐陵市,4,0 +1684,1673,禹城市,4,0 +1685,1557,聊城市,3,252000 +1686,1685,东昌府区,4,0 +1687,1685,阳谷县,4,0 +1688,1685,莘县,4,0 +1689,1685,茌平县,4,0 +1690,1685,东阿县,4,0 +1691,1685,冠县,4,0 +1692,1685,高唐县,4,0 +1693,1685,临清市,4,0 +1694,1557,滨州市,3,256600 +1695,1694,滨城区,4,0 +1696,1694,惠民县,4,0 +1697,1694,阳信县,4,0 +1698,1694,无棣县,4,0 +1699,1694,沾化县,4,0 +1700,1694,博兴县,4,0 +1701,1694,邹平县,4,0 +1702,1557,菏泽市,3,255000 +1703,1702,牡丹区,4,0 +1704,1702,曹县,4,0 +1705,1702,单县,4,0 +1706,1702,成武县,4,0 +1707,1702,巨野县,4,0 +1708,1702,郓城县,4,0 +1709,1702,鄄城县,4,0 +1710,1702,定陶县,4,0 +1711,1702,东明县,4,0 +1712,1,河南省,2,0 +1713,1712,郑州市,3,450000 +1714,1713,中原区,4,0 +1715,1713,二七区,4,0 +1716,1713,管城回族区,4,0 +1717,1713,金水区,4,0 +1718,1713,上街区,4,0 +1719,1713,惠济区,4,0 +1720,1713,中牟县,4,0 +1721,1713,巩义市,4,0 +1722,1713,荥阳市,4,0 +1723,1713,新密市,4,0 +1724,1713,新郑市,4,0 +1725,1713,登封市,4,0 +1726,1712,开封市,3,475000 +1727,1726,龙亭区,4,0 +1728,1726,顺河回族区,4,0 +1729,1726,杞县,4,0 +1730,1726,通许县,4,0 +1731,1726,尉氏县,4,0 +1732,1726,开封县,4,0 +1733,1726,兰考县,4,0 +1734,1712,洛阳市,3,471000 +1735,1734,老城区,4,0 +1736,1734,西工区,4,0 +1737,1734,廛河回族区,4,0 +1738,1734,涧西区,4,0 +1739,1734,吉利区,4,0 +1740,1734,洛龙区,4,0 +1741,1734,孟津县,4,0 +1742,1734,新安县,4,0 +1743,1734,栾川县,4,0 +1744,1734,嵩县,4,0 +1745,1734,汝阳县,4,0 +1746,1734,宜阳县,4,0 +1747,1734,洛宁县,4,0 +1748,1734,伊川县,4,0 +1749,1734,偃师市,4,0 +1750,1712,平顶山市,3,467000 +1751,1750,卫东区,4,0 +1752,1750,石龙区,4,0 +1753,1750,湛河区,4,0 +1754,1750,宝丰县,4,0 +1755,1750,叶县,4,0 +1756,1750,鲁山县,4,0 +1757,1750,郏县,4,0 +1758,1750,舞钢市,4,0 +1759,1750,汝州市,4,0 +1760,1712,安阳市,3,454900 +1761,1760,文峰区,4,0 +1762,1760,北关区,4,0 +1763,1760,殷都区,4,0 +1764,1760,龙安区,4,0 +1765,1760,安阳县,4,0 +1766,1760,汤阴县,4,0 +1767,1760,滑县,4,0 +1768,1760,内黄县,4,0 +1769,1760,林州市,4,0 +1770,1712,鹤壁市,3,456600 +1771,1770,鹤山区,4,0 +1772,1770,山城区,4,0 +1773,1770,淇滨区,4,0 +1774,1770,浚县,4,0 +1775,1770,淇县,4,0 +1776,1712,新乡市,3,453000 +1777,1776,红旗区,4,0 +1778,1776,卫滨区,4,0 +1779,1776,凤泉区,4,0 +1780,1776,牧野区,4,0 +1781,1776,新乡县,4,0 +1782,1776,获嘉县,4,0 +1783,1776,原阳县,4,0 +1784,1776,延津县,4,0 +1785,1776,封丘县,4,0 +1786,1776,长垣县,4,0 +1787,1776,卫辉市,4,0 +1788,1776,辉县市,4,0 +1789,1712,焦作市,3,454100 +1790,1789,解放区,4,0 +1791,1789,中站区,4,0 +1792,1789,马村区,4,0 +1793,1789,山阳区,4,0 +1794,1789,修武县,4,0 +1795,1789,博爱县,4,0 +1796,1789,武陟县,4,0 +1797,1789,温县,4,0 +1798,1789,济源市,4,0 +1799,1789,沁阳市,4,0 +1800,1789,孟州市,4,0 +1801,1712,濮阳市,3,457000 +1802,1801,华龙区,4,0 +1803,1801,清丰县,4,0 +1804,1801,南乐县,4,0 +1805,1801,范县,4,0 +1806,1801,台前县,4,0 +1807,1801,濮阳县,4,0 +1808,1712,许昌市,3,461000 +1809,1808,魏都区,4,0 +1810,1808,许昌县,4,0 +1811,1808,鄢陵县,4,0 +1812,1808,襄城县,4,0 +1813,1808,禹州市,4,0 +1814,1808,长葛市,4,0 +1815,1712,漯河市,3,462000 +1816,1815,源汇区,4,0 +1817,1815,郾城区,4,0 +1818,1815,召陵区,4,0 +1819,1815,舞阳县,4,0 +1820,1815,临颍县,4,0 +1821,1712,三门峡市,3,472000 +1822,1821,市辖区,4,0 +1823,1821,湖滨区,4,0 +1824,1821,渑池县,4,0 +1825,1821,陕县,4,0 +1826,1821,卢氏县,4,0 +1827,1821,义马市,4,0 +1828,1821,灵宝市,4,0 +1829,1712,南阳市,3,473000 +1830,1829,宛城区,4,0 +1831,1829,卧龙区,4,0 +1832,1829,南召县,4,0 +1833,1829,方城县,4,0 +1834,1829,西峡县,4,0 +1835,1829,镇平县,4,0 +1836,1829,内乡县,4,0 +1837,1829,淅川县,4,0 +1838,1829,社旗县,4,0 +1839,1829,唐河县,4,0 +1840,1829,新野县,4,0 +1841,1829,桐柏县,4,0 +1842,1829,邓州市,4,0 +1843,1712,商丘市,3,476000 +1844,1843,梁园区,4,0 +1845,1843,睢阳区,4,0 +1846,1843,民权县,4,0 +1847,1843,睢县,4,0 +1848,1843,宁陵县,4,0 +1849,1843,柘城县,4,0 +1850,1843,虞城县,4,0 +1851,1843,夏邑县,4,0 +1852,1843,永城市,4,0 +1853,1712,信阳市,3,464000 +1854,1853,浉河区,4,0 +1855,1853,平桥区,4,0 +1856,1853,罗山县,4,0 +1857,1853,光山县,4,0 +1858,1853,新县,4,0 +1859,1853,商城县,4,0 +1860,1853,固始县,4,0 +1861,1853,潢川县,4,0 +1862,1853,淮滨县,4,0 +1863,1853,息县,4,0 +1864,1712,周口市,3,466000 +1865,1864,川汇区,4,0 +1866,1864,扶沟县,4,0 +1867,1864,西华县,4,0 +1868,1864,商水县,4,0 +1869,1864,沈丘县,4,0 +1870,1864,郸城县,4,0 +1871,1864,淮阳县,4,0 +1872,1864,太康县,4,0 +1873,1864,鹿邑县,4,0 +1874,1864,项城市,4,0 +1875,1712,驻马店市,3,463000 +1876,1875,驿城区,4,0 +1877,1875,西平县,4,0 +1878,1875,上蔡县,4,0 +1879,1875,平舆县,4,0 +1880,1875,正阳县,4,0 +1881,1875,确山县,4,0 +1882,1875,泌阳县,4,0 +1883,1875,汝南县,4,0 +1884,1875,遂平县,4,0 +1885,1875,新蔡县,4,0 +1886,1,湖北省,2,0 +1887,1886,武汉市,3,430000 +1888,1887,江岸区,4,0 +1889,1887,江汉区,4,0 +1890,1887,硚口区,4,0 +1891,1887,汉阳区,4,0 +1892,1887,武昌区,4,0 +1893,1887,洪山区,4,0 +1894,1887,东西湖区,4,0 +1895,1887,汉南区,4,0 +1896,1887,蔡甸区,4,0 +1897,1887,江夏区,4,0 +1898,1887,黄陂区,4,0 +1899,1887,新洲区,4,0 +1900,1886,黄石市,3,435000 +1901,1900,黄石港区,4,0 +1902,1900,西塞山区,4,0 +1903,1900,下陆区,4,0 +1904,1900,铁山区,4,0 +1905,1900,阳新县,4,0 +1906,1900,大冶市,4,0 +1907,1886,十堰市,3,442000 +1908,1907,茅箭区,4,0 +1909,1907,张湾区,4,0 +1910,1907,郧县,4,0 +1911,1907,郧西县,4,0 +1912,1907,竹山县,4,0 +1913,1907,竹溪县,4,0 +1914,1907,房县,4,0 +1915,1907,丹江口市,4,0 +1916,1886,宜昌市,3,443000 +1917,1916,西陵区,4,0 +1918,1916,伍家岗区,4,0 +1919,1916,点军区,4,0 +1920,1916,猇亭区,4,0 +1921,1916,夷陵区,4,0 +1922,1916,远安县,4,0 +1923,1916,兴山县,4,0 +1924,1916,秭归县,4,0 +1925,1916,长阳土家族自治县,4,0 +1926,1916,五峰土家族自治县,4,0 +1927,1916,宜都市,4,0 +1928,1916,当阳市,4,0 +1929,1916,枝江市,4,0 +1930,1886,襄樊市,3,441000 +1931,1930,襄城区,4,0 +1932,1930,樊城区,4,0 +1933,1930,襄阳区,4,0 +1934,1930,南漳县,4,0 +1935,1930,谷城县,4,0 +1936,1930,保康县,4,0 +1937,1930,老河口市,4,0 +1938,1930,枣阳市,4,0 +1939,1930,宜城市,4,0 +1940,1886,鄂州市,3,436000 +1941,1940,梁子湖区,4,0 +1942,1940,华容区,4,0 +1943,1940,鄂城区,4,0 +1944,1886,荆门市,3,448000 +1945,1944,东宝区,4,0 +1946,1944,掇刀区,4,0 +1947,1944,京山县,4,0 +1948,1944,沙洋县,4,0 +1949,1944,钟祥市,4,0 +1950,1886,孝感市,3,432100 +1951,1950,孝南区,4,0 +1952,1950,孝昌县,4,0 +1953,1950,大悟县,4,0 +1954,1950,云梦县,4,0 +1955,1950,应城市,4,0 +1956,1950,安陆市,4,0 +1957,1950,汉川市,4,0 +1958,1886,荆州市,3,434000 +1959,1958,沙市区,4,0 +1960,1958,荆州区,4,0 +1961,1958,公安县,4,0 +1962,1958,监利县,4,0 +1963,1958,江陵县,4,0 +1964,1958,石首市,4,0 +1965,1958,洪湖市,4,0 +1966,1958,松滋市,4,0 +1967,1886,黄冈市,3,438000 +1968,1967,黄州区,4,0 +1969,1967,团风县,4,0 +1970,1967,红安县,4,0 +1971,1967,罗田县,4,0 +1972,1967,英山县,4,0 +1973,1967,浠水县,4,0 +1974,1967,蕲春县,4,0 +1975,1967,黄梅县,4,0 +1976,1967,麻城市,4,0 +1977,1967,武穴市,4,0 +1978,1886,咸宁市,3,437000 +1979,1978,咸安区,4,0 +1980,1978,嘉鱼县,4,0 +1981,1978,通城县,4,0 +1982,1978,崇阳县,4,0 +1983,1978,通山县,4,0 +1984,1978,赤壁市,4,0 +1985,1886,随州市,3,441300 +1986,1985,曾都区,4,0 +1987,1985,广水市,4,0 +1988,1886,恩施土家族苗族自治州,3,445000 +1989,1988,恩施市,4,0 +1990,1988,利川市,4,0 +1991,1988,建始县,4,0 +1992,1988,巴东县,4,0 +1993,1988,宣恩县,4,0 +1994,1988,咸丰县,4,0 +1995,1988,来凤县,4,0 +1996,1988,鹤峰县,4,0 +1997,1886,神农架,3,442400 +1998,1997,仙桃市,4,0 +1999,1997,潜江市,4,0 +2000,1997,天门市,4,0 +2001,1997,神农架林区,4,0 +2002,1,湖南省,2,0 +2003,2002,长沙市,3,410000 +2004,2003,芙蓉区,4,0 +2005,2003,天心区,4,0 +2006,2003,岳麓区,4,0 +2007,2003,开福区,4,0 +2008,2003,雨花区,4,0 +2009,2003,长沙县,4,0 +2010,2003,望城县,4,0 +2011,2003,宁乡县,4,0 +2012,2003,浏阳市,4,0 +2013,2002,株洲市,3,412000 +2014,2013,荷塘区,4,0 +2015,2013,芦淞区,4,0 +2016,2013,石峰区,4,0 +2017,2013,天元区,4,0 +2018,2013,株洲县,4,0 +2019,2013,攸县,4,0 +2020,2013,茶陵县,4,0 +2021,2013,炎陵县,4,0 +2022,2013,醴陵市,4,0 +2023,2002,湘潭市,3,411100 +2024,2023,雨湖区,4,0 +2025,2023,岳塘区,4,0 +2026,2023,湘潭县,4,0 +2027,2023,湘乡市,4,0 +2028,2023,韶山市,4,0 +2029,2002,衡阳市,3,421000 +2030,2029,珠晖区,4,0 +2031,2029,雁峰区,4,0 +2032,2029,石鼓区,4,0 +2033,2029,蒸湘区,4,0 +2034,2029,南岳区,4,0 +2035,2029,衡阳县,4,0 +2036,2029,衡南县,4,0 +2037,2029,衡山县,4,0 +2038,2029,衡东县,4,0 +2039,2029,祁东县,4,0 +2040,2029,耒阳市,4,0 +2041,2029,常宁市,4,0 +2042,2002,邵阳市,3,422000 +2043,2042,双清区,4,0 +2044,2042,大祥区,4,0 +2045,2042,北塔区,4,0 +2046,2042,邵东县,4,0 +2047,2042,新邵县,4,0 +2048,2042,邵阳县,4,0 +2049,2042,隆回县,4,0 +2050,2042,洞口县,4,0 +2051,2042,绥宁县,4,0 +2052,2042,新宁县,4,0 +2053,2042,城步苗族自治县,4,0 +2054,2042,武冈市,4,0 +2055,2002,岳阳市,3,414000 +2056,2055,岳阳楼区,4,0 +2057,2055,云溪区,4,0 +2058,2055,君山区,4,0 +2059,2055,岳阳县,4,0 +2060,2055,华容县,4,0 +2061,2055,湘阴县,4,0 +2062,2055,平江县,4,0 +2063,2055,汨罗市,4,0 +2064,2055,临湘市,4,0 +2065,2002,常德市,3,415000 +2066,2065,武陵区,4,0 +2067,2065,鼎城区,4,0 +2068,2065,安乡县,4,0 +2069,2065,汉寿县,4,0 +2070,2065,澧县,4,0 +2071,2065,临澧县,4,0 +2072,2065,桃源县,4,0 +2073,2065,石门县,4,0 +2074,2065,津市市,4,0 +2075,2002,张家界市,3,427000 +2076,2075,永定区,4,0 +2077,2075,武陵源区,4,0 +2078,2075,慈利县,4,0 +2079,2075,桑植县,4,0 +2080,2002,益阳市,3,413000 +2081,2080,资阳区,4,0 +2082,2080,赫山区,4,0 +2083,2080,南县,4,0 +2084,2080,桃江县,4,0 +2085,2080,安化县,4,0 +2086,2080,沅江市,4,0 +2087,2002,郴州市,3,423000 +2088,2087,北湖区,4,0 +2089,2087,苏仙区,4,0 +2090,2087,桂阳县,4,0 +2091,2087,宜章县,4,0 +2092,2087,永兴县,4,0 +2093,2087,嘉禾县,4,0 +2094,2087,临武县,4,0 +2095,2087,汝城县,4,0 +2096,2087,桂东县,4,0 +2097,2087,安仁县,4,0 +2098,2087,资兴市,4,0 +2099,2002,永州市,3,425000 +2100,2099,芝山区,4,0 +2101,2099,冷水滩区,4,0 +2102,2099,祁阳县,4,0 +2103,2099,东安县,4,0 +2104,2099,双牌县,4,0 +2105,2099,道县,4,0 +2106,2099,江永县,4,0 +2107,2099,宁远县,4,0 +2108,2099,蓝山县,4,0 +2109,2099,新田县,4,0 +2110,2099,江华瑶族自治县,4,0 +2111,2002,怀化市,3,418000 +2112,2111,鹤城区,4,0 +2113,2111,中方县,4,0 +2114,2111,沅陵县,4,0 +2115,2111,辰溪县,4,0 +2116,2111,溆浦县,4,0 +2117,2111,会同县,4,0 +2118,2111,麻阳苗族自治县,4,0 +2119,2111,新晃侗族自治县,4,0 +2120,2111,芷江侗族自治县,4,0 +2121,2111,靖州苗族侗族自治县,4,0 +2122,2111,通道侗族自治县,4,0 +2123,2111,洪江市,4,0 +2124,2002,娄底市,3,417000 +2125,2124,娄星区,4,0 +2126,2124,双峰县,4,0 +2127,2124,新化县,4,0 +2128,2124,冷水江市,4,0 +2129,2124,涟源市,4,0 +2130,2002,湘西土家族苗族自治州,3,416000 +2131,2130,吉首市,4,0 +2132,2130,泸溪县,4,0 +2133,2130,凤凰县,4,0 +2134,2130,花垣县,4,0 +2135,2130,保靖县,4,0 +2136,2130,古丈县,4,0 +2137,2130,永顺县,4,0 +2138,2130,龙山县,4,0 +2139,1,广东省,2,0 +2140,2139,广州市,3,510000 +2141,2140,荔湾区,4,0 +2142,2140,越秀区,4,0 +2143,2140,海珠区,4,0 +2144,2140,天河区,4,0 +2145,2140,芳村区,4,0 +2146,2140,白云区,4,0 +2147,2140,黄埔区,4,0 +2148,2140,番禺区,4,0 +2149,2140,花都区,4,0 +2150,2140,增城市,4,0 +2151,2140,从化市,4,0 +2152,2139,韶关市,3,521000 +2153,2152,武江区,4,0 +2154,2152,浈江区,4,0 +2155,2152,曲江区,4,0 +2156,2152,始兴县,4,0 +2157,2152,仁化县,4,0 +2158,2152,翁源县,4,0 +2159,2152,乳源瑶族自治县,4,0 +2160,2152,新丰县,4,0 +2161,2152,乐昌市,4,0 +2162,2152,南雄市,4,0 +2163,2139,深圳市,3,518000 +2164,2163,罗湖区,4,0 +2165,2163,福田区,4,0 +2166,2163,宝安区,4,0 +2167,2163,龙岗区,4,0 +2168,2163,盐田区,4,0 +2169,2139,珠海市,3,519000 +2170,2169,香洲区,4,0 +2171,2169,斗门区,4,0 +2172,2169,金湾区,4,0 +2173,2139,汕头市,3,515000 +2174,2173,龙湖区,4,0 +2175,2173,金平区,4,0 +2176,2173,濠江区,4,0 +2177,2173,潮阳区,4,0 +2178,2173,潮南区,4,0 +2179,2173,澄海区,4,0 +2180,2173,南澳县,4,0 +2181,2139,佛山市,3,528000 +2182,2181,禅城区,4,0 +2183,2181,南海区,4,0 +2184,2181,顺德区,4,0 +2185,2181,三水区,4,0 +2186,2181,高明区,4,0 +2187,2139,江门市,3,529000 +2188,2187,蓬江区,4,0 +2189,2187,江海区,4,0 +2190,2187,新会区,4,0 +2191,2187,台山市,4,0 +2192,2187,开平市,4,0 +2193,2187,鹤山市,4,0 +2194,2187,恩平市,4,0 +2195,2139,湛江市,3,524000 +2196,2195,赤坎区,4,0 +2197,2195,霞山区,4,0 +2198,2195,坡头区,4,0 +2199,2195,麻章区,4,0 +2200,2195,遂溪县,4,0 +2201,2195,徐闻县,4,0 +2202,2195,廉江市,4,0 +2203,2195,雷州市,4,0 +2204,2195,吴川市,4,0 +2205,2139,茂名市,3,525000 +2206,2205,茂南区,4,0 +2207,2205,茂港区,4,0 +2208,2205,电白县,4,0 +2209,2205,高州市,4,0 +2210,2205,化州市,4,0 +2211,2205,信宜市,4,0 +2212,2139,肇庆市,3,526000 +2213,2212,端州区,4,0 +2214,2212,鼎湖区,4,0 +2215,2212,广宁县,4,0 +2216,2212,怀集县,4,0 +2217,2212,封开县,4,0 +2218,2212,德庆县,4,0 +2219,2212,高要市,4,0 +2220,2212,四会市,4,0 +2221,2139,惠州市,3,516000 +2222,2221,惠城区,4,0 +2223,2221,惠阳区,4,0 +2224,2221,博罗县,4,0 +2225,2221,惠东县,4,0 +2226,2221,龙门县,4,0 +2227,2139,梅州市,3,514000 +2228,2227,梅江区,4,0 +2229,2227,梅县,4,0 +2230,2227,大埔县,4,0 +2231,2227,丰顺县,4,0 +2232,2227,五华县,4,0 +2233,2227,平远县,4,0 +2234,2227,蕉岭县,4,0 +2235,2227,兴宁市,4,0 +2236,2139,汕尾市,3,516600 +2237,2236,海丰县,4,0 +2238,2236,陆河县,4,0 +2239,2236,陆丰市,4,0 +2240,2139,河源市,3,517000 +2241,2240,源城区,4,0 +2242,2240,紫金县,4,0 +2243,2240,龙川县,4,0 +2244,2240,连平县,4,0 +2245,2240,和平县,4,0 +2246,2240,东源县,4,0 +2247,2139,阳江市,3,529500 +2248,2247,江城区,4,0 +2249,2247,阳西县,4,0 +2250,2247,阳东县,4,0 +2251,2247,阳春市,4,0 +2252,2139,清远市,3,511500 +2253,2252,清城区,4,0 +2254,2252,佛冈县,4,0 +2255,2252,阳山县,4,0 +2256,2252,连山壮族瑶族自治县,4,0 +2257,2252,连南瑶族自治县,4,0 +2258,2252,清新县,4,0 +2259,2252,英德市,4,0 +2260,2252,连州市,4,0 +2261,2139,东莞市,3,511700 +2262,2139,中山市,3,528400 +2263,2139,潮州市,3,515600 +2264,2263,湘桥区,4,0 +2265,2263,潮安县,4,0 +2266,2263,饶平县,4,0 +2267,2139,揭阳市,3,522000 +2268,2267,榕城区,4,0 +2269,2267,揭东县,4,0 +2270,2267,揭西县,4,0 +2271,2267,惠来县,4,0 +2272,2267,普宁市,4,0 +2273,2139,云浮市,3,527300 +2274,2273,云城区,4,0 +2275,2273,新兴县,4,0 +2276,2273,郁南县,4,0 +2277,2273,云安县,4,0 +2278,2273,罗定市,4,0 +2279,1,广西壮族自治区,2,0 +2280,2279,南宁市,3,530000 +2281,2280,兴宁区,4,0 +2282,2280,青秀区,4,0 +2283,2280,江南区,4,0 +2284,2280,西乡塘区,4,0 +2285,2280,良庆区,4,0 +2286,2280,邕宁区,4,0 +2287,2280,武鸣县,4,0 +2288,2280,隆安县,4,0 +2289,2280,马山县,4,0 +2290,2280,上林县,4,0 +2291,2280,宾阳县,4,0 +2292,2280,横县,4,0 +2293,2279,柳州市,3,545000 +2294,2293,城中区,4,0 +2295,2293,鱼峰区,4,0 +2296,2293,柳南区,4,0 +2297,2293,柳北区,4,0 +2298,2293,柳江县,4,0 +2299,2293,柳城县,4,0 +2300,2293,鹿寨县,4,0 +2301,2293,融安县,4,0 +2302,2293,融水苗族自治县,4,0 +2303,2293,三江侗族自治县,4,0 +2304,2279,桂林市,3,541000 +2305,2304,秀峰区,4,0 +2306,2304,叠彩区,4,0 +2307,2304,象山区,4,0 +2308,2304,七星区,4,0 +2309,2304,雁山区,4,0 +2310,2304,阳朔县,4,0 +2311,2304,临桂县,4,0 +2312,2304,灵川县,4,0 +2313,2304,全州县,4,0 +2314,2304,兴安县,4,0 +2315,2304,永福县,4,0 +2316,2304,灌阳县,4,0 +2317,2304,龙胜各族自治县,4,0 +2318,2304,资源县,4,0 +2319,2304,平乐县,4,0 +2320,2304,荔蒲县,4,0 +2321,2304,恭城瑶族自治县,4,0 +2322,2279,梧州市,3,543000 +2323,2322,万秀区,4,0 +2324,2322,蝶山区,4,0 +2325,2322,长洲区,4,0 +2326,2322,苍梧县,4,0 +2327,2322,藤县,4,0 +2328,2322,蒙山县,4,0 +2329,2322,岑溪市,4,0 +2330,2279,北海市,3,536000 +2331,2330,海城区,4,0 +2332,2330,银海区,4,0 +2333,2330,铁山港区,4,0 +2334,2330,合浦县,4,0 +2335,2279,防城港市,3,538000 +2336,2335,港口区,4,0 +2337,2335,防城区,4,0 +2338,2335,上思县,4,0 +2339,2335,东兴市,4,0 +2340,2279,钦州市,3,535000 +2341,2340,钦南区,4,0 +2342,2340,钦北区,4,0 +2343,2340,灵山县,4,0 +2344,2340,浦北县,4,0 +2345,2279,贵港市,3,537100 +2346,2345,港北区,4,0 +2347,2345,港南区,4,0 +2348,2345,覃塘区,4,0 +2349,2345,平南县,4,0 +2350,2345,桂平市,4,0 +2351,2279,玉林市,3,537000 +2352,2351,玉州区,4,0 +2353,2351,容县,4,0 +2354,2351,陆川县,4,0 +2355,2351,博白县,4,0 +2356,2351,兴业县,4,0 +2357,2351,北流市,4,0 +2358,2279,百色市,3,533000 +2359,2358,右江区,4,0 +2360,2358,田阳县,4,0 +2361,2358,田东县,4,0 +2362,2358,平果县,4,0 +2363,2358,德保县,4,0 +2364,2358,靖西县,4,0 +2365,2358,那坡县,4,0 +2366,2358,凌云县,4,0 +2367,2358,乐业县,4,0 +2368,2358,田林县,4,0 +2369,2358,西林县,4,0 +2370,2358,隆林各族自治县,4,0 +2371,2279,贺州市,3,542800 +2372,2371,八步区,4,0 +2373,2371,昭平县,4,0 +2374,2371,钟山县,4,0 +2375,2371,富川瑶族自治县,4,0 +2376,2279,河池市,3,547000 +2377,2376,金城江区,4,0 +2378,2376,南丹县,4,0 +2379,2376,天峨县,4,0 +2380,2376,凤山县,4,0 +2381,2376,东兰县,4,0 +2382,2376,罗城仫佬族自治县,4,0 +2383,2376,环江毛南族自治县,4,0 +2384,2376,巴马瑶族自治县,4,0 +2385,2376,都安瑶族自治县,4,0 +2386,2376,大化瑶族自治县,4,0 +2387,2376,宜州市,4,0 +2388,2279,来宾市,3,546100 +2389,2388,兴宾区,4,0 +2390,2388,忻城县,4,0 +2391,2388,象州县,4,0 +2392,2388,武宣县,4,0 +2393,2388,金秀瑶族自治县,4,0 +2394,2388,合山市,4,0 +2395,2279,崇左市,3,532200 +2396,2395,江洲区,4,0 +2397,2395,扶绥县,4,0 +2398,2395,宁明县,4,0 +2399,2395,龙州县,4,0 +2400,2395,大新县,4,0 +2401,2395,天等县,4,0 +2402,2395,凭祥市,4,0 +2403,1,海南省,2,0 +2404,2403,海口市,3,570000 +2405,2404,秀英区,4,0 +2406,2404,龙华区,4,0 +2407,2404,琼山区,4,0 +2408,2404,美兰区,4,0 +2409,2403,三亚市,3,572000 +2410,2409,五指山市,4,0 +2411,2409,琼海市,4,0 +2412,2409,儋州市,4,0 +2413,2409,文昌市,4,0 +2414,2409,万宁市,4,0 +2415,2409,东方市,4,0 +2416,2409,定安县,4,0 +2417,2409,屯昌县,4,0 +2418,2409,澄迈县,4,0 +2419,2409,临高县,4,0 +2420,2409,白沙黎族自治县,4,0 +2421,2409,昌江黎族自治县,4,0 +2422,2409,乐东黎族自治县,4,0 +2423,2409,陵水黎族自治县,4,0 +2424,2409,保亭黎族苗族自治县,4,0 +2425,2409,琼中黎族苗族自治县,4,0 +2426,2409,西沙群岛,4,0 +2427,2409,南沙群岛,4,0 +2428,2409,中沙群岛的岛礁及其海域,4,0 +2429,1,重庆市,2,0 +2430,2429,重庆市,3,400000 +2431,2430,万州区,4,0 +2432,2430,涪陵区,4,0 +2433,2430,渝中区,4,0 +2434,2430,大渡口区,4,0 +2435,2430,沙坪坝区,4,0 +2436,2430,九龙坡区,4,0 +2437,2430,南岸区,4,0 +2438,2430,北碚区,4,0 +2439,2430,万盛区,4,0 +2440,2430,渝北区,4,0 +2441,2430,巴南区,4,0 +2442,2430,黔江区,4,0 +2443,2430,长寿区,4,0 +2444,2430,綦江县,4,0 +2445,2430,潼南县,4,0 +2446,2430,铜梁县,4,0 +2447,2430,大足县,4,0 +2448,2430,荣昌县,4,0 +2449,2430,璧山县,4,0 +2450,2430,梁平县,4,0 +2451,2430,城口县,4,0 +2452,2430,丰都县,4,0 +2453,2430,垫江县,4,0 +2454,2430,武隆县,4,0 +2455,2430,忠县,4,0 +2456,2430,开县,4,0 +2457,2430,云阳县,4,0 +2458,2430,奉节县,4,0 +2459,2430,巫山县,4,0 +2460,2430,巫溪县,4,0 +2461,2430,石柱土家族自治县,4,0 +2462,2430,秀山土家族苗族自治县,4,0 +2463,2430,酉阳土家族苗族自治县,4,0 +2464,2430,彭水苗族土家族自治县,4,0 +2465,2430,江津市,4,0 +2466,2430,合川市,4,0 +2467,2430,永川市,4,0 +2468,2430,南川市,4,0 +2469,1,四川省,2,0 +2470,2469,成都市,3,610000 +2471,2470,锦江区,4,0 +2472,2470,青羊区,4,0 +2473,2470,金牛区,4,0 +2474,2470,武侯区,4,0 +2475,2470,成华区,4,0 +2476,2470,龙泉驿区,4,0 +2477,2470,青白江区,4,0 +2478,2470,新都区,4,0 +2479,2470,温江区,4,0 +2480,2470,金堂县,4,0 +2481,2470,双流县,4,0 +2482,2470,郫县,4,0 +2483,2470,大邑县,4,0 +2484,2470,蒲江县,4,0 +2485,2470,新津县,4,0 +2486,2470,都江堰市,4,0 +2487,2470,彭州市,4,0 +2488,2470,邛崃市,4,0 +2489,2470,崇州市,4,0 +2490,2469,自贡市,3,643000 +2491,2490,自流井区,4,0 +2492,2490,贡井区,4,0 +2493,2490,大安区,4,0 +2494,2490,沿滩区,4,0 +2495,2490,荣县,4,0 +2496,2490,富顺县,4,0 +2497,2469,攀枝花市,3,617000 +2498,2497,东区,4,0 +2499,2497,西区,4,0 +2500,2497,仁和区,4,0 +2501,2497,米易县,4,0 +2502,2497,盐边县,4,0 +2503,2469,泸州市,3,646100 +2504,2503,江阳区,4,0 +2505,2503,纳溪区,4,0 +2506,2503,龙马潭区,4,0 +2507,2503,泸县,4,0 +2508,2503,合江县,4,0 +2509,2503,叙永县,4,0 +2510,2503,古蔺县,4,0 +2511,2469,德阳市,3,618000 +2512,2511,旌阳区,4,0 +2513,2511,中江县,4,0 +2514,2511,罗江县,4,0 +2515,2511,广汉市,4,0 +2516,2511,什邡市,4,0 +2517,2511,绵竹市,4,0 +2518,2469,绵阳市,3,621000 +2519,2518,涪城区,4,0 +2520,2518,游仙区,4,0 +2521,2518,三台县,4,0 +2522,2518,盐亭县,4,0 +2523,2518,安县,4,0 +2524,2518,梓潼县,4,0 +2525,2518,北川羌族自治县,4,0 +2526,2518,平武县,4,0 +2527,2518,江油市,4,0 +2528,2469,广元市,3,628000 +2529,2528,元坝区,4,0 +2530,2528,朝天区,4,0 +2531,2528,旺苍县,4,0 +2532,2528,青川县,4,0 +2533,2528,剑阁县,4,0 +2534,2528,苍溪县,4,0 +2535,2469,遂宁市,3,629000 +2536,2535,船山区,4,0 +2537,2535,安居区,4,0 +2538,2535,蓬溪县,4,0 +2539,2535,射洪县,4,0 +2540,2535,大英县,4,0 +2541,2469,内江市,3,641000 +2542,2541,东兴区,4,0 +2543,2541,威远县,4,0 +2544,2541,资中县,4,0 +2545,2541,隆昌县,4,0 +2546,2469,乐山市,3,614000 +2547,2546,沙湾区,4,0 +2548,2546,五通桥区,4,0 +2549,2546,金口河区,4,0 +2550,2546,犍为县,4,0 +2551,2546,井研县,4,0 +2552,2546,夹江县,4,0 +2553,2546,沐川县,4,0 +2554,2546,峨边彝族自治县,4,0 +2555,2546,马边彝族自治县,4,0 +2556,2546,峨眉山市,4,0 +2557,2469,南充市,3,637000 +2558,2557,顺庆区,4,0 +2559,2557,高坪区,4,0 +2560,2557,嘉陵区,4,0 +2561,2557,南部县,4,0 +2562,2557,营山县,4,0 +2563,2557,蓬安县,4,0 +2564,2557,仪陇县,4,0 +2565,2557,西充县,4,0 +2566,2557,阆中市,4,0 +2567,2469,眉山市,3,612100 +2568,2567,东坡区,4,0 +2569,2567,仁寿县,4,0 +2570,2567,彭山县,4,0 +2571,2567,洪雅县,4,0 +2572,2567,丹棱县,4,0 +2573,2567,青神县,4,0 +2574,2469,宜宾市,3,644000 +2575,2574,翠屏区,4,0 +2576,2574,宜宾县,4,0 +2577,2574,南溪县,4,0 +2578,2574,江安县,4,0 +2579,2574,长宁县,4,0 +2580,2574,高县,4,0 +2581,2574,珙县,4,0 +2582,2574,筠连县,4,0 +2583,2574,兴文县,4,0 +2584,2574,屏山县,4,0 +2585,2469,广安市,3,638000 +2586,2585,广安区,4,0 +2587,2585,岳池县,4,0 +2588,2585,武胜县,4,0 +2589,2585,邻水县,4,0 +2590,2585,华蓥市,4,0 +2591,2469,达州市,3,635000 +2592,2591,通川区,4,0 +2593,2591,达县,4,0 +2594,2591,宣汉县,4,0 +2595,2591,开江县,4,0 +2596,2591,大竹县,4,0 +2597,2591,渠县,4,0 +2598,2591,万源市,4,0 +2599,2469,雅安市,3,625000 +2600,2599,雨城区,4,0 +2601,2599,名山县,4,0 +2602,2599,荥经县,4,0 +2603,2599,汉源县,4,0 +2604,2599,石棉县,4,0 +2605,2599,天全县,4,0 +2606,2599,芦山县,4,0 +2607,2599,宝兴县,4,0 +2608,2469,巴中市,3,635500 +2609,2608,巴州区,4,0 +2610,2608,通江县,4,0 +2611,2608,南江县,4,0 +2612,2608,平昌县,4,0 +2613,2469,资阳市,3,641300 +2614,2613,雁江区,4,0 +2615,2613,安岳县,4,0 +2616,2613,乐至县,4,0 +2617,2613,简阳市,4,0 +2618,2469,阿坝藏族羌族自治州,3,624600 +2619,2618,汶川县,4,0 +2620,2618,理县,4,0 +2621,2618,茂县,4,0 +2622,2618,松潘县,4,0 +2623,2618,九寨沟县,4,0 +2624,2618,金川县,4,0 +2625,2618,小金县,4,0 +2626,2618,黑水县,4,0 +2627,2618,马尔康县,4,0 +2628,2618,壤塘县,4,0 +2629,2618,阿坝县,4,0 +2630,2618,若尔盖县,4,0 +2631,2618,红原县,4,0 +2632,2469,甘孜藏族自治州,3,626000 +2633,2632,康定县,4,0 +2634,2632,泸定县,4,0 +2635,2632,丹巴县,4,0 +2636,2632,九龙县,4,0 +2637,2632,雅江县,4,0 +2638,2632,道孚县,4,0 +2639,2632,炉霍县,4,0 +2640,2632,甘孜县,4,0 +2641,2632,新龙县,4,0 +2642,2632,德格县,4,0 +2643,2632,白玉县,4,0 +2644,2632,石渠县,4,0 +2645,2632,色达县,4,0 +2646,2632,理塘县,4,0 +2647,2632,巴塘县,4,0 +2648,2632,乡城县,4,0 +2649,2632,稻城县,4,0 +2650,2632,得荣县,4,0 +2651,2469,凉山彝族自治州,3,615000 +2652,2651,西昌市,4,0 +2653,2651,木里藏族自治县,4,0 +2654,2651,盐源县,4,0 +2655,2651,德昌县,4,0 +2656,2651,会理县,4,0 +2657,2651,会东县,4,0 +2658,2651,宁南县,4,0 +2659,2651,普格县,4,0 +2660,2651,布拖县,4,0 +2661,2651,金阳县,4,0 +2662,2651,昭觉县,4,0 +2663,2651,喜德县,4,0 +2664,2651,冕宁县,4,0 +2665,2651,越西县,4,0 +2666,2651,甘洛县,4,0 +2667,2651,美姑县,4,0 +2668,2651,雷波县,4,0 +2669,1,贵州省,2,0 +2670,2669,贵阳市,3,55000 +2671,2670,南明区,4,0 +2672,2670,云岩区,4,0 +2673,2670,花溪区,4,0 +2674,2670,乌当区,4,0 +2675,2670,小河区,4,0 +2676,2670,开阳县,4,0 +2677,2670,息烽县,4,0 +2678,2670,修文县,4,0 +2679,2670,清镇市,4,0 +2680,2669,六盘水市,3,553000 +2681,2680,钟山区,4,0 +2682,2680,六枝特区,4,0 +2683,2680,水城县,4,0 +2684,2680,盘县,4,0 +2685,2669,遵义市,3,563000 +2686,2685,红花岗区,4,0 +2687,2685,汇川区,4,0 +2688,2685,遵义县,4,0 +2689,2685,桐梓县,4,0 +2690,2685,绥阳县,4,0 +2691,2685,正安县,4,0 +2692,2685,道真仡佬族苗族自治县,4,0 +2693,2685,务川仡佬族苗族自治县,4,0 +2694,2685,凤冈县,4,0 +2695,2685,湄潭县,4,0 +2696,2685,余庆县,4,0 +2697,2685,习水县,4,0 +2698,2685,赤水市,4,0 +2699,2685,仁怀市,4,0 +2700,2669,安顺市,3,561000 +2701,2700,西秀区,4,0 +2702,2700,平坝县,4,0 +2703,2700,普定县,4,0 +2704,2700,镇宁布依族苗族自治县,4,0 +2705,2700,关岭布依族苗族自治县,4,0 +2706,2700,紫云苗族布依族自治县,4,0 +2707,2669,铜仁地区,3,554300 +2708,2707,铜仁市,4,0 +2709,2707,江口县,4,0 +2710,2707,玉屏侗族自治县,4,0 +2711,2707,石阡县,4,0 +2712,2707,思南县,4,0 +2713,2707,印江土家族苗族自治县,4,0 +2714,2707,德江县,4,0 +2715,2707,沿河土家族自治县,4,0 +2716,2707,松桃苗族自治县,4,0 +2717,2707,万山特区,4,0 +2718,2669,黔西南布依族苗族自治州,3,551500 +2719,2718,兴义市,4,0 +2720,2718,兴仁县,4,0 +2721,2718,普安县,4,0 +2722,2718,晴隆县,4,0 +2723,2718,贞丰县,4,0 +2724,2718,望谟县,4,0 +2725,2718,册亨县,4,0 +2726,2718,安龙县,4,0 +2727,2669,毕节地区,3,551700 +2728,2727,毕节市,4,0 +2729,2727,大方县,4,0 +2730,2727,黔西县,4,0 +2731,2727,金沙县,4,0 +2732,2727,织金县,4,0 +2733,2727,纳雍县,4,0 +2734,2727,威宁彝族回族苗族自治县,4,0 +2735,2727,赫章县,4,0 +2736,2669,黔东南苗族侗族自治州,3,551500 +2737,2736,凯里市,4,0 +2738,2736,黄平县,4,0 +2739,2736,施秉县,4,0 +2740,2736,三穗县,4,0 +2741,2736,镇远县,4,0 +2742,2736,岑巩县,4,0 +2743,2736,天柱县,4,0 +2744,2736,锦屏县,4,0 +2745,2736,剑河县,4,0 +2746,2736,台江县,4,0 +2747,2736,黎平县,4,0 +2748,2736,榕江县,4,0 +2749,2736,从江县,4,0 +2750,2736,雷山县,4,0 +2751,2736,麻江县,4,0 +2752,2736,丹寨县,4,0 +2753,2669,黔南布依族苗族自治州,3,550100 +2754,2753,都匀市,4,0 +2755,2753,福泉市,4,0 +2756,2753,荔波县,4,0 +2757,2753,贵定县,4,0 +2758,2753,瓮安县,4,0 +2759,2753,独山县,4,0 +2760,2753,平塘县,4,0 +2761,2753,罗甸县,4,0 +2762,2753,长顺县,4,0 +2763,2753,龙里县,4,0 +2764,2753,惠水县,4,0 +2765,2753,三都水族自治县,4,0 +2766,1,云南省,2,0 +2767,2766,昆明市,3,650000 +2768,2767,五华区,4,0 +2769,2767,盘龙区,4,0 +2770,2767,官渡区,4,0 +2771,2767,西山区,4,0 +2772,2767,东川区,4,0 +2773,2767,呈贡县,4,0 +2774,2767,晋宁县,4,0 +2775,2767,富民县,4,0 +2776,2767,宜良县,4,0 +2777,2767,石林彝族自治县,4,0 +2778,2767,嵩明县,4,0 +2779,2767,禄劝彝族苗族自治县,4,0 +2780,2767,寻甸回族彝族自治县,4,0 +2781,2767,安宁市,4,0 +2782,2766,曲靖市,3,655000 +2783,2782,麒麟区,4,0 +2784,2782,马龙县,4,0 +2785,2782,陆良县,4,0 +2786,2782,师宗县,4,0 +2787,2782,罗平县,4,0 +2788,2782,富源县,4,0 +2789,2782,会泽县,4,0 +2790,2782,沾益县,4,0 +2791,2782,宣威市,4,0 +2792,2766,玉溪市,3,653100 +2793,2792,红塔区,4,0 +2794,2792,江川县,4,0 +2795,2792,澄江县,4,0 +2796,2792,通海县,4,0 +2797,2792,华宁县,4,0 +2798,2792,易门县,4,0 +2799,2792,峨山彝族自治县,4,0 +2800,2792,新平彝族傣族自治县,4,0 +2801,2792,元江哈尼族彝族傣族自治县,4,0 +2802,2766,保山市,3,678000 +2803,2802,隆阳区,4,0 +2804,2802,施甸县,4,0 +2805,2802,腾冲县,4,0 +2806,2802,龙陵县,4,0 +2807,2802,昌宁县,4,0 +2808,2766,昭通市,3,657000 +2809,2808,昭阳区,4,0 +2810,2808,鲁甸县,4,0 +2811,2808,巧家县,4,0 +2812,2808,盐津县,4,0 +2813,2808,大关县,4,0 +2814,2808,永善县,4,0 +2815,2808,绥江县,4,0 +2816,2808,镇雄县,4,0 +2817,2808,彝良县,4,0 +2818,2808,威信县,4,0 +2819,2808,水富县,4,0 +2820,2766,丽江市,3,674100 +2821,2820,古城区,4,0 +2822,2820,玉龙纳西族自治县,4,0 +2823,2820,永胜县,4,0 +2824,2820,华坪县,4,0 +2825,2820,宁蒗彝族自治县,4,0 +2826,2766,思茅市,3,665000 +2827,2826,翠云区,4,0 +2828,2826,普洱哈尼族彝族自治县,4,0 +2829,2826,墨江哈尼族自治县,4,0 +2830,2826,景东彝族自治县,4,0 +2831,2826,景谷傣族彝族自治县,4,0 +2832,2826,镇沅彝族哈尼族拉祜族自治县,4,0 +2833,2826,江城哈尼族彝族自治县,4,0 +2834,2826,孟连傣族拉祜族佤族自治县,4,0 +2835,2826,澜沧拉祜族自治县,4,0 +2836,2826,西盟佤族自治县,4,0 +2837,2766,临沧市,3,677000 +2838,2837,临翔区,4,0 +2839,2837,凤庆县,4,0 +2840,2837,云县,4,0 +2841,2837,永德县,4,0 +2842,2837,镇康县,4,0 +2843,2837,双江拉祜族佤族布朗族傣族自治县,4,0 +2844,2837,耿马傣族佤族自治县,4,0 +2845,2837,沧源佤族自治县,4,0 +2846,2766,楚雄彝族自治州,3,675000 +2847,2846,楚雄市,4,0 +2848,2846,双柏县,4,0 +2849,2846,牟定县,4,0 +2850,2846,南华县,4,0 +2851,2846,姚安县,4,0 +2852,2846,大姚县,4,0 +2853,2846,永仁县,4,0 +2854,2846,元谋县,4,0 +2855,2846,武定县,4,0 +2856,2846,禄丰县,4,0 +2857,2766,红河哈尼族彝族自治州,3,654400 +2858,2857,个旧市,4,0 +2859,2857,开远市,4,0 +2860,2857,蒙自县,4,0 +2861,2857,屏边苗族自治县,4,0 +2862,2857,建水县,4,0 +2863,2857,石屏县,4,0 +2864,2857,弥勒县,4,0 +2865,2857,泸西县,4,0 +2866,2857,元阳县,4,0 +2867,2857,红河县,4,0 +2868,2857,金平苗族瑶族傣族自治县,4,0 +2869,2857,绿春县,4,0 +2870,2857,河口瑶族自治县,4,0 +2871,2766,文山壮族苗族自治州,3,663000 +2872,2871,文山县,4,0 +2873,2871,砚山县,4,0 +2874,2871,西畴县,4,0 +2875,2871,麻栗坡县,4,0 +2876,2871,马关县,4,0 +2877,2871,丘北县,4,0 +2878,2871,广南县,4,0 +2879,2871,富宁县,4,0 +2880,2766,西双版纳傣族自治州,3,666200 +2881,2880,景洪市,4,0 +2882,2880,勐海县,4,0 +2883,2880,勐腊县,4,0 +2884,2766,大理白族自治州,3,671000 +2885,2884,大理市,4,0 +2886,2884,漾濞彝族自治县,4,0 +2887,2884,祥云县,4,0 +2888,2884,宾川县,4,0 +2889,2884,弥渡县,4,0 +2890,2884,南涧彝族自治县,4,0 +2891,2884,巍山彝族回族自治县,4,0 +2892,2884,永平县,4,0 +2893,2884,云龙县,4,0 +2894,2884,洱源县,4,0 +2895,2884,剑川县,4,0 +2896,2884,鹤庆县,4,0 +2897,2766,德宏傣族景颇族自治州,3,678400 +2898,2897,瑞丽市,4,0 +2899,2897,潞西市,4,0 +2900,2897,梁河县,4,0 +2901,2897,盈江县,4,0 +2902,2897,陇川县,4,0 +2903,2766,怒江傈僳族自治州,3,671400 +2904,2903,泸水县,4,0 +2905,2903,福贡县,4,0 +2906,2903,贡山独龙族怒族自治县,4,0 +2907,2903,兰坪白族普米族自治县,4,0 +2908,2766,迪庆藏族自治州,3,674400 +2909,2908,香格里拉县,4,0 +2910,2908,德钦县,4,0 +2911,2908,维西傈僳族自治县,4,0 +2912,1,西藏自治区,2,0 +2913,2912,拉萨市,3,850000 +2914,2913,城关区,4,0 +2915,2913,林周县,4,0 +2916,2913,当雄县,4,0 +2917,2913,尼木县,4,0 +2918,2913,曲水县,4,0 +2919,2913,堆龙德庆县,4,0 +2920,2913,达孜县,4,0 +2921,2913,墨竹工卡县,4,0 +2922,2912,昌都地区,3,854000 +2923,2922,昌都县,4,0 +2924,2922,江达县,4,0 +2925,2922,贡觉县,4,0 +2926,2922,类乌齐县,4,0 +2927,2922,丁青县,4,0 +2928,2922,察雅县,4,0 +2929,2922,八宿县,4,0 +2930,2922,左贡县,4,0 +2931,2922,芒康县,4,0 +2932,2922,洛隆县,4,0 +2933,2922,边坝县,4,0 +2934,2912,山南地区,3,856000 +2935,2934,乃东县,4,0 +2936,2934,扎囊县,4,0 +2937,2934,贡嘎县,4,0 +2938,2934,桑日县,4,0 +2939,2934,琼结县,4,0 +2940,2934,曲松县,4,0 +2941,2934,措美县,4,0 +2942,2934,洛扎县,4,0 +2943,2934,加查县,4,0 +2944,2934,隆子县,4,0 +2945,2934,错那县,4,0 +2946,2934,浪卡子县,4,0 +2947,2912,日喀则地区,3,857000 +2948,2947,日喀则市,4,0 +2949,2947,南木林县,4,0 +2950,2947,江孜县,4,0 +2951,2947,定日县,4,0 +2952,2947,萨迦县,4,0 +2953,2947,拉孜县,4,0 +2954,2947,昂仁县,4,0 +2955,2947,谢通门县,4,0 +2956,2947,白朗县,4,0 +2957,2947,仁布县,4,0 +2958,2947,康马县,4,0 +2959,2947,定结县,4,0 +2960,2947,仲巴县,4,0 +2961,2947,亚东县,4,0 +2962,2947,吉隆县,4,0 +2963,2947,聂拉木县,4,0 +2964,2947,萨嘎县,4,0 +2965,2947,岗巴县,4,0 +2966,2912,那曲地区,3,852000 +2967,2966,那曲县,4,0 +2968,2966,嘉黎县,4,0 +2969,2966,比如县,4,0 +2970,2966,聂荣县,4,0 +2971,2966,安多县,4,0 +2972,2966,申扎县,4,0 +2973,2966,索县,4,0 +2974,2966,班戈县,4,0 +2975,2966,巴青县,4,0 +2976,2966,尼玛县,4,0 +2977,2912,阿里地区,3,859100 +2978,2977,普兰县,4,0 +2979,2977,札达县,4,0 +2980,2977,噶尔县,4,0 +2981,2977,日土县,4,0 +2982,2977,革吉县,4,0 +2983,2977,改则县,4,0 +2984,2977,措勤县,4,0 +2985,2912,林芝地区,3,860100 +2986,2985,林芝县,4,0 +2987,2985,工布江达县,4,0 +2988,2985,米林县,4,0 +2989,2985,墨脱县,4,0 +2990,2985,波密县,4,0 +2991,2985,察隅县,4,0 +2992,2985,朗县,4,0 +2993,1,陕西省,2,0 +2994,2993,西安市,3,710000 +2995,2994,碑林区,4,0 +2996,2994,莲湖区,4,0 +2997,2994,灞桥区,4,0 +2998,2994,未央区,4,0 +2999,2994,雁塔区,4,0 +3000,2994,阎良区,4,0 +3001,2994,临潼区,4,0 +3002,2994,蓝田县,4,0 +3003,2994,周至县,4,0 +3004,2994,户县,4,0 +3005,2994,高陵县,4,0 +3006,2993,铜川市,3,727000 +3007,3006,王益区,4,0 +3008,3006,印台区,4,0 +3009,3006,耀州区,4,0 +3010,3006,宜君县,4,0 +3011,2993,宝鸡市,3,721000 +3012,3011,渭滨区,4,0 +3013,3011,金台区,4,0 +3014,3011,陈仓区,4,0 +3015,3011,凤翔县,4,0 +3016,3011,岐山县,4,0 +3017,3011,扶风县,4,0 +3018,3011,眉县,4,0 +3019,3011,陇县,4,0 +3020,3011,千阳县,4,0 +3021,3011,麟游县,4,0 +3022,3011,凤县,4,0 +3023,3011,太白县,4,0 +3024,2993,咸阳市,3,712000 +3025,3024,秦都区,4,0 +3026,3024,杨凌区,4,0 +3027,3024,渭城区,4,0 +3028,3024,三原县,4,0 +3029,3024,泾阳县,4,0 +3030,3024,乾县,4,0 +3031,3024,礼泉县,4,0 +3032,3024,永寿县,4,0 +3033,3024,彬县,4,0 +3034,3024,长武县,4,0 +3035,3024,旬邑县,4,0 +3036,3024,淳化县,4,0 +3037,3024,武功县,4,0 +3038,3024,兴平市,4,0 +3039,2993,渭南市,3,714000 +3040,3039,临渭区,4,0 +3041,3039,华县,4,0 +3042,3039,潼关县,4,0 +3043,3039,大荔县,4,0 +3044,3039,合阳县,4,0 +3045,3039,澄城县,4,0 +3046,3039,蒲城县,4,0 +3047,3039,白水县,4,0 +3048,3039,富平县,4,0 +3049,3039,韩城市,4,0 +3050,3039,华阴市,4,0 +3051,2993,延安市,3,716000 +3052,3051,宝塔区,4,0 +3053,3051,延长县,4,0 +3054,3051,延川县,4,0 +3055,3051,子长县,4,0 +3056,3051,安塞县,4,0 +3057,3051,志丹县,4,0 +3058,3051,吴旗县,4,0 +3059,3051,甘泉县,4,0 +3060,3051,富县,4,0 +3061,3051,洛川县,4,0 +3062,3051,宜川县,4,0 +3063,3051,黄龙县,4,0 +3064,3051,黄陵县,4,0 +3065,2993,汉中市,3,723000 +3066,3065,汉台区,4,0 +3067,3065,南郑县,4,0 +3068,3065,城固县,4,0 +3069,3065,洋县,4,0 +3070,3065,西乡县,4,0 +3071,3065,勉县,4,0 +3072,3065,宁强县,4,0 +3073,3065,略阳县,4,0 +3074,3065,镇巴县,4,0 +3075,3065,留坝县,4,0 +3076,3065,佛坪县,4,0 +3077,2993,榆林市,3,719000 +3078,3077,榆阳区,4,0 +3079,3077,神木县,4,0 +3080,3077,府谷县,4,0 +3081,3077,横山县,4,0 +3082,3077,靖边县,4,0 +3083,3077,定边县,4,0 +3084,3077,绥德县,4,0 +3085,3077,米脂县,4,0 +3086,3077,佳县,4,0 +3087,3077,吴堡县,4,0 +3088,3077,清涧县,4,0 +3089,3077,子洲县,4,0 +3090,2993,安康市,3,725000 +3091,3090,汉滨区,4,0 +3092,3090,汉阴县,4,0 +3093,3090,石泉县,4,0 +3094,3090,宁陕县,4,0 +3095,3090,紫阳县,4,0 +3096,3090,岚皋县,4,0 +3097,3090,平利县,4,0 +3098,3090,镇坪县,4,0 +3099,3090,旬阳县,4,0 +3100,3090,白河县,4,0 +3101,2993,商洛市,3,711500 +3102,3101,商州区,4,0 +3103,3101,洛南县,4,0 +3104,3101,丹凤县,4,0 +3105,3101,商南县,4,0 +3106,3101,山阳县,4,0 +3107,3101,镇安县,4,0 +3108,3101,柞水县,4,0 +3109,1,甘肃省,2,0 +3110,3109,兰州市,3,730000 +3111,3110,七里河区,4,0 +3112,3110,西固区,4,0 +3113,3110,安宁区,4,0 +3114,3110,红古区,4,0 +3115,3110,永登县,4,0 +3116,3110,皋兰县,4,0 +3117,3110,榆中县,4,0 +3118,3109,嘉峪关市,3,735100 +3119,3109,金昌市,3,737100 +3120,3119,金川区,4,0 +3121,3119,永昌县,4,0 +3122,3109,白银市,3,730900 +3123,3122,白银区,4,0 +3124,3122,平川区,4,0 +3125,3122,靖远县,4,0 +3126,3122,会宁县,4,0 +3127,3122,景泰县,4,0 +3128,3109,天水市,3,741000 +3129,3128,秦城区,4,0 +3130,3128,北道区,4,0 +3131,3128,清水县,4,0 +3132,3128,秦安县,4,0 +3133,3128,甘谷县,4,0 +3134,3128,武山县,4,0 +3135,3128,张家川回族自治县,4,0 +3136,3109,武威市,3,733000 +3137,3136,凉州区,4,0 +3138,3136,民勤县,4,0 +3139,3136,古浪县,4,0 +3140,3136,天祝藏族自治县,4,0 +3141,3109,张掖市,3,734000 +3142,3141,甘州区,4,0 +3143,3141,肃南裕固族自治县,4,0 +3144,3141,民乐县,4,0 +3145,3141,临泽县,4,0 +3146,3141,高台县,4,0 +3147,3141,山丹县,4,0 +3148,3109,平凉市,3,744000 +3149,3148,崆峒区,4,0 +3150,3148,泾川县,4,0 +3151,3148,灵台县,4,0 +3152,3148,崇信县,4,0 +3153,3148,华亭县,4,0 +3154,3148,庄浪县,4,0 +3155,3148,静宁县,4,0 +3156,3109,酒泉市,3,735000 +3157,3156,肃州区,4,0 +3158,3156,金塔县,4,0 +3159,3156,安西县,4,0 +3160,3156,肃北蒙古族自治县,4,0 +3161,3156,阿克塞哈萨克族自治县,4,0 +3162,3156,玉门市,4,0 +3163,3156,敦煌市,4,0 +3164,3109,庆阳市,3,744500 +3165,3164,西峰区,4,0 +3166,3164,庆城县,4,0 +3167,3164,环县,4,0 +3168,3164,华池县,4,0 +3169,3164,合水县,4,0 +3170,3164,正宁县,4,0 +3171,3164,宁县,4,0 +3172,3164,镇原县,4,0 +3173,3109,定西市,3,743000 +3174,3173,安定区,4,0 +3175,3173,通渭县,4,0 +3176,3173,陇西县,4,0 +3177,3173,渭源县,4,0 +3178,3173,临洮县,4,0 +3179,3173,漳县,4,0 +3180,3173,岷县,4,0 +3181,3109,陇南市,3,742100 +3182,3181,武都区,4,0 +3183,3181,成县,4,0 +3184,3181,文县,4,0 +3185,3181,宕昌县,4,0 +3186,3181,康县,4,0 +3187,3181,西和县,4,0 +3188,3181,礼县,4,0 +3189,3181,徽县,4,0 +3190,3181,两当县,4,0 +3191,3109,临夏回族自治州,3,731100 +3192,3191,临夏市,4,0 +3193,3191,临夏县,4,0 +3194,3191,康乐县,4,0 +3195,3191,永靖县,4,0 +3196,3191,广河县,4,0 +3197,3191,和政县,4,0 +3198,3191,东乡族自治县,4,0 +3199,3191,积石山保安族东乡族撒拉族自治县,4,0 +3200,3109,甘南藏族自治州,3,747000 +3201,3200,合作市,4,0 +3202,3200,临潭县,4,0 +3203,3200,卓尼县,4,0 +3204,3200,舟曲县,4,0 +3205,3200,迭部县,4,0 +3206,3200,玛曲县,4,0 +3207,3200,碌曲县,4,0 +3208,3200,夏河县,4,0 +3209,1,青海省,2,0 +3210,3209,西宁市,3,810000 +3211,3210,城东区,4,0 +3212,3210,城西区,4,0 +3213,3210,城北区,4,0 +3214,3210,大通回族土族自治县,4,0 +3215,3210,湟中县,4,0 +3216,3210,湟源县,4,0 +3217,3209,海东地区,3,810600 +3218,3217,平安县,4,0 +3219,3217,民和回族土族自治县,4,0 +3220,3217,乐都县,4,0 +3221,3217,互助土族自治县,4,0 +3222,3217,化隆回族自治县,4,0 +3223,3217,循化撒拉族自治县,4,0 +3224,3209,海北藏族自治州,3,810300 +3225,3224,门源回族自治县,4,0 +3226,3224,祁连县,4,0 +3227,3224,海晏县,4,0 +3228,3224,刚察县,4,0 +3229,3209,黄南藏族自治州,3,811300 +3230,3229,同仁县,4,0 +3231,3229,尖扎县,4,0 +3232,3229,泽库县,4,0 +3233,3229,河南蒙古族自治县,4,0 +3234,3209,海南藏族自治州,3,813000 +3235,3234,共和县,4,0 +3236,3234,同德县,4,0 +3237,3234,贵德县,4,0 +3238,3234,兴海县,4,0 +3239,3234,贵南县,4,0 +3240,3209,果洛藏族自治州,3,814000 +3241,3240,玛沁县,4,0 +3242,3240,班玛县,4,0 +3243,3240,甘德县,4,0 +3244,3240,达日县,4,0 +3245,3240,久治县,4,0 +3246,3240,玛多县,4,0 +3247,3209,玉树藏族自治州,3,815000 +3248,3247,玉树县,4,0 +3249,3247,杂多县,4,0 +3250,3247,称多县,4,0 +3251,3247,治多县,4,0 +3252,3247,囊谦县,4,0 +3253,3247,曲麻莱县,4,0 +3254,3209,海西蒙古族藏族自治州,3,817000 +3255,3254,格尔木市,4,0 +3256,3254,德令哈市,4,0 +3257,3254,乌兰县,4,0 +3258,3254,都兰县,4,0 +3259,3254,天峻县,4,0 +3260,1,宁夏回族自治区,2,0 +3261,3260,银川市,3,750000 +3262,3261,兴庆区,4,0 +3263,3261,西夏区,4,0 +3264,3261,金凤区,4,0 +3265,3261,永宁县,4,0 +3266,3261,贺兰县,4,0 +3267,3261,灵武市,4,0 +3268,3260,石嘴山市,3,753000 +3269,3268,大武口区,4,0 +3270,3268,惠农区,4,0 +3271,3268,平罗县,4,0 +3272,3260,吴忠市,3,751100 +3273,3272,利通区,4,0 +3274,3272,盐池县,4,0 +3275,3272,同心县,4,0 +3276,3272,青铜峡市,4,0 +3277,3260,固原市,3,756000 +3278,3277,原州区,4,0 +3279,3277,西吉县,4,0 +3280,3277,隆德县,4,0 +3281,3277,泾源县,4,0 +3282,3277,彭阳县,4,0 +3283,3260,中卫市,3,751700 +3284,3283,沙坡头区,4,0 +3285,3283,中宁县,4,0 +3286,3283,海原县,4,0 +3287,1,新疆维吾尔自治区,2,0 +3288,3287,乌鲁木齐市,3,830000 +3289,3288,天山区,4,0 +3290,3288,沙依巴克区,4,0 +3291,3288,水磨沟区,4,0 +3292,3288,头屯河区,4,0 +3293,3288,达坂城区,4,0 +3294,3288,乌鲁木齐县,4,0 +3295,3287,克拉玛依市,3,834000 +3296,3295,独山子区,4,0 +3297,3295,克拉玛依区,4,0 +3298,3295,白碱滩区,4,0 +3299,3295,乌尔禾区,4,0 +3300,3287,吐鲁番地区,3,838000 +3301,3300,吐鲁番市,4,0 +3302,3300,鄯善县,4,0 +3303,3300,托克逊县,4,0 +3304,3287,哈密地区,3,839000 +3305,3304,哈密市,4,0 +3306,3304,巴里坤哈萨克自治县,4,0 +3307,3304,伊吾县,4,0 +3308,3287,昌吉回族自治州,3,831100 +3309,3308,昌吉市,4,0 +3310,3308,阜康市,4,0 +3311,3308,米泉市,4,0 +3312,3308,呼图壁县,4,0 +3313,3308,玛纳斯县,4,0 +3314,3308,奇台县,4,0 +3315,3308,吉木萨尔县,4,0 +3316,3308,木垒哈萨克自治县,4,0 +3317,3287,博尔塔拉蒙古自治州,3,833400 +3318,3317,博乐市,4,0 +3319,3317,精河县,4,0 +3320,3317,温泉县,4,0 +3321,3287,巴音郭楞蒙古自治州,3,841000 +3322,3321,库尔勒市,4,0 +3323,3321,轮台县,4,0 +3324,3321,尉犁县,4,0 +3325,3321,若羌县,4,0 +3326,3321,且末县,4,0 +3327,3321,焉耆回族自治县,4,0 +3328,3321,和静县,4,0 +3329,3321,和硕县,4,0 +3330,3321,博湖县,4,0 +3331,3287,阿克苏地区,3,843000 +3332,3331,阿克苏市,4,0 +3333,3331,温宿县,4,0 +3334,3331,库车县,4,0 +3335,3331,沙雅县,4,0 +3336,3331,新和县,4,0 +3337,3331,拜城县,4,0 +3338,3331,乌什县,4,0 +3339,3331,阿瓦提县,4,0 +3340,3331,柯坪县,4,0 +3341,3287,克孜勒苏柯尔克孜自治州,3,835600 +3342,3341,阿图什市,4,0 +3343,3341,阿克陶县,4,0 +3344,3341,阿合奇县,4,0 +3345,3341,乌恰县,4,0 +3346,3287,喀什地区,3,844000 +3347,3346,喀什市,4,0 +3348,3346,疏附县,4,0 +3349,3346,疏勒县,4,0 +3350,3346,英吉沙县,4,0 +3351,3346,泽普县,4,0 +3352,3346,莎车县,4,0 +3353,3346,叶城县,4,0 +3354,3346,麦盖提县,4,0 +3355,3346,岳普湖县,4,0 +3356,3346,伽师县,4,0 +3357,3346,巴楚县,4,0 +3358,3346,塔什库尔干塔吉克自治县,4,0 +3359,3287,和田地区,3,848000 +3360,3359,和田市,4,0 +3361,3359,和田县,4,0 +3362,3359,墨玉县,4,0 +3363,3359,皮山县,4,0 +3364,3359,洛浦县,4,0 +3365,3359,策勒县,4,0 +3366,3359,于田县,4,0 +3367,3359,民丰县,4,0 +3368,3287,伊犁哈萨克自治州,3,833200 +3369,3368,伊宁市,4,0 +3370,3368,奎屯市,4,0 +3371,3368,伊宁县,4,0 +3372,3368,察布查尔锡伯自治县,4,0 +3373,3368,霍城县,4,0 +3374,3368,巩留县,4,0 +3375,3368,新源县,4,0 +3376,3368,昭苏县,4,0 +3377,3368,特克斯县,4,0 +3378,3368,尼勒克县,4,0 +3379,3287,塔城地区,3,834700 +3380,3379,塔城市,4,0 +3381,3379,乌苏市,4,0 +3382,3379,额敏县,4,0 +3383,3379,沙湾县,4,0 +3384,3379,托里县,4,0 +3385,3379,裕民县,4,0 +3386,3379,和布克赛尔蒙古自治县,4,0 +3387,3287,阿勒泰地区,3,836500 +3388,3387,阿勒泰市,4,0 +3389,3387,布尔津县,4,0 +3390,3387,富蕴县,4,0 +3391,3387,福海县,4,0 +3392,3387,哈巴河县,4,0 +3393,3387,青河县,4,0 +3394,3387,吉木乃县,4,0 +3395,3287,石河子市,3,832000 +3396,3287,阿拉尔市,3,843300 +3397,3287,图木舒克市,3,843900 +3398,3287,五家渠市,3,831300 +3399,1,香港特别行政区,2,0 +3400,3399,香港特别行政区,3,0 +3401,1,澳门特别行政区,2,0 +3402,3401,澳门特别行政区,3,0 +3403,1,台湾省,2,0 +3404,3403,台湾省,3,0 +3405,0,波黑,1,0 +3406,0,直布罗陀,1,0 +3407,0,新喀里多尼亚群岛,1,0 +3408,0,瓦利斯和富图纳群岛,1,0 +3409,0,泽西岛,1,0 +3410,0,黑山,1,0 +3411,0,英属马恩岛,1,0 +3412,0,尼日利亚,1,0 +3413,0,喀麦隆,1,0 +3414,0,加蓬,1,0 +3415,0,乍得,1,0 +3416,0,刚果共和国,1,0 +3417,0,中非共和国,1,0 +3418,0,南苏丹,1,0 +3419,0,赤道几内亚,1,0 +3420,0,毛里塔尼亚,1,0 +3421,0,刚果民主共和国,1,0 +3422,0,留尼汪岛,1,0 +3423,0,格陵兰岛,1,0 +3424,0,法罗群岛,1,0 +3425,0,根西岛,1,0 +3426,3287,自治区直辖县级行政区划,3,830000 +3427,1712,省直辖县级行政区划,3,450000 +3428,1886,省直辖县级行政区划,3,430000 +3429,2766,普洱市,3,665000 +3430,2403,省直辖县级行政区划,3,570000 +3432,0,百慕大群岛,1,0 +3433,0,圣皮埃尔和密克隆群岛,1,0 +3434,0,法属圣马丁,1,0 +3435,0,奥兰群岛,1,0 +3436,0,北马里亚纳群岛,1,0 +3437,0,库拉索,1,0 +3438,0,博内尔岛,1,0 +3439,0,圣马丁岛,1,0 +3440,0,圣巴泰勒米岛,1,0 +3441,0,福克兰群岛,1,0 +3442,0,圣多美和普林西比,1,0 +3443,0,英属印度洋领地,1,0 +3444,0,东萨摩亚,1,0 +3445,0,诺福克岛,1,0 +3446,1886,湖北省省直辖县级行政区划,3,430000 +3447,1712,河南省省直辖县级行政区划,3,450000 +3448,2403,海南省省直辖县级行政区划,3,570000 +3449,3287,新疆维吾尔自治区省直辖县级行政区划,3,830000 +3450,3260,宁夏回族自治区省直辖县级行政区划,3,750000 +3451,673,辽宁省省直辖县级行政区划,3,110000 +3452,2139,广东省省直辖县级行政区划,3,518000 +3453,1131,浙江省省直辖县级行政区划,3,310000 +3454,786,吉林省省直辖县级行政区划,3,130000 +3455,1232,安徽省省直辖县级行政区划,3,230000 +3456,2993,陕西省省直辖县级行政区划,3,710000 +3457,254,河北省省直辖县级行政区划,3,50000 +3458,1014,江苏省省直辖县级行政区划,3,210000 +3459,853,黑龙江省省直辖县级行政区划,3,150000 +3460,1447,江西省省直辖县级行政区划,3,330000 +3461,2669,贵州省省直辖县级行政区划,3,55000 +3462,2002,湖南省省直辖县级行政区划,3,423000 diff --git a/cmd/ip2region/main.go b/cmd/ip2region/main.go new file mode 100644 index 00000000..7db20726 --- /dev/null +++ b/cmd/ip2region/main.go @@ -0,0 +1,113 @@ +package main + +import ( + "bytes" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + "github.com/iwind/TeaGo/Tea" + _ "github.com/iwind/TeaGo/bootstrap" + "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/lists" + "github.com/iwind/TeaGo/logs" + "io/ioutil" + "os" + "regexp" +) + +func main() { + // 导入数据 + if lists.ContainsString(os.Args, "import") { + dbs.NotifyReady() + + data, err := ioutil.ReadFile(Tea.Root + "/resources/ipdata/ip2region/global_region.csv") + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + if len(data) == 0 { + logs.Println("[ERROR]file content should not be empty") + return + } + lines := bytes.Split(data, []byte{'\n'}) + for _, line := range lines { + line = bytes.TrimSpace(line) + if len(line) == 0 { + continue + } + + s := string(line) + reg := regexp.MustCompile(`(?U)(\d+),(\d+),(.+),(\d+),`) + if !reg.MatchString(s) { + continue + } + result := reg.FindStringSubmatch(s) + dataId := result[1] + parentDataId := result[2] + name := result[3] + level := result[4] + + switch level { + case "1": // 国家|地区 + countryId, err := models.SharedRegionCountryDAO.FindCountryIdWithDataId(dataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + if countryId == 0 { + logs.Println("creating country or region ", name) + _, err = models.SharedRegionCountryDAO.CreateCountry(name, dataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + } + case "2": // 省份|地区 + provinceId, err := models.SharedRegionProvinceDAO.FindProvinceIdWithDataId(dataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + if provinceId == 0 { + logs.Println("creating province", name) + + countryId, err := models.SharedRegionCountryDAO.FindCountryIdWithDataId(parentDataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + if countryId == 0 { + logs.Println("[ERROR]can not find country from data id '" + parentDataId + "'") + return + } + + _, err = models.SharedRegionProvinceDAO.CreateProvince(countryId, name, dataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + } + case "3": // 城市 + cityId, err := models.SharedRegionCityDAO.FindCityWithDataId(dataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + if cityId == 0 { + logs.Println("creating city", name) + + provinceId, err := models.SharedRegionProvinceDAO.FindProvinceIdWithDataId(parentDataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + _, err = models.SharedRegionCityDAO.CreateCity(provinceId, name, dataId) + if err != nil { + logs.Println("[ERROR]" + err.Error()) + return + } + } + } + } + + logs.Println("done") + } +} diff --git a/go.mod b/go.mod index 009e0606..79f3ef8e 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,8 @@ require ( github.com/golang/protobuf v1.4.2 github.com/iwind/TeaGo v0.0.0-20201020081413-7cf62d6f420f github.com/lionsoul2014/ip2region v2.2.0-release+incompatible + github.com/mattn/go-isatty v0.0.12 // indirect + github.com/mozillazg/go-pinyin v0.18.0 github.com/pkg/sftp v1.12.0 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a google.golang.org/grpc v1.32.0 diff --git a/go.sum b/go.sum index 5a9d5819..dc123c85 100644 --- a/go.sum +++ b/go.sum @@ -64,6 +64,8 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/lionsoul2014/ip2region v2.2.0-release+incompatible h1:1qp9iks+69h7IGLazAplzS9Ca14HAxuD5c0rbFdPGy4= github.com/lionsoul2014/ip2region v2.2.0-release+incompatible/go.mod h1:+ZBN7PBoh5gG6/y0ZQ85vJDBe21WnfbRrQQwTfliJJI= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -72,6 +74,8 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLD github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mozillazg/go-pinyin v0.18.0 h1:hQompXO23/0ohH8YNjvfsAITnCQImCiR/Fny8EhIeW0= +github.com/mozillazg/go-pinyin v0.18.0/go.mod h1:iR4EnMMRXkfpFVV5FMi4FNB6wGq9NV6uDWbUuPhP4Yc= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= @@ -140,6 +144,7 @@ golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/internal/db/models/http_firewall_policy_dao.go b/internal/db/models/http_firewall_policy_dao.go index 3747e872..df816d60 100644 --- a/internal/db/models/http_firewall_policy_dao.go +++ b/internal/db/models/http_firewall_policy_dao.go @@ -136,6 +136,22 @@ func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicyInboundAndOutbound(policy return err } +// 修改策略的Inbound +func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicyInbound(policyId int64, inboundJSON []byte) error { + if policyId <= 0 { + return errors.New("invalid policyId") + } + op := NewHTTPFirewallPolicyOperator() + op.Id = policyId + if len(inboundJSON) > 0 { + op.Inbound = inboundJSON + } else { + op.Inbound = "null" + } + _, err := this.Save(op) + return err +} + // 修改策略 func (this *HTTPFirewallPolicyDAO) UpdateFirewallPolicy(policyId int64, isOn bool, name string, description string, inboundJSON []byte, outboundJSON []byte) error { if policyId <= 0 { diff --git a/internal/db/models/region_city_dao.go b/internal/db/models/region_city_dao.go index 6b710b5c..ef526a32 100644 --- a/internal/db/models/region_city_dao.go +++ b/internal/db/models/region_city_dao.go @@ -1,9 +1,11 @@ package models import ( + "encoding/json" _ "github.com/go-sql-driver/mysql" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" ) const ( @@ -69,3 +71,32 @@ func (this *RegionCityDAO) FindRegionCityName(id uint32) (string, error) { Result("name"). FindStringCol("") } + +// 根据数据ID查找城市 +func (this *RegionCityDAO) FindCityWithDataId(dataId string) (int64, error) { + return this.Query(). + Attr("dataId", dataId). + ResultPk(). + FindInt64Col(0) +} + +// 创建城市 +func (this *RegionCityDAO) CreateCity(provinceId int64, name string, dataId string) (int64, error) { + op := NewRegionCityOperator() + op.ProvinceId = provinceId + op.Name = name + op.DataId = dataId + op.State = RegionCityStateEnabled + + codes := []string{name} + codesJSON, err := json.Marshal(codes) + if err != nil { + return 0, err + } + op.Codes = codesJSON + _, err = this.Save(op) + if err != nil { + return 0, err + } + return types.Int64(op.Id), nil +} diff --git a/internal/db/models/region_city_model.go b/internal/db/models/region_city_model.go index 87d18b1a..98adc7b7 100644 --- a/internal/db/models/region_city_model.go +++ b/internal/db/models/region_city_model.go @@ -7,6 +7,7 @@ type RegionCity struct { Name string `field:"name"` // 名称 Codes string `field:"codes"` // 代号 State uint8 `field:"state"` // 状态 + DataId string `field:"dataId"` // 原始数据ID } type RegionCityOperator struct { @@ -15,6 +16,7 @@ type RegionCityOperator struct { Name interface{} // 名称 Codes interface{} // 代号 State interface{} // 状态 + DataId interface{} // 原始数据ID } func NewRegionCityOperator() *RegionCityOperator { diff --git a/internal/db/models/region_country_dao.go b/internal/db/models/region_country_dao.go index 43fbd28e..a0973690 100644 --- a/internal/db/models/region_country_dao.go +++ b/internal/db/models/region_country_dao.go @@ -1,9 +1,13 @@ package models import ( + "encoding/json" _ "github.com/go-sql-driver/mysql" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" + "github.com/mozillazg/go-pinyin" + "strings" ) const ( @@ -42,7 +46,7 @@ func (this *RegionCountryDAO) EnableRegionCountry(id uint32) error { } // 禁用条目 -func (this *RegionCountryDAO) DisableRegionCountry(id uint32) error { +func (this *RegionCountryDAO) DisableRegionCountry(id int64) error { _, err := this.Query(). Pk(id). Set("state", RegionCountryStateDisabled). @@ -51,7 +55,7 @@ func (this *RegionCountryDAO) DisableRegionCountry(id uint32) error { } // 查找启用中的条目 -func (this *RegionCountryDAO) FindEnabledRegionCountry(id uint32) (*RegionCountry, error) { +func (this *RegionCountryDAO) FindEnabledRegionCountry(id int64) (*RegionCountry, error) { result, err := this.Query(). Pk(id). Attr("state", RegionCountryStateEnabled). @@ -63,9 +67,56 @@ func (this *RegionCountryDAO) FindEnabledRegionCountry(id uint32) (*RegionCountr } // 根据主键查找名称 -func (this *RegionCountryDAO) FindRegionCountryName(id uint32) (string, error) { +func (this *RegionCountryDAO) FindRegionCountryName(id int64) (string, error) { return this.Query(). Pk(id). Result("name"). FindStringCol("") } + +// 根据数据ID查找国家 +func (this *RegionCountryDAO) FindCountryIdWithDataId(dataId string) (int64, error) { + return this.Query(). + Attr("dataId", dataId). + ResultPk(). + FindInt64Col(0) +} + +// 根据数据ID创建国家 +func (this *RegionCountryDAO) CreateCountry(name string, dataId string) (int64, error) { + op := NewRegionCountryOperator() + op.Name = name + + pinyinPieces := pinyin.Pinyin(name, pinyin.NewArgs()) + pinyinResult := []string{} + for _, piece := range pinyinPieces { + pinyinResult = append(pinyinResult, strings.Join(piece, " ")) + } + pinyinJSON, err := json.Marshal([]string{strings.Join(pinyinResult, " ")}) + op.Pinyin = pinyinJSON + + codes := []string{name} + codesJSON, err := json.Marshal(codes) + if err != nil { + return 0, err + } + op.Codes = codesJSON + + op.DataId = dataId + op.State = RegionCountryStateEnabled + _, err = this.Save(op) + if err != nil { + return 0, err + } + return types.Int64(op.Id), nil +} + +// 查找所有可用的国家 +func (this *RegionCountryDAO) FindAllEnabledCountriesOrderByPinyin() (result []*RegionCountry, err error) { + _, err = this.Query(). + State(RegionCountryStateEnabled). + Slice(&result). + Asc("pinyin"). + FindAll() + return +} diff --git a/internal/db/models/region_country_model.go b/internal/db/models/region_country_model.go index a587bffb..52416c7e 100644 --- a/internal/db/models/region_country_model.go +++ b/internal/db/models/region_country_model.go @@ -2,17 +2,21 @@ package models // type RegionCountry struct { - Id uint32 `field:"id"` // ID - Name string `field:"name"` // 名称 - Codes string `field:"codes"` // 代号 - State uint8 `field:"state"` // 状态 + Id uint32 `field:"id"` // ID + Name string `field:"name"` // 名称 + Codes string `field:"codes"` // 代号 + State uint8 `field:"state"` // 状态 + DataId string `field:"dataId"` // 原始数据ID + Pinyin string `field:"pinyin"` // 拼音 } type RegionCountryOperator struct { - Id interface{} // ID - Name interface{} // 名称 - Codes interface{} // 代号 - State interface{} // 状态 + Id interface{} // ID + Name interface{} // 名称 + Codes interface{} // 代号 + State interface{} // 状态 + DataId interface{} // 原始数据ID + Pinyin interface{} // 拼音 } func NewRegionCountryOperator() *RegionCountryOperator { diff --git a/internal/db/models/region_province_dao.go b/internal/db/models/region_province_dao.go index 97789fb3..f4b9ad9c 100644 --- a/internal/db/models/region_province_dao.go +++ b/internal/db/models/region_province_dao.go @@ -1,9 +1,11 @@ package models import ( + "encoding/json" _ "github.com/go-sql-driver/mysql" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/dbs" + "github.com/iwind/TeaGo/types" ) const ( @@ -69,3 +71,43 @@ func (this *RegionProvinceDAO) FindRegionProvinceName(id uint32) (string, error) Result("name"). FindStringCol("") } + +// 根据数据ID查找省份 +func (this *RegionProvinceDAO) FindProvinceIdWithDataId(dataId string) (int64, error) { + return this.Query(). + Attr("dataId", dataId). + ResultPk(). + FindInt64Col(0) +} + +// 创建省份 +func (this *RegionProvinceDAO) CreateProvince(countryId int64, name string, dataId string) (int64, error) { + op := NewRegionProvinceOperator() + op.CountryId = countryId + op.Name = name + op.DataId = dataId + op.State = RegionProvinceStateEnabled + + codes := []string{name} + codesJSON, err := json.Marshal(codes) + if err != nil { + return 0, err + } + op.Codes = codesJSON + _, err = this.Save(op) + if err != nil { + return 0, err + } + return types.Int64(op.Id), nil +} + +// 查找所有省份 +func (this *RegionProvinceDAO) FindAllEnabledProvincesWithCountryId(countryId int64) (result []*RegionProvince, err error) { + _, err = this.Query(). + State(RegionProvinceStateEnabled). + Attr("countryId", countryId). + Asc("name"). + Slice(&result). + FindAll() + return +} diff --git a/internal/db/models/region_province_model.go b/internal/db/models/region_province_model.go index e59a883f..c12222ef 100644 --- a/internal/db/models/region_province_model.go +++ b/internal/db/models/region_province_model.go @@ -7,6 +7,7 @@ type RegionProvince struct { Name string `field:"name"` // 名称 Codes string `field:"codes"` // 代号 State uint8 `field:"state"` // 状态 + DataId string `field:"dataId"` // 原始数据ID } type RegionProvinceOperator struct { @@ -15,6 +16,7 @@ type RegionProvinceOperator struct { Name interface{} // 名称 Codes interface{} // 代号 State interface{} // 状态 + DataId interface{} // 原始数据ID } func NewRegionProvinceOperator() *RegionProvinceOperator { diff --git a/internal/nodes/api_node.go b/internal/nodes/api_node.go index 1c9f1370..65c93fa4 100644 --- a/internal/nodes/api_node.go +++ b/internal/nodes/api_node.go @@ -176,6 +176,8 @@ func (this *APINode) listenRPC(listener net.Listener, tlsConfig *tls.Config) err pb.RegisterIPLibraryServiceServer(rpcServer, &services.IPLibraryService{}) pb.RegisterFileChunkServiceServer(rpcServer, &services.FileChunkService{}) pb.RegisterFileServiceServer(rpcServer, &services.FileService{}) + pb.RegisterRegionCountryServiceServer(rpcServer, &services.RegionCountryService{}) + pb.RegisterRegionProvinceServiceServer(rpcServer, &services.RegionProvinceService{}) err := rpcServer.Serve(listener) if err != nil { return errors.New("[API]start rpc failed: " + err.Error()) diff --git a/internal/rpc/services/service_http_firewall_policy.go b/internal/rpc/services/service_http_firewall_policy.go index f571db5f..82f48637 100644 --- a/internal/rpc/services/service_http_firewall_policy.go +++ b/internal/rpc/services/service_http_firewall_policy.go @@ -251,6 +251,22 @@ func (this *HTTPFirewallPolicyService) UpdateHTTPFirewallPolicyGroups(ctx contex return rpcutils.RPCUpdateSuccess() } +// 修改inbound信息 +func (this *HTTPFirewallPolicyService) UpdateHTTPFirewallInboundConfig(ctx context.Context, req *pb.UpdateHTTPFirewallInboundConfigRequest) (*pb.RPCUpdateSuccess, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + err = models.SharedHTTPFirewallPolicyDAO.UpdateFirewallPolicyInbound(req.FirewallPolicyId, req.InboundJSON) + if err != nil { + return nil, err + } + + return rpcutils.RPCUpdateSuccess() +} + // 计算可用的防火墙策略数量 func (this *HTTPFirewallPolicyService) CountAllEnabledFirewallPolicies(ctx context.Context, req *pb.CountAllEnabledFirewallPoliciesRequest) (*pb.CountAllEnabledFirewallPoliciesResponse, error) { // 校验请求 diff --git a/internal/rpc/services/service_region_country.go b/internal/rpc/services/service_region_country.go new file mode 100644 index 00000000..62f05165 --- /dev/null +++ b/internal/rpc/services/service_region_country.go @@ -0,0 +1,48 @@ +package services + +import ( + "context" + "encoding/json" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +// 国家相关服务 +type RegionCountryService struct { +} + +// 查找所有的国家列表 +func (this *RegionCountryService) FindAllEnabledRegionCountries(ctx context.Context, req *pb.FindAllEnabledRegionCountriesRequest) (*pb.FindAllEnabledRegionCountriesResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + countries, err := models.SharedRegionCountryDAO.FindAllEnabledCountriesOrderByPinyin() + if err != nil { + return nil, err + } + + result := []*pb.RegionCountry{} + for _, country := range countries { + pinyinStrings := []string{} + err = json.Unmarshal([]byte(country.Pinyin), &pinyinStrings) + if err != nil { + return nil, err + } + if len(pinyinStrings) == 0 { + continue + } + + result = append(result, &pb.RegionCountry{ + Id: int64(country.Id), + Name: country.Name, + Pinyin: pinyinStrings, + }) + } + return &pb.FindAllEnabledRegionCountriesResponse{ + Countries: result, + }, nil +} diff --git a/internal/rpc/services/service_region_province.go b/internal/rpc/services/service_region_province.go new file mode 100644 index 00000000..64052d6d --- /dev/null +++ b/internal/rpc/services/service_region_province.go @@ -0,0 +1,37 @@ +package services + +import ( + "context" + "github.com/TeaOSLab/EdgeAPI/internal/db/models" + rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" +) + +// 省份相关服务 +type RegionProvinceService struct { +} + +// 查找所有省份 +func (this *RegionProvinceService) FindAllEnabledRegionProvincesWithCountryId(ctx context.Context, req *pb.FindAllEnabledRegionProvincesWithCountryIdRequest) (*pb.FindAllEnabledRegionProvincesWithCountryIdResponse, error) { + // 校验请求 + _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin) + if err != nil { + return nil, err + } + + provinces, err := models.SharedRegionProvinceDAO.FindAllEnabledProvincesWithCountryId(req.CountryId) + if err != nil { + return nil, err + } + result := []*pb.RegionProvince{} + for _, province := range provinces { + result = append(result, &pb.RegionProvince{ + Id: int64(province.Id), + Name: province.Name, + }) + } + + return &pb.FindAllEnabledRegionProvincesWithCountryIdResponse{ + Provinces: result, + }, nil +}