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