diff --git a/application/admin/model/Area.php b/application/admin/model/Area.php index 34c075f..2491a2a 100644 --- a/application/admin/model/Area.php +++ b/application/admin/model/Area.php @@ -10,7 +10,7 @@ class Area extends Model { // 表名 - protected $name = 'areas'; + protected $name = 'area'; public function getNameByCode($code){ @@ -24,7 +24,6 @@ class Area extends Model ->where('level','<',3) ->select(); - // dd($ruleList); foreach ($res as &$v) { diff --git a/application/command.php b/application/command.php index e62e231..56cea5c 100755 --- a/application/command.php +++ b/application/command.php @@ -31,4 +31,5 @@ return [ 'app\common\command\CheckTTSTaskCommand', 'app\common\command\CheckTTSPlantCommand', 'app\common\command\FixOrderOvertime', + 'app\common\command\ImportArea', ]; diff --git a/application/common/command/ImportArea.php b/application/common/command/ImportArea.php new file mode 100644 index 0000000..533d22a --- /dev/null +++ b/application/common/command/ImportArea.php @@ -0,0 +1,81 @@ +setName('import:area') + ->setDescription('导入港澳台行政区域数据到 fa_area 表'); + } + + protected function execute(Input $input, Output $output) + { + // 区域数据(来自你提供的 JSON) + $areaData = json_decode(file_get_contents(__DIR__ . '/area.json'), true); + + Db::startTrans(); + $out = []; + try { + foreach ($areaData as $parentCode => $children) { + foreach ($children as $code => $name) { + + if (strlen(rtrim($parentCode, '0')) == 2) { + // 省 -> 市(Level 2) + $provinceCode = $parentCode; + $level = 2; + $shortMergeName = $name; + $data = [ + 'code' => rtrim($code, "0"), + 'name' => $name, + 'short_name' => $name, + 'merge_name' => $name, + 'short_merge_name' => $shortMergeName, + 'level' => $level, + 'province_code' => rtrim($provinceCode, "0"), + 'city_code' => rtrim($code, "0"), + 'area_code' => rtrim($code, "0"), + 'pinyin' => '', + 'abbr' => '' + ]; + $out[] = $data; +// dd($data); + } else { + // 市 -> 区(Level 3) + + $data = [ + 'code' => rtrim($code, '0'), + 'name' => $name, + 'short_name' => $name, + 'merge_name' => $areaData[substr($parentCode, 0,2) . '0000'][$parentCode] . '/' . $name, + 'short_merge_name' => $name, + 'level' => 3, + 'province_code' => rtrim($parentCode, '0'), + 'city_code' => rtrim($code, '0'), + 'area_code' => rtrim($code, '0'), + 'pinyin' => '', + 'abbr' => '' + ]; + $out[] = $data; +// dd($data); + } + } + } + + + Db::table('fa_area')->insertAll($out); + Db::commit(); + $output->writeln("港澳台区域数据导入成功!"); + } catch (\Throwable $e) { + Db::rollback(); + throw $e; + $output->writeln("导入失败:" . $e->getMessage() . ""); + } + } +} diff --git a/application/common/command/area.json b/application/common/command/area.json new file mode 100644 index 0000000..969f9d5 --- /dev/null +++ b/application/common/command/area.json @@ -0,0 +1,454 @@ +{ + "710100": { + "710101": "中正区", + "710102": "大同区", + "710103": "中山区", + "710104": "松山区", + "710105": "大安区", + "710106": "万华区", + "710107": "信义区", + "710108": "士林区", + "710109": "北投区", + "710110": "内湖区", + "710111": "南港区", + "710112": "文山区" + }, + "710000": { + "710100": "台北市", + "710200": "高雄市", + "710300": "台南市", + "710400": "台中市", + "710600": "南投县", + "710700": "基隆市", + "710800": "新竹市", + "710900": "嘉义市", + "711100": "新北市", + "711200": "宜兰县", + "711300": "新竹县", + "711400": "桃园市", + "711500": "苗栗县", + "711700": "彰化县", + "711900": "嘉义县", + "712100": "云林县", + "712400": "屏东县", + "712500": "台东县", + "712600": "花莲县", + "712700": "澎湖县" + }, + "710200": { + "710201": "新兴区", + "710202": "前金区", + "710203": "苓雅区", + "710204": "盐埕区", + "710205": "鼓山区", + "710206": "旗津区", + "710207": "前镇区", + "710208": "三民区", + "710209": "左营区", + "710210": "楠梓区", + "710211": "小港区", + "710242": "仁武区", + "710243": "大社区", + "710244": "冈山区", + "710245": "路竹区", + "710246": "阿莲区", + "710247": "田寮区", + "710248": "燕巢区", + "710249": "桥头区", + "710250": "梓官区", + "710251": "弥陀区", + "710252": "永安区", + "710253": "湖内区", + "710254": "凤山区", + "710255": "大寮区", + "710256": "林园区", + "710257": "鸟松区", + "710258": "大树区", + "710259": "旗山区", + "710260": "美浓区", + "710261": "六龟区", + "710262": "内门区", + "710263": "杉林区", + "710264": "甲仙区", + "710265": "桃源区", + "710266": "那玛夏区", + "710267": "茂林区", + "710268": "茄萣区" + }, + "710300": { + "710301": "中西区", + "710302": "东区", + "710303": "南区", + "710304": "北区", + "710305": "安平区", + "710306": "安南区", + "710339": "永康区", + "710340": "归仁区", + "710341": "新化区", + "710342": "左镇区", + "710343": "玉井区", + "710344": "楠西区", + "710345": "南化区", + "710346": "仁德区", + "710347": "关庙区", + "710348": "龙崎区", + "710349": "官田区", + "710350": "麻豆区", + "710351": "佳里区", + "710352": "西港区", + "710353": "七股区", + "710354": "将军区", + "710355": "学甲区", + "710356": "北门区", + "710357": "新营区", + "710358": "后壁区", + "710359": "白河区", + "710360": "东山区", + "710361": "六甲区", + "710362": "下营区", + "710363": "柳营区", + "710364": "盐水区", + "710365": "善化区", + "710366": "大内区", + "710367": "山上区", + "710368": "新市区", + "710369": "安定区" + }, + "710400": { + "710401": "中区", + "710402": "东区", + "710403": "南区", + "710404": "西区", + "710405": "北区", + "710406": "北屯区", + "710407": "西屯区", + "710408": "南屯区", + "710431": "太平区", + "710432": "大里区", + "710433": "雾峰区", + "710434": "乌日区", + "710435": "丰原区", + "710436": "后里区", + "710437": "石冈区", + "710438": "东势区", + "710439": "和平区", + "710440": "新社区", + "710441": "潭子区", + "710442": "大雅区", + "710443": "神冈区", + "710444": "大肚区", + "710445": "沙鹿区", + "710446": "龙井区", + "710447": "梧栖区", + "710448": "清水区", + "710449": "大甲区", + "710450": "外埔区", + "710451": "大安区" + }, + "710600": { + "710614": "南投市", + "710615": "中寮乡", + "710616": "草屯镇", + "710617": "国姓乡", + "710618": "埔里镇", + "710619": "仁爱乡", + "710620": "名间乡", + "710621": "集集镇", + "710622": "水里乡", + "710623": "鱼池乡", + "710624": "信义乡", + "710625": "竹山镇", + "710626": "鹿谷乡" + }, + "710700": { + "710701": "仁爱区", + "710702": "信义区", + "710703": "中正区", + "710704": "中山区", + "710705": "安乐区", + "710706": "暖暖区", + "710707": "七堵区" + }, + "710800": { + "710801": "东区", + "710802": "北区", + "710803": "香山区" + }, + "710900": { + "710901": "东区", + "710902": "西区" + }, + "711100": { + "711130": "万里区", + "711131": "金山区", + "711132": "板桥区", + "711133": "汐止区", + "711134": "深坑区", + "711135": "石碇区", + "711136": "瑞芳区", + "711137": "平溪区", + "711138": "双溪区", + "711139": "贡寮区", + "711140": "新店区", + "711141": "坪林区", + "711142": "乌来区", + "711143": "永和区", + "711144": "中和区", + "711145": "土城区", + "711146": "三峡区", + "711147": "树林区", + "711148": "莺歌区", + "711149": "三重区", + "711150": "新庄区", + "711151": "泰山区", + "711152": "林口区", + "711153": "芦洲区", + "711154": "五股区", + "711155": "八里区", + "711156": "淡水区", + "711157": "三芝区", + "711158": "石门区" + }, + "711200": { + "711214": "宜兰市", + "711215": "头城镇", + "711216": "礁溪乡", + "711217": "壮围乡", + "711218": "员山乡", + "711219": "罗东镇", + "711220": "三星乡", + "711221": "大同乡", + "711222": "五结乡", + "711223": "冬山乡", + "711224": "苏澳镇", + "711225": "南澳乡" + }, + "711300": { + "711314": "竹北市", + "711315": "湖口乡", + "711316": "新丰乡", + "711317": "新埔镇", + "711318": "关西镇", + "711319": "芎林乡", + "711320": "宝山乡", + "711321": "竹东镇", + "711322": "五峰乡", + "711323": "横山乡", + "711324": "尖石乡", + "711325": "北埔乡", + "711326": "峨眉乡" + }, + "711400": { + "711414": "中坜区", + "711415": "平镇区", + "711416": "龙潭区", + "711417": "杨梅区", + "711418": "新屋区", + "711419": "观音区", + "711420": "桃园区", + "711421": "龟山区", + "711422": "八德区", + "711423": "大溪区", + "711424": "复兴区", + "711425": "大园区", + "711426": "芦竹区" + }, + "711500": { + "711519": "竹南镇", + "711520": "头份市", + "711521": "三湾乡", + "711522": "南庄乡", + "711523": "狮潭乡", + "711524": "后龙镇", + "711525": "通霄镇", + "711526": "苑里镇", + "711527": "苗栗市", + "711528": "造桥乡", + "711529": "头屋乡", + "711530": "公馆乡", + "711531": "大湖乡", + "711532": "泰安乡", + "711533": "铜锣乡", + "711534": "三义乡", + "711535": "西湖乡", + "711536": "卓兰镇" + }, + "711700": { + "711727": "彰化市", + "711728": "芬园乡", + "711729": "花坛乡", + "711730": "秀水乡", + "711731": "鹿港镇", + "711732": "福兴乡", + "711733": "线西乡", + "711734": "和美镇", + "711735": "伸港乡", + "711736": "员林市", + "711737": "社头乡", + "711738": "永靖乡", + "711739": "埔心乡", + "711740": "溪湖镇", + "711741": "大村乡", + "711742": "埔盐乡", + "711743": "田中镇", + "711744": "北斗镇", + "711745": "田尾乡", + "711746": "埤头乡", + "711747": "溪州乡", + "711748": "竹塘乡", + "711749": "二林镇", + "711750": "大城乡", + "711751": "芳苑乡", + "711752": "二水乡" + }, + "711900": { + "711919": "番路乡", + "711920": "梅山乡", + "711921": "竹崎乡", + "711922": "阿里山乡", + "711923": "中埔乡", + "711924": "大埔乡", + "711925": "水上乡", + "711926": "鹿草乡", + "711927": "太保市", + "711928": "朴子市", + "711929": "东石乡", + "711930": "六脚乡", + "711931": "新港乡", + "711932": "民雄乡", + "711933": "大林镇", + "711934": "溪口乡", + "711935": "义竹乡", + "711936": "布袋镇" + }, + "712100": { + "712121": "斗南镇", + "712122": "大埤乡", + "712123": "虎尾镇", + "712124": "土库镇", + "712125": "褒忠乡", + "712126": "东势乡", + "712127": "台西乡", + "712128": "仑背乡", + "712129": "麦寮乡", + "712130": "斗六市", + "712131": "林内乡", + "712132": "古坑乡", + "712133": "莿桐乡", + "712134": "西螺镇", + "712135": "二仑乡", + "712136": "北港镇", + "712137": "水林乡", + "712138": "口湖乡", + "712139": "四湖乡", + "712140": "元长乡" + }, + "712400": { + "712434": "屏东市", + "712435": "三地门乡", + "712436": "雾台乡", + "712437": "玛家乡", + "712438": "九如乡", + "712439": "里港乡", + "712440": "高树乡", + "712441": "盐埔乡", + "712442": "长治乡", + "712443": "麟洛乡", + "712444": "竹田乡", + "712445": "内埔乡", + "712446": "万丹乡", + "712447": "潮州镇", + "712448": "泰武乡", + "712449": "来义乡", + "712450": "万峦乡", + "712451": "崁顶乡", + "712452": "新埤乡", + "712453": "南州乡", + "712454": "林边乡", + "712455": "东港镇", + "712456": "琉球乡", + "712457": "佳冬乡", + "712458": "新园乡", + "712459": "枋寮乡", + "712460": "枋山乡", + "712461": "春日乡", + "712462": "狮子乡", + "712463": "车城乡", + "712464": "牡丹乡", + "712465": "恒春镇", + "712466": "满州乡" + }, + "712500": { + "712517": "台东市", + "712518": "绿岛乡", + "712519": "兰屿乡", + "712520": "延平乡", + "712521": "卑南乡", + "712522": "鹿野乡", + "712523": "关山镇", + "712524": "海端乡", + "712525": "池上乡", + "712526": "东河乡", + "712527": "成功镇", + "712528": "长滨乡", + "712529": "金峰乡", + "712530": "大武乡", + "712531": "达仁乡", + "712532": "太麻里乡" + }, + "712600": { + "712615": "花莲市", + "712616": "新城乡", + "712618": "秀林乡", + "712619": "吉安乡", + "712620": "寿丰乡", + "712621": "凤林镇", + "712622": "光复乡", + "712623": "丰滨乡", + "712624": "瑞穗乡", + "712625": "万荣乡", + "712626": "玉里镇", + "712627": "卓溪乡", + "712628": "富里乡" + }, + "712700": { + "712707": "马公市", + "712708": "西屿乡", + "712709": "望安乡", + "712710": "七美乡", + "712711": "白沙乡", + "712712": "湖西乡" + }, + "810000": { + "810100": "香港特别行政区" + }, + "810100": { + "810101": "中西区", + "810102": "东区", + "810103": "九龙城区", + "810104": "观塘区", + "810105": "南区", + "810106": "深水埗区", + "810107": "湾仔区", + "810108": "黄大仙区", + "810109": "油尖旺区", + "810110": "离岛区", + "810111": "葵青区", + "810112": "北区", + "810113": "西贡区", + "810114": "沙田区", + "810115": "屯门区", + "810116": "大埔区", + "810117": "荃湾区", + "810118": "元朗区" + }, + "820000": { + "820100": "澳门特别行政区" + }, + "820100": { + "820101": "澳门半岛", + "820102": "凼仔", + "820103": "路凼城", + "820104": "路环" + } +} \ No newline at end of file