添加港澳台

This commit is contained in:
hant 2025-07-14 23:13:11 +08:00
parent 8f397730d3
commit 14aa3a5d21
4 changed files with 537 additions and 2 deletions

View File

@ -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) {

View File

@ -31,4 +31,5 @@ return [
'app\common\command\CheckTTSTaskCommand',
'app\common\command\CheckTTSPlantCommand',
'app\common\command\FixOrderOvertime',
'app\common\command\ImportArea',
];

View File

@ -0,0 +1,81 @@
<?php
namespace app\common\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
use think\Db;
class ImportArea extends Command
{
protected function configure()
{
$this->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("<info>港澳台区域数据导入成功!</info>");
} catch (\Throwable $e) {
Db::rollback();
throw $e;
$output->writeln("<error>导入失败:" . $e->getMessage() . "</error>");
}
}
}

View File

@ -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": "路环"
}
}