识别
This commit is contained in:
parent
e8a7dbddc3
commit
bbde06adb1
301
application/admin/addresmart/Address.php
Normal file
301
application/admin/addresmart/Address.php
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
<?php
|
||||
namespace app\admin\addresmart;
|
||||
use app\admin\model\Item;
|
||||
|
||||
class Address
|
||||
{
|
||||
/*
|
||||
** 智能解析
|
||||
*/
|
||||
public static function smart($string, $user = true)
|
||||
{
|
||||
$items = new Item();
|
||||
$array = $items->getAll();
|
||||
$name_items = [];
|
||||
$name_items_map = [];
|
||||
foreach ($array as $item){
|
||||
$name_items [] = $item->title;
|
||||
$name_items_map [$item->title] = $item->id;
|
||||
}
|
||||
$type = self::findMostSimilar($string,$name_items);
|
||||
$type_arr = explode('__',$type);
|
||||
$type = $type_arr[0] ?? '';
|
||||
$str = $type_arr[1] ?? '';
|
||||
$string = str_replace($str,'',$string);
|
||||
if ($user) {
|
||||
$decompose = self::decompose($string);
|
||||
$re = $decompose;
|
||||
} else {
|
||||
$re['addr'] = $string;
|
||||
}
|
||||
|
||||
|
||||
$fuzz = self::fuzz($re['addr']);
|
||||
$parse = self::parse($fuzz['a1'], $fuzz['a2'], $fuzz['a3']);
|
||||
|
||||
$re['province'] = $parse['province'];
|
||||
$re['city'] = $parse['city'];
|
||||
$re['region'] = $parse['region'];
|
||||
$re['item'] = [
|
||||
'id'=> $name_items_map[$type] ?? 0,
|
||||
'item' => $type ?? ''
|
||||
];
|
||||
|
||||
$re['street'] = ($fuzz['street']) ?: '';
|
||||
$re['street'] = str_replace([$re['region'], $re['city'], $re['province']], ['', '', ''], $re['street']);
|
||||
|
||||
return $re;
|
||||
}
|
||||
public static function extractChineseWords($str) {
|
||||
// 只保留中文
|
||||
preg_match_all('/\p{Han}+/u', $str, $matches);
|
||||
return $matches[0] ?? []; // 返回拆分后的数组
|
||||
}
|
||||
public static function findMostSimilar($input, $array) {
|
||||
$words = self::extractChineseWords($input); // 拆分成多个部分
|
||||
$finalScores = [];
|
||||
|
||||
foreach ($words as $word) {
|
||||
$similarities = [];
|
||||
|
||||
foreach ($array as $item) {
|
||||
similar_text($word, $item, $percent);
|
||||
$similarities[$item] = max($percent, $similarities[$item] ?? 0);
|
||||
}
|
||||
|
||||
arsort($similarities); // 按相似度降序
|
||||
$bestMatch = array_key_first($similarities); // 取最高匹配项
|
||||
$finalScores[$bestMatch.'__'.$word] = $similarities[$bestMatch];
|
||||
}
|
||||
arsort($finalScores); // 计算整体匹配度,选择最高的
|
||||
return array_key_first($finalScores); // 返回最终匹配结果
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
** 分离手机号(座机),身份证号,姓名等用户信息
|
||||
*/
|
||||
public static function decompose($string)
|
||||
{
|
||||
|
||||
$compose = array();
|
||||
|
||||
$search = array('收货地址', '详细地址', '地址', '收货人', '收件人', '收货', '所在地区', '邮编', '电话', '手机号码','身份证号码', '身份证号', '身份证', ':', ':', ';', ';', ',', ',', '。');
|
||||
$replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ');
|
||||
$string = str_replace($search, $replace, $string);
|
||||
|
||||
$string = preg_replace('/\s{1,}/', ' ', $string);
|
||||
|
||||
$string = preg_replace('/0?(\d{3})-(\d{4})-(\d{4})([-_]\d{1,})/', '$1$2$3$4', $string);
|
||||
|
||||
preg_match('/\d{18}|\d{17}X/i', $string, $match);
|
||||
if ($match && $match[0]) {
|
||||
$compose['idn'] = strtoupper($match[0]);
|
||||
$string = str_replace($match[0], '', $string);
|
||||
}
|
||||
|
||||
preg_match('/\d{7,11}[\-_]\d{2,6}|\d{7,11}|\d{3,4}-\d{6,8}/', $string, $match);
|
||||
if ($match && $match[0]) {
|
||||
$compose['mobile'] = $match[0];
|
||||
$string = str_replace($match[0], '', $string);
|
||||
}
|
||||
|
||||
preg_match('/\d{6}/', $string, $match);
|
||||
if ($match && $match[0]) {
|
||||
$compose['postcode'] = $match[0];
|
||||
$string = str_replace($match[0], '', $string);
|
||||
}
|
||||
|
||||
$string = trim(preg_replace('/ {2,}/', ' ', $string));
|
||||
|
||||
$split_arr = explode(' ', $string);
|
||||
if (count($split_arr) > 1) {
|
||||
$compose['name'] = $split_arr[0];
|
||||
foreach ($split_arr as $value) {
|
||||
if (strlen($value) < strlen($compose['name'])) {
|
||||
$compose['name'] = $value;
|
||||
}
|
||||
}
|
||||
$string = trim(str_replace($compose['name'], '', $string));
|
||||
}
|
||||
|
||||
$compose['addr'] = $string;
|
||||
|
||||
return $compose;
|
||||
}
|
||||
|
||||
/*
|
||||
** 根据统计规律分析出二三级地址
|
||||
*/
|
||||
public static function fuzz($addr)
|
||||
{
|
||||
$addr_origin = $addr;
|
||||
$addr = str_replace([' ', ','], ['', ''], $addr);
|
||||
$addr = str_replace('自治区', '省', $addr);
|
||||
$addr = str_replace('自治州', '州', $addr);
|
||||
|
||||
$addr = str_replace('小区', '', $addr);
|
||||
$addr = str_replace('校区', '', $addr);
|
||||
|
||||
$a1 = '';
|
||||
$a2 = '';
|
||||
$a3 = '';
|
||||
$street = '';
|
||||
|
||||
if (mb_strpos($addr, '县') !== false && mb_strpos($addr, '县') < floor((mb_strlen($addr) / 3) * 2) || (mb_strpos($addr, '区') !== false && mb_strpos($addr, '区') < floor((mb_strlen($addr) / 3) * 2)) || mb_strpos($addr, '旗') !== false && mb_strpos($addr, '旗') < floor((mb_strlen($addr) / 3) * 2)) {
|
||||
|
||||
if (mb_strstr($addr, '旗')) {
|
||||
$deep3_keyword_pos = mb_strpos($addr, '旗');
|
||||
$a3 = mb_substr($addr, $deep3_keyword_pos - 1, 2);
|
||||
}
|
||||
if (mb_strstr($addr, '区')) {
|
||||
$deep3_keyword_pos = mb_strpos($addr, '区');
|
||||
|
||||
if (mb_strstr($addr, '市')) {
|
||||
$city_pos = mb_strpos($addr, '市');
|
||||
$zone_pos = mb_strpos($addr, '区');
|
||||
$a3 = mb_substr($addr, $city_pos + 1, $zone_pos - $city_pos);
|
||||
} else {
|
||||
$a3 = mb_substr($addr, $deep3_keyword_pos - 2, 3);
|
||||
}
|
||||
}
|
||||
if (mb_strstr($addr, '县')) {
|
||||
$deep3_keyword_pos = mb_strpos($addr, '县');
|
||||
|
||||
if (mb_strstr($addr, '市')) {
|
||||
$city_pos = mb_strpos($addr, '市');
|
||||
$zone_pos = mb_strpos($addr, '县');
|
||||
$a3 = mb_substr($addr, $city_pos + 1, $zone_pos - $city_pos);
|
||||
} else {
|
||||
|
||||
if (mb_strstr($addr, '自治县')) {
|
||||
$a3 = mb_substr($addr, $deep3_keyword_pos - 6, 7);
|
||||
if (in_array(mb_substr($a3, 0, 1), ['省', '市', '州'])) {
|
||||
$a3 = mb_substr($a3, 1);
|
||||
}
|
||||
} else {
|
||||
$a3 = mb_substr($addr, $deep3_keyword_pos - 2, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
$street = mb_substr($addr_origin, $deep3_keyword_pos + 1);
|
||||
} else {
|
||||
if (mb_strripos($addr, '市')) {
|
||||
|
||||
if (mb_substr_count($addr, '市') == 1) {
|
||||
$deep3_keyword_pos = mb_strripos($addr, '市');
|
||||
$a3 = mb_substr($addr, $deep3_keyword_pos - 2, 3);
|
||||
$street = mb_substr($addr_origin, $deep3_keyword_pos + 1);
|
||||
} else if (mb_substr_count($addr, '市') >= 2) {
|
||||
$deep3_keyword_pos = mb_strripos($addr, '市');
|
||||
$a3 = mb_substr($addr, $deep3_keyword_pos - 2, 3);
|
||||
$street = mb_substr($addr_origin, $deep3_keyword_pos + 1);
|
||||
}
|
||||
} else {
|
||||
|
||||
$a3 = '';
|
||||
$street = $addr;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_strpos($addr, '市') || mb_strstr($addr, '盟') || mb_strstr($addr, '州')) {
|
||||
if ($tmp_pos = mb_strpos($addr, '市')) {
|
||||
$a2 = mb_substr($addr, $tmp_pos - 2, 3);
|
||||
} else if ($tmp_pos = mb_strpos($addr, '盟')) {
|
||||
$a2 = mb_substr($addr, $tmp_pos - 2, 3);
|
||||
} else if ($tmp_pos = mb_strpos($addr, '州')) {
|
||||
|
||||
if ($tmp_pos = mb_strpos($addr, '自治州')) {
|
||||
$a2 = mb_substr($addr, $tmp_pos - 4, 5);
|
||||
} else {
|
||||
$a2 = mb_substr($addr, $tmp_pos - 2, 3);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$a2 = '';
|
||||
}
|
||||
$a2;
|
||||
|
||||
$r = array(
|
||||
'a1' => $a1,
|
||||
'a2' => $a2,
|
||||
'a3' => $a3,
|
||||
'street' => $street,
|
||||
);
|
||||
|
||||
return $r;
|
||||
}
|
||||
|
||||
/*
|
||||
** 智能解析出省市区+街道地址
|
||||
*/
|
||||
public static function parse($a1, $a2, $a3)
|
||||
{
|
||||
require 'data/a3.php';
|
||||
require 'data/a2.php';
|
||||
require 'data/a1.php';
|
||||
|
||||
$r = array();
|
||||
|
||||
if ($a3 != '') {
|
||||
|
||||
$area3_matches = array();
|
||||
foreach ($a3_data as $id => $v) {
|
||||
if (mb_strpos($v['name'], $a3) !== false) {
|
||||
$area3_matches[$id] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
if ($area3_matches && count($area3_matches) > 1) {
|
||||
if ($a2) {
|
||||
foreach ($a2_data as $id => $v) {
|
||||
if (mb_strpos($v['name'], $a2) !== false) {
|
||||
$area2_matches[$id] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
if ($area2_matches) {
|
||||
foreach ($area3_matches as $id => $v) {
|
||||
|
||||
if (isset($area2_matches[$v['pid']])) {
|
||||
$r['city'] = $area2_matches[$v['pid']]['name'];
|
||||
$r['region'] = $v['name'];
|
||||
$sheng_id = $area2_matches[$v['pid']]['pid'];
|
||||
$r['province'] = $a1_data[$sheng_id]['name'];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
$r['province'] = '';
|
||||
$r['city'] = '';
|
||||
$r['region'] = $a3;
|
||||
}
|
||||
} else if ($area3_matches && count($area3_matches) == 1) {
|
||||
foreach ($area3_matches as $id => $v) {
|
||||
$city_id = $v['pid'];
|
||||
$r['region'] = $v['name'];
|
||||
}
|
||||
$city = $a2_data[$city_id];
|
||||
$province = $a1_data[$city['pid']];
|
||||
|
||||
$r['province'] = $province['name'];
|
||||
$r['city'] = $city['name'];
|
||||
} else if (empty($area3_matches) && $a2 == $a3) {
|
||||
|
||||
foreach ($a2_data as $id => $v) {
|
||||
if (mb_strpos($v['name'], $a2) !== false) {
|
||||
$area2_matches[$id] = $v;
|
||||
$sheng_id = $v['pid'];
|
||||
$r['city'] = $v['name'];
|
||||
}
|
||||
}
|
||||
|
||||
$r['province'] = $a1_data[$sheng_id]['name'];
|
||||
$r['region'] = '';
|
||||
}
|
||||
}
|
||||
|
||||
return $r;
|
||||
}
|
||||
}
|
||||
39
application/admin/addresmart/data/a1.php
Normal file
39
application/admin/addresmart/data/a1.php
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
$a1_data = array(
|
||||
'1' => array('name' => '北京', 'pid' => 0),
|
||||
'2' => array('name' => '天津', 'pid' => 0),
|
||||
'3' => array('name' => '河北省', 'pid' => 0),
|
||||
'4' => array('name' => '山西省', 'pid' => 0),
|
||||
'5' => array('name' => '内蒙古自治区', 'pid' => 0),
|
||||
'6' => array('name' => '辽宁省', 'pid' => 0),
|
||||
'7' => array('name' => '吉林省', 'pid' => 0),
|
||||
'8' => array('name' => '黑龙江省', 'pid' => 0),
|
||||
'9' => array('name' => '上海', 'pid' => 0),
|
||||
'10' => array('name' => '江苏省', 'pid' => 0),
|
||||
'11' => array('name' => '浙江省', 'pid' => 0),
|
||||
'12' => array('name' => '安徽省', 'pid' => 0),
|
||||
'13' => array('name' => '福建省', 'pid' => 0),
|
||||
'14' => array('name' => '江西省', 'pid' => 0),
|
||||
'15' => array('name' => '山东省', 'pid' => 0),
|
||||
'16' => array('name' => '河南省', 'pid' => 0),
|
||||
'17' => array('name' => '湖北省', 'pid' => 0),
|
||||
'18' => array('name' => '湖南省', 'pid' => 0),
|
||||
'19' => array('name' => '广东省', 'pid' => 0),
|
||||
'20' => array('name' => '广西壮族自治区', 'pid' => 0),
|
||||
'21' => array('name' => '海南省', 'pid' => 0),
|
||||
'22' => array('name' => '重庆', 'pid' => 0),
|
||||
'23' => array('name' => '四川省', 'pid' => 0),
|
||||
'24' => array('name' => '贵州省', 'pid' => 0),
|
||||
'25' => array('name' => '云南省', 'pid' => 0),
|
||||
'26' => array('name' => '西藏自治区', 'pid' => 0),
|
||||
'27' => array('name' => '陕西省', 'pid' => 0),
|
||||
'28' => array('name' => '甘肃省', 'pid' => 0),
|
||||
'29' => array('name' => '青海省', 'pid' => 0),
|
||||
'30' => array('name' => '宁夏回族自治区', 'pid' => 0),
|
||||
'31' => array('name' => '新疆维吾尔自治区', 'pid' => 0),
|
||||
'32' => array('name' => '台湾省', 'pid' => 0),
|
||||
'33' => array('name' => '香港特别行政区', 'pid' => 0),
|
||||
'34' => array('name' => '澳门特别行政区', 'pid' => 0),
|
||||
'35' => array('name' => '海外', 'pid' => 0),
|
||||
);
|
||||
413
application/admin/addresmart/data/a2.php
Normal file
413
application/admin/addresmart/data/a2.php
Normal file
|
|
@ -0,0 +1,413 @@
|
|||
<?php
|
||||
|
||||
$a2_data = array(
|
||||
'36' => array('name' => '北京市', 'pid' => 1, 'zipcode' => 100000),
|
||||
'39' => array('name' => '上海市', 'pid' => 9, 'zipcode' => 200000),
|
||||
'40' => array('name' => '天津市', 'pid' => 2, 'zipcode' => 300000),
|
||||
'62' => array('name' => '重庆市', 'pid' => 22, 'zipcode' => 404100),
|
||||
'73' => array('name' => '石家庄市', 'pid' => 3, 'zipcode' => 50000),
|
||||
'74' => array('name' => '唐山市', 'pid' => 3, 'zipcode' => 63000),
|
||||
'75' => array('name' => '秦皇岛市', 'pid' => 3, 'zipcode' => 66000),
|
||||
'76' => array('name' => '邯郸市', 'pid' => 3, 'zipcode' => 56000),
|
||||
'77' => array('name' => '邢台市', 'pid' => 3, 'zipcode' => 54000),
|
||||
'78' => array('name' => '保定市', 'pid' => 3, 'zipcode' => 71000),
|
||||
'79' => array('name' => '张家口市', 'pid' => 3, 'zipcode' => 75000),
|
||||
'80' => array('name' => '承德市', 'pid' => 3, 'zipcode' => 67400),
|
||||
'81' => array('name' => '衡水市', 'pid' => 3, 'zipcode' => 53000),
|
||||
'82' => array('name' => '廊坊市', 'pid' => 3, 'zipcode' => 65000),
|
||||
'83' => array('name' => '沧州市', 'pid' => 3, 'zipcode' => 61000),
|
||||
'84' => array('name' => '太原市', 'pid' => 4, 'zipcode' => 30000),
|
||||
'85' => array('name' => '大同市', 'pid' => 4, 'zipcode' => 163000),
|
||||
'86' => array('name' => '阳泉市', 'pid' => 4, 'zipcode' => 45000),
|
||||
'87' => array('name' => '长治市', 'pid' => 4, 'zipcode' => 46000),
|
||||
'88' => array('name' => '晋城市', 'pid' => 4, 'zipcode' => 48000),
|
||||
'89' => array('name' => '朔州市', 'pid' => 4, 'zipcode' => 36000),
|
||||
'90' => array('name' => '晋中市', 'pid' => 4, 'zipcode' => 30600),
|
||||
'91' => array('name' => '运城市', 'pid' => 4, 'zipcode' => 44000),
|
||||
'92' => array('name' => '忻州市', 'pid' => 4, 'zipcode' => 34000),
|
||||
'93' => array('name' => '临汾市', 'pid' => 4, 'zipcode' => 41000),
|
||||
'94' => array('name' => '吕梁市', 'pid' => 4, 'zipcode' => 33000),
|
||||
'95' => array('name' => '呼和浩特市', 'pid' => 5, 'zipcode' => 10000),
|
||||
'96' => array('name' => '包头市', 'pid' => 5, 'zipcode' => 14000),
|
||||
'97' => array('name' => '乌海市', 'pid' => 5, 'zipcode' => 16000),
|
||||
'98' => array('name' => '赤峰市', 'pid' => 5, 'zipcode' => 24000),
|
||||
'99' => array('name' => '通辽市', 'pid' => 5, 'zipcode' => 28000),
|
||||
'100' => array('name' => '鄂尔多斯市', 'pid' => 5, 'zipcode' => 17000),
|
||||
'101' => array('name' => '呼伦贝尔市', 'pid' => 5, 'zipcode' => 21000),
|
||||
'102' => array('name' => '巴彦淖尔市', 'pid' => 5, 'zipcode' => 15000),
|
||||
'103' => array('name' => '乌兰察布市', 'pid' => 5, 'zipcode' => 12000),
|
||||
'104' => array('name' => '兴安盟', 'pid' => 5, 'zipcode' => 137400),
|
||||
'105' => array('name' => '锡林郭勒盟', 'pid' => 5, 'zipcode' => 26000),
|
||||
'106' => array('name' => '阿拉善盟', 'pid' => 5, 'zipcode' => 16055),
|
||||
'107' => array('name' => '沈阳市', 'pid' => 6, 'zipcode' => 110000),
|
||||
'108' => array('name' => '大连市', 'pid' => 6, 'zipcode' => 116000),
|
||||
'109' => array('name' => '鞍山市', 'pid' => 6, 'zipcode' => 114000),
|
||||
'110' => array('name' => '抚顺市', 'pid' => 6, 'zipcode' => 113100),
|
||||
'111' => array('name' => '本溪市', 'pid' => 6, 'zipcode' => 117100),
|
||||
'112' => array('name' => '丹东市', 'pid' => 6, 'zipcode' => 118000),
|
||||
'113' => array('name' => '锦州市', 'pid' => 6, 'zipcode' => 121000),
|
||||
'114' => array('name' => '营口市', 'pid' => 6, 'zipcode' => 115000),
|
||||
'115' => array('name' => '阜新市', 'pid' => 6, 'zipcode' => 123100),
|
||||
'116' => array('name' => '辽阳市', 'pid' => 6, 'zipcode' => 111200),
|
||||
'117' => array('name' => '盘锦市', 'pid' => 6, 'zipcode' => 124000),
|
||||
'118' => array('name' => '铁岭市', 'pid' => 6, 'zipcode' => 112600),
|
||||
'119' => array('name' => '朝阳市', 'pid' => 6, 'zipcode' => 122000),
|
||||
'120' => array('name' => '葫芦岛市', 'pid' => 6, 'zipcode' => 125000),
|
||||
'121' => array('name' => '长春市', 'pid' => 7, 'zipcode' => 130000),
|
||||
'122' => array('name' => '吉林市', 'pid' => 7, 'zipcode' => 132013),
|
||||
'123' => array('name' => '四平市', 'pid' => 7, 'zipcode' => 136000),
|
||||
'124' => array('name' => '辽源市', 'pid' => 7, 'zipcode' => 136200),
|
||||
'125' => array('name' => '通化市', 'pid' => 7, 'zipcode' => 134100),
|
||||
'126' => array('name' => '白山市', 'pid' => 7, 'zipcode' => 134300),
|
||||
'127' => array('name' => '松原市', 'pid' => 7, 'zipcode' => 138000),
|
||||
'128' => array('name' => '白城市', 'pid' => 7, 'zipcode' => 137000),
|
||||
'129' => array('name' => '延边朝鲜族自治州', 'pid' => 7, 'zipcode' => 133000),
|
||||
'130' => array('name' => '哈尔滨市', 'pid' => 8, 'zipcode' => 150000),
|
||||
'131' => array('name' => '齐齐哈尔市', 'pid' => 8, 'zipcode' => 161000),
|
||||
'132' => array('name' => '鸡西市', 'pid' => 8, 'zipcode' => 158100),
|
||||
'133' => array('name' => '鹤岗市', 'pid' => 8, 'zipcode' => 154100),
|
||||
'134' => array('name' => '双鸭山市', 'pid' => 8, 'zipcode' => 155100),
|
||||
'135' => array('name' => '大庆市', 'pid' => 8, 'zipcode' => 163000),
|
||||
'136' => array('name' => '伊春市', 'pid' => 8, 'zipcode' => 153000),
|
||||
'137' => array('name' => '佳木斯市', 'pid' => 8, 'zipcode' => 154000),
|
||||
'138' => array('name' => '七台河市', 'pid' => 8, 'zipcode' => 154600),
|
||||
'139' => array('name' => '牡丹江市', 'pid' => 8, 'zipcode' => 157000),
|
||||
'140' => array('name' => '黑河市', 'pid' => 8, 'zipcode' => 164300),
|
||||
'141' => array('name' => '绥化市', 'pid' => 8, 'zipcode' => 152000),
|
||||
'142' => array('name' => '大兴安岭地区', 'pid' => 8, 'zipcode' => 165000),
|
||||
'162' => array('name' => '南京市', 'pid' => 10, 'zipcode' => 210000),
|
||||
'163' => array('name' => '无锡市', 'pid' => 10, 'zipcode' => 214000),
|
||||
'164' => array('name' => '徐州市', 'pid' => 10, 'zipcode' => 221000),
|
||||
'165' => array('name' => '常州市', 'pid' => 10, 'zipcode' => 213000),
|
||||
'166' => array('name' => '苏州市', 'pid' => 10, 'zipcode' => 215000),
|
||||
'167' => array('name' => '南通市', 'pid' => 10, 'zipcode' => 226000),
|
||||
'168' => array('name' => '连云港市', 'pid' => 10, 'zipcode' => 222000),
|
||||
'169' => array('name' => '淮安市', 'pid' => 10, 'zipcode' => 223001),
|
||||
'170' => array('name' => '盐城市', 'pid' => 10, 'zipcode' => 224000),
|
||||
'171' => array('name' => '扬州市', 'pid' => 10, 'zipcode' => 225000),
|
||||
'172' => array('name' => '镇江市', 'pid' => 10, 'zipcode' => 212000),
|
||||
'173' => array('name' => '泰州市', 'pid' => 10, 'zipcode' => 225300),
|
||||
'174' => array('name' => '宿迁市', 'pid' => 10, 'zipcode' => 223800),
|
||||
'175' => array('name' => '杭州市', 'pid' => 11, 'zipcode' => 310000),
|
||||
'176' => array('name' => '宁波市', 'pid' => 11, 'zipcode' => 315000),
|
||||
'177' => array('name' => '温州市', 'pid' => 11, 'zipcode' => 325000),
|
||||
'178' => array('name' => '嘉兴市', 'pid' => 11, 'zipcode' => 314000),
|
||||
'179' => array('name' => '湖州市', 'pid' => 11, 'zipcode' => 313000),
|
||||
'180' => array('name' => '绍兴市', 'pid' => 11, 'zipcode' => 312000),
|
||||
'181' => array('name' => '舟山市', 'pid' => 11, 'zipcode' => 316000),
|
||||
'182' => array('name' => '衢州市', 'pid' => 11, 'zipcode' => 324000),
|
||||
'183' => array('name' => '金华市', 'pid' => 11, 'zipcode' => 321000),
|
||||
'184' => array('name' => '台州市', 'pid' => 11, 'zipcode' => 318000),
|
||||
'185' => array('name' => '丽水市', 'pid' => 11, 'zipcode' => 323000),
|
||||
'186' => array('name' => '合肥市', 'pid' => 12, 'zipcode' => 230000),
|
||||
'187' => array('name' => '芜湖市', 'pid' => 12, 'zipcode' => 241100),
|
||||
'188' => array('name' => '蚌埠市', 'pid' => 12, 'zipcode' => 233000),
|
||||
'189' => array('name' => '淮南市', 'pid' => 12, 'zipcode' => 232000),
|
||||
'190' => array('name' => '马鞍山市', 'pid' => 12, 'zipcode' => 243000),
|
||||
'191' => array('name' => '淮北市', 'pid' => 12, 'zipcode' => 235000),
|
||||
'192' => array('name' => '铜陵市', 'pid' => 12, 'zipcode' => 244100),
|
||||
'193' => array('name' => '安庆市', 'pid' => 12, 'zipcode' => 246000),
|
||||
'194' => array('name' => '黄山市', 'pid' => 12, 'zipcode' => 245000),
|
||||
'195' => array('name' => '滁州市', 'pid' => 12, 'zipcode' => 239000),
|
||||
'196' => array('name' => '阜阳市', 'pid' => 12, 'zipcode' => 236000),
|
||||
'197' => array('name' => '宿州市', 'pid' => 12, 'zipcode' => 234000),
|
||||
'198' => array('name' => '巢湖市', 'pid' => 12, 'zipcode' => 238000),
|
||||
'199' => array('name' => '六安市', 'pid' => 12, 'zipcode' => 237000),
|
||||
'200' => array('name' => '亳州市', 'pid' => 12, 'zipcode' => 236000),
|
||||
'201' => array('name' => '池州市', 'pid' => 12, 'zipcode' => 247100),
|
||||
'202' => array('name' => '宣城市', 'pid' => 12, 'zipcode' => 242000),
|
||||
'203' => array('name' => '福州市', 'pid' => 13, 'zipcode' => 350000),
|
||||
'204' => array('name' => '厦门市', 'pid' => 13, 'zipcode' => 361000),
|
||||
'205' => array('name' => '莆田市', 'pid' => 13, 'zipcode' => 351100),
|
||||
'206' => array('name' => '三明市', 'pid' => 13, 'zipcode' => 365000),
|
||||
'207' => array('name' => '泉州市', 'pid' => 13, 'zipcode' => 362000),
|
||||
'208' => array('name' => '漳州市', 'pid' => 13, 'zipcode' => 363000),
|
||||
'209' => array('name' => '南平市', 'pid' => 13, 'zipcode' => 353000),
|
||||
'210' => array('name' => '龙岩市', 'pid' => 13, 'zipcode' => 364000),
|
||||
'211' => array('name' => '宁德市', 'pid' => 13, 'zipcode' => 352000),
|
||||
'212' => array('name' => '南昌市', 'pid' => 14, 'zipcode' => 330200),
|
||||
'213' => array('name' => '景德镇市', 'pid' => 14, 'zipcode' => 333000),
|
||||
'214' => array('name' => '萍乡市', 'pid' => 14, 'zipcode' => 337000),
|
||||
'215' => array('name' => '九江市', 'pid' => 14, 'zipcode' => 332100),
|
||||
'216' => array('name' => '新余市', 'pid' => 14, 'zipcode' => 338000),
|
||||
'217' => array('name' => '鹰潭市', 'pid' => 14, 'zipcode' => 335000),
|
||||
'218' => array('name' => '赣州市', 'pid' => 14, 'zipcode' => 341000),
|
||||
'219' => array('name' => '吉安市', 'pid' => 14, 'zipcode' => 343100),
|
||||
'220' => array('name' => '宜春市', 'pid' => 14, 'zipcode' => 336000),
|
||||
'221' => array('name' => '抚州市', 'pid' => 14, 'zipcode' => 344000),
|
||||
'222' => array('name' => '上饶市', 'pid' => 14, 'zipcode' => 334100),
|
||||
'223' => array('name' => '济南市', 'pid' => 15, 'zipcode' => 250000),
|
||||
'224' => array('name' => '青岛市', 'pid' => 15, 'zipcode' => 266000),
|
||||
'225' => array('name' => '淄博市', 'pid' => 15, 'zipcode' => 255000),
|
||||
'226' => array('name' => '枣庄市', 'pid' => 15, 'zipcode' => 277000),
|
||||
'227' => array('name' => '东营市', 'pid' => 15, 'zipcode' => 257100),
|
||||
'228' => array('name' => '烟台市', 'pid' => 15, 'zipcode' => 264000),
|
||||
'229' => array('name' => '潍坊市', 'pid' => 15, 'zipcode' => 261000),
|
||||
'230' => array('name' => '济宁市', 'pid' => 15, 'zipcode' => 272000),
|
||||
'231' => array('name' => '泰安市', 'pid' => 15, 'zipcode' => 271000),
|
||||
'232' => array('name' => '威海市', 'pid' => 15, 'zipcode' => 264200),
|
||||
'233' => array('name' => '日照市', 'pid' => 15, 'zipcode' => 276800),
|
||||
'234' => array('name' => '莱芜市', 'pid' => 15, 'zipcode' => 271100),
|
||||
'235' => array('name' => '临沂市', 'pid' => 15, 'zipcode' => 276000),
|
||||
'236' => array('name' => '德州市', 'pid' => 15, 'zipcode' => 253000),
|
||||
'237' => array('name' => '聊城市', 'pid' => 15, 'zipcode' => 252000),
|
||||
'238' => array('name' => '滨州市', 'pid' => 15, 'zipcode' => 256600),
|
||||
'239' => array('name' => '菏泽市', 'pid' => 15, 'zipcode' => 274000),
|
||||
'240' => array('name' => '郑州市', 'pid' => 16, 'zipcode' => 450000),
|
||||
'241' => array('name' => '开封市', 'pid' => 16, 'zipcode' => 475100),
|
||||
'242' => array('name' => '洛阳市', 'pid' => 16, 'zipcode' => 471000),
|
||||
'243' => array('name' => '平顶山市', 'pid' => 16, 'zipcode' => 467000),
|
||||
'244' => array('name' => '安阳市', 'pid' => 16, 'zipcode' => 455100),
|
||||
'245' => array('name' => '鹤壁市', 'pid' => 16, 'zipcode' => 458000),
|
||||
'246' => array('name' => '新乡市', 'pid' => 16, 'zipcode' => 453700),
|
||||
'247' => array('name' => '焦作市', 'pid' => 16, 'zipcode' => 454150),
|
||||
'248' => array('name' => '濮阳市', 'pid' => 16, 'zipcode' => 457100),
|
||||
'249' => array('name' => '许昌市', 'pid' => 16, 'zipcode' => 461100),
|
||||
'250' => array('name' => '漯河市', 'pid' => 16, 'zipcode' => 462000),
|
||||
'251' => array('name' => '三门峡市', 'pid' => 16, 'zipcode' => 472000),
|
||||
'252' => array('name' => '南阳市', 'pid' => 16, 'zipcode' => 473000),
|
||||
'253' => array('name' => '商丘市', 'pid' => 16, 'zipcode' => 476000),
|
||||
'254' => array('name' => '信阳市', 'pid' => 16, 'zipcode' => 464000),
|
||||
'255' => array('name' => '周口市', 'pid' => 16, 'zipcode' => 466000),
|
||||
'256' => array('name' => '驻马店市', 'pid' => 16, 'zipcode' => 463000),
|
||||
'257' => array('name' => '济源市', 'pid' => 16, 'zipcode' => 454650),
|
||||
'258' => array('name' => '武汉市', 'pid' => 17, 'zipcode' => 430000),
|
||||
'259' => array('name' => '黄石市', 'pid' => 17, 'zipcode' => 435000),
|
||||
'260' => array('name' => '十堰市', 'pid' => 17, 'zipcode' => 442000),
|
||||
'261' => array('name' => '宜昌市', 'pid' => 17, 'zipcode' => 443000),
|
||||
'262' => array('name' => '襄阳市', 'pid' => 17, 'zipcode' => 441100),
|
||||
'263' => array('name' => '鄂州市', 'pid' => 17, 'zipcode' => 436000),
|
||||
'264' => array('name' => '荆门市', 'pid' => 17, 'zipcode' => 448000),
|
||||
'265' => array('name' => '孝感市', 'pid' => 17, 'zipcode' => 432000),
|
||||
'266' => array('name' => '荆州市', 'pid' => 17, 'zipcode' => 434020),
|
||||
'267' => array('name' => '黄冈市', 'pid' => 17, 'zipcode' => 438000),
|
||||
'268' => array('name' => '咸宁市', 'pid' => 17, 'zipcode' => 437000),
|
||||
'269' => array('name' => '随州市', 'pid' => 17, 'zipcode' => 441300),
|
||||
'270' => array('name' => '恩施土家族苗族自治州', 'pid' => 17, 'zipcode' => 445000),
|
||||
'271' => array('name' => '仙桃市', 'pid' => 17, 'zipcode' => 433000),
|
||||
'272' => array('name' => '潜江市', 'pid' => 17, 'zipcode' => 433100),
|
||||
'273' => array('name' => '天门市', 'pid' => 17, 'zipcode' => 431700),
|
||||
'274' => array('name' => '神农架林区', 'pid' => 17, 'zipcode' => 442400),
|
||||
'275' => array('name' => '长沙市', 'pid' => 18, 'zipcode' => 410000),
|
||||
'276' => array('name' => '株洲市', 'pid' => 18, 'zipcode' => 412000),
|
||||
'277' => array('name' => '湘潭市', 'pid' => 18, 'zipcode' => 411200),
|
||||
'278' => array('name' => '衡阳市', 'pid' => 18, 'zipcode' => 421200),
|
||||
'279' => array('name' => '邵阳市', 'pid' => 18, 'zipcode' => 422100),
|
||||
'280' => array('name' => '岳阳市', 'pid' => 18, 'zipcode' => 414100),
|
||||
'281' => array('name' => '常德市', 'pid' => 18, 'zipcode' => 415000),
|
||||
'282' => array('name' => '张家界市', 'pid' => 18, 'zipcode' => 427000),
|
||||
'283' => array('name' => '益阳市', 'pid' => 18, 'zipcode' => 413000),
|
||||
'284' => array('name' => '郴州市', 'pid' => 18, 'zipcode' => 423000),
|
||||
'285' => array('name' => '永州市', 'pid' => 18, 'zipcode' => 425000),
|
||||
'286' => array('name' => '怀化市', 'pid' => 18, 'zipcode' => 418000),
|
||||
'287' => array('name' => '娄底市', 'pid' => 18, 'zipcode' => 417000),
|
||||
'288' => array('name' => '湘西土家族苗族自治州', 'pid' => 18, 'zipcode' => 416000),
|
||||
'289' => array('name' => '广州市', 'pid' => 19, 'zipcode' => 510000),
|
||||
'290' => array('name' => '韶关市', 'pid' => 19, 'zipcode' => 512000),
|
||||
'291' => array('name' => '深圳市', 'pid' => 19, 'zipcode' => 518000),
|
||||
'292' => array('name' => '珠海市', 'pid' => 19, 'zipcode' => 519000),
|
||||
'293' => array('name' => '汕头市', 'pid' => 19, 'zipcode' => 515000),
|
||||
'294' => array('name' => '佛山市', 'pid' => 19, 'zipcode' => 528000),
|
||||
'295' => array('name' => '江门市', 'pid' => 19, 'zipcode' => 529000),
|
||||
'296' => array('name' => '湛江市', 'pid' => 19, 'zipcode' => 524000),
|
||||
'297' => array('name' => '茂名市', 'pid' => 19, 'zipcode' => 525000),
|
||||
'298' => array('name' => '肇庆市', 'pid' => 19, 'zipcode' => 526000),
|
||||
'299' => array('name' => '惠州市', 'pid' => 19, 'zipcode' => 516000),
|
||||
'300' => array('name' => '梅州市', 'pid' => 19, 'zipcode' => 514000),
|
||||
'301' => array('name' => '汕尾市', 'pid' => 19, 'zipcode' => 516600),
|
||||
'302' => array('name' => '河源市', 'pid' => 19, 'zipcode' => 517000),
|
||||
'303' => array('name' => '阳江市', 'pid' => 19, 'zipcode' => 529500),
|
||||
'304' => array('name' => '清远市', 'pid' => 19, 'zipcode' => 511500),
|
||||
'305' => array('name' => '东莞市', 'pid' => 19, 'zipcode' => 523000),
|
||||
'306' => array('name' => '中山市', 'pid' => 19, 'zipcode' => 116000),
|
||||
'307' => array('name' => '潮州市', 'pid' => 19, 'zipcode' => 521000),
|
||||
'308' => array('name' => '揭阳市', 'pid' => 19, 'zipcode' => 522000),
|
||||
'309' => array('name' => '云浮市', 'pid' => 19, 'zipcode' => 527300),
|
||||
'310' => array('name' => '南宁市', 'pid' => 20, 'zipcode' => 530000),
|
||||
'311' => array('name' => '柳州市', 'pid' => 20, 'zipcode' => 545000),
|
||||
'312' => array('name' => '桂林市', 'pid' => 20, 'zipcode' => 541000),
|
||||
'313' => array('name' => '梧州市', 'pid' => 20, 'zipcode' => 543000),
|
||||
'314' => array('name' => '北海市', 'pid' => 20, 'zipcode' => 536000),
|
||||
'315' => array('name' => '防城港市', 'pid' => 20, 'zipcode' => 538000),
|
||||
'316' => array('name' => '钦州市', 'pid' => 20, 'zipcode' => 535000),
|
||||
'317' => array('name' => '贵港市', 'pid' => 20, 'zipcode' => 537000),
|
||||
'318' => array('name' => '玉林市', 'pid' => 20, 'zipcode' => 537000),
|
||||
'319' => array('name' => '百色市', 'pid' => 20, 'zipcode' => 533000),
|
||||
'320' => array('name' => '贺州市', 'pid' => 20, 'zipcode' => 542800),
|
||||
'321' => array('name' => '河池市', 'pid' => 20, 'zipcode' => 547000),
|
||||
'322' => array('name' => '来宾市', 'pid' => 20, 'zipcode' => 546100),
|
||||
'323' => array('name' => '崇左市', 'pid' => 20, 'zipcode' => 532200),
|
||||
'324' => array('name' => '海口市', 'pid' => 21, 'zipcode' => 570100),
|
||||
'325' => array('name' => '三亚市', 'pid' => 21, 'zipcode' => 572000),
|
||||
'326' => array('name' => '五指山市', 'pid' => 21, 'zipcode' => 572200),
|
||||
'327' => array('name' => '琼海市', 'pid' => 21, 'zipcode' => 571400),
|
||||
'328' => array('name' => '儋州市', 'pid' => 21, 'zipcode' => 571700),
|
||||
'329' => array('name' => '文昌市', 'pid' => 21, 'zipcode' => 571300),
|
||||
'330' => array('name' => '万宁市', 'pid' => 21, 'zipcode' => 571500),
|
||||
'331' => array('name' => '东方市', 'pid' => 21, 'zipcode' => 572600),
|
||||
'332' => array('name' => '定安县', 'pid' => 21, 'zipcode' => 571229),
|
||||
'333' => array('name' => '屯昌县', 'pid' => 21, 'zipcode' => 571600),
|
||||
'334' => array('name' => '澄迈县', 'pid' => 21, 'zipcode' => 571900),
|
||||
'335' => array('name' => '临高县', 'pid' => 21, 'zipcode' => 571800),
|
||||
'336' => array('name' => '白沙黎族自治县', 'pid' => 21, 'zipcode' => 572800),
|
||||
'337' => array('name' => '昌江黎族自治县', 'pid' => 21, 'zipcode' => 572700),
|
||||
'338' => array('name' => '乐东黎族自治县', 'pid' => 21, 'zipcode' => 572500),
|
||||
'339' => array('name' => '陵水黎族自治县', 'pid' => 21, 'zipcode' => 572400),
|
||||
'340' => array('name' => '保亭黎族苗族自治县', 'pid' => 21, 'zipcode' => 572300),
|
||||
'341' => array('name' => '琼中黎族苗族自治县', 'pid' => 21, 'zipcode' => 572900),
|
||||
'342' => array('name' => '西沙群岛', 'pid' => 21, 'zipcode' => 572000),
|
||||
'343' => array('name' => '南沙群岛', 'pid' => 21, 'zipcode' => ''),
|
||||
'344' => array('name' => '中沙群岛的岛礁及其海域', 'pid' => 21, 'zipcode' => ''),
|
||||
'385' => array('name' => '成都市', 'pid' => 23, 'zipcode' => 610000),
|
||||
'386' => array('name' => '自贡市', 'pid' => 23, 'zipcode' => 643000),
|
||||
'387' => array('name' => '攀枝花市', 'pid' => 23, 'zipcode' => 617000),
|
||||
'388' => array('name' => '泸州市', 'pid' => 23, 'zipcode' => 646000),
|
||||
'389' => array('name' => '德阳市', 'pid' => 23, 'zipcode' => 618000),
|
||||
'390' => array('name' => '绵阳市', 'pid' => 23, 'zipcode' => 621000),
|
||||
'391' => array('name' => '广元市', 'pid' => 23, 'zipcode' => 628000),
|
||||
'392' => array('name' => '遂宁市', 'pid' => 23, 'zipcode' => 629000),
|
||||
'393' => array('name' => '内江市', 'pid' => 23, 'zipcode' => 641000),
|
||||
'394' => array('name' => '乐山市', 'pid' => 23, 'zipcode' => 614000),
|
||||
'395' => array('name' => '南充市', 'pid' => 23, 'zipcode' => 637000),
|
||||
'396' => array('name' => '眉山市', 'pid' => 23, 'zipcode' => 620000),
|
||||
'397' => array('name' => '宜宾市', 'pid' => 23, 'zipcode' => 644600),
|
||||
'398' => array('name' => '广安市', 'pid' => 23, 'zipcode' => 638550),
|
||||
'399' => array('name' => '达州市', 'pid' => 23, 'zipcode' => 635000),
|
||||
'400' => array('name' => '雅安市', 'pid' => 23, 'zipcode' => 625000),
|
||||
'401' => array('name' => '巴中市', 'pid' => 23, 'zipcode' => 636600),
|
||||
'402' => array('name' => '资阳市', 'pid' => 23, 'zipcode' => 641300),
|
||||
'403' => array('name' => '阿坝藏族羌族自治州', 'pid' => 23, 'zipcode' => 624600),
|
||||
'404' => array('name' => '甘孜藏族自治州', 'pid' => 23, 'zipcode' => 626700),
|
||||
'405' => array('name' => '凉山彝族自治州', 'pid' => 23, 'zipcode' => 615000),
|
||||
'406' => array('name' => '贵阳市', 'pid' => 24, 'zipcode' => 550000),
|
||||
'407' => array('name' => '六盘水市', 'pid' => 24, 'zipcode' => 553000),
|
||||
'408' => array('name' => '遵义市', 'pid' => 24, 'zipcode' => 563100),
|
||||
'409' => array('name' => '安顺市', 'pid' => 24, 'zipcode' => 561000),
|
||||
'410' => array('name' => '铜仁地区', 'pid' => 24, 'zipcode' => 554300),
|
||||
'411' => array('name' => '黔西南布依族苗族自治州', 'pid' => 24, 'zipcode' => 562400),
|
||||
'412' => array('name' => '毕节地区', 'pid' => 24, 'zipcode' => 551700),
|
||||
'413' => array('name' => '黔东南苗族侗族自治州', 'pid' => 24, 'zipcode' => 556000),
|
||||
'414' => array('name' => '黔南布依族苗族自治州', 'pid' => 24, 'zipcode' => 558000),
|
||||
'415' => array('name' => '昆明市', 'pid' => 25, 'zipcode' => 650000),
|
||||
'416' => array('name' => '曲靖市', 'pid' => 25, 'zipcode' => 655000),
|
||||
'417' => array('name' => '玉溪市', 'pid' => 25, 'zipcode' => 653100),
|
||||
'418' => array('name' => '保山市', 'pid' => 25, 'zipcode' => 678000),
|
||||
'419' => array('name' => '昭通市', 'pid' => 25, 'zipcode' => 657000),
|
||||
'420' => array('name' => '丽江市', 'pid' => 25, 'zipcode' => 674100),
|
||||
'421' => array('name' => '思茅市', 'pid' => 25, 'zipcode' => 665001),
|
||||
'422' => array('name' => '临沧市', 'pid' => 25, 'zipcode' => 677000),
|
||||
'423' => array('name' => '楚雄彝族自治州', 'pid' => 25, 'zipcode' => 675000),
|
||||
'424' => array('name' => '红河哈尼族彝族自治州', 'pid' => 25, 'zipcode' => 654400),
|
||||
'425' => array('name' => '文山壮族苗族自治州', 'pid' => 25, 'zipcode' => 663000),
|
||||
'426' => array('name' => '西双版纳傣族自治州', 'pid' => 25, 'zipcode' => 666100),
|
||||
'427' => array('name' => '大理白族自治州', 'pid' => 25, 'zipcode' => 671000),
|
||||
'428' => array('name' => '德宏傣族景颇族自治州', 'pid' => 25, 'zipcode' => 678400),
|
||||
'429' => array('name' => '怒江傈僳族自治州', 'pid' => 25, 'zipcode' => 673100),
|
||||
'430' => array('name' => '迪庆藏族自治州', 'pid' => 25, 'zipcode' => 674400),
|
||||
'431' => array('name' => '拉萨市', 'pid' => 26, 'zipcode' => 850000),
|
||||
'432' => array('name' => '昌都地区', 'pid' => 26, 'zipcode' => 854000),
|
||||
'433' => array('name' => '山南地区', 'pid' => 26, 'zipcode' => 856000),
|
||||
'434' => array('name' => '日喀则地区', 'pid' => 26, 'zipcode' => 857000),
|
||||
'435' => array('name' => '那曲地区', 'pid' => 26, 'zipcode' => 852000),
|
||||
'436' => array('name' => '阿里地区', 'pid' => 26, 'zipcode' => 859000),
|
||||
'437' => array('name' => '林芝地区', 'pid' => 26, 'zipcode' => 860100),
|
||||
'438' => array('name' => '西安市', 'pid' => 27, 'zipcode' => 710000),
|
||||
'439' => array('name' => '铜川市', 'pid' => 27, 'zipcode' => 727000),
|
||||
'440' => array('name' => '宝鸡市', 'pid' => 27, 'zipcode' => 721000),
|
||||
'441' => array('name' => '咸阳市', 'pid' => 27, 'zipcode' => 712000),
|
||||
'442' => array('name' => '渭南市', 'pid' => 27, 'zipcode' => 714000),
|
||||
'443' => array('name' => '延安市', 'pid' => 27, 'zipcode' => 716000),
|
||||
'444' => array('name' => '汉中市', 'pid' => 27, 'zipcode' => 723000),
|
||||
'445' => array('name' => '榆林市', 'pid' => 27, 'zipcode' => 719000),
|
||||
'446' => array('name' => '安康市', 'pid' => 27, 'zipcode' => 725000),
|
||||
'447' => array('name' => '商洛市', 'pid' => 27, 'zipcode' => 726000),
|
||||
'448' => array('name' => '兰州市', 'pid' => 28, 'zipcode' => 730000),
|
||||
'449' => array('name' => '嘉峪关市', 'pid' => 28, 'zipcode' => 735100),
|
||||
'450' => array('name' => '金昌市', 'pid' => 28, 'zipcode' => 737100),
|
||||
'451' => array('name' => '白银市', 'pid' => 28, 'zipcode' => 730900),
|
||||
'452' => array('name' => '天水市', 'pid' => 28, 'zipcode' => 741000),
|
||||
'453' => array('name' => '武威市', 'pid' => 28, 'zipcode' => 733000),
|
||||
'454' => array('name' => '张掖市', 'pid' => 28, 'zipcode' => 734000),
|
||||
'455' => array('name' => '平凉市', 'pid' => 28, 'zipcode' => 744000),
|
||||
'456' => array('name' => '酒泉市', 'pid' => 28, 'zipcode' => 735000),
|
||||
'457' => array('name' => '庆阳市', 'pid' => 28, 'zipcode' => 745000),
|
||||
'458' => array('name' => '定西市', 'pid' => 28, 'zipcode' => 743000),
|
||||
'459' => array('name' => '陇南市', 'pid' => 28, 'zipcode' => 742500),
|
||||
'460' => array('name' => '临夏回族自治州', 'pid' => 28, 'zipcode' => 731800),
|
||||
'461' => array('name' => '甘南藏族自治州', 'pid' => 28, 'zipcode' => 747000),
|
||||
'462' => array('name' => '西宁市', 'pid' => 29, 'zipcode' => 810000),
|
||||
'463' => array('name' => '海东地区', 'pid' => 29, 'zipcode' => 810600),
|
||||
'464' => array('name' => '海北藏族自治州', 'pid' => 29, 'zipcode' => 812200),
|
||||
'465' => array('name' => '黄南藏族自治州', 'pid' => 29, 'zipcode' => 811300),
|
||||
'466' => array('name' => '海南藏族自治州', 'pid' => 29, 'zipcode' => 813000),
|
||||
'467' => array('name' => '果洛藏族自治州', 'pid' => 29, 'zipcode' => 814000),
|
||||
'468' => array('name' => '玉树藏族自治州', 'pid' => 29, 'zipcode' => 815000),
|
||||
'469' => array('name' => '海西蒙古族藏族自治州', 'pid' => 29, 'zipcode' => 817000),
|
||||
'470' => array('name' => '银川市', 'pid' => 30, 'zipcode' => 750000),
|
||||
'471' => array('name' => '石嘴山市', 'pid' => 30, 'zipcode' => 753000),
|
||||
'472' => array('name' => '吴忠市', 'pid' => 30, 'zipcode' => 751100),
|
||||
'473' => array('name' => '固原市', 'pid' => 30, 'zipcode' => 756000),
|
||||
'474' => array('name' => '中卫市', 'pid' => 30, 'zipcode' => 755000),
|
||||
'475' => array('name' => '乌鲁木齐市', 'pid' => 31, 'zipcode' => 830000),
|
||||
'476' => array('name' => '克拉玛依市', 'pid' => 31, 'zipcode' => 834000),
|
||||
'477' => array('name' => '吐鲁番地区', 'pid' => 31, 'zipcode' => 838000),
|
||||
'478' => array('name' => '哈密地区', 'pid' => 31, 'zipcode' => 839000),
|
||||
'479' => array('name' => '昌吉回族自治州', 'pid' => 31, 'zipcode' => 831100),
|
||||
'480' => array('name' => '博尔塔拉蒙古自治州', 'pid' => 31, 'zipcode' => 833400),
|
||||
'481' => array('name' => '巴音郭楞蒙古自治州', 'pid' => 31, 'zipcode' => 841000),
|
||||
'482' => array('name' => '阿克苏地区', 'pid' => 31, 'zipcode' => 843000),
|
||||
'483' => array('name' => '克孜勒苏柯尔克孜自治州', 'pid' => 31, 'zipcode' => 845350),
|
||||
'484' => array('name' => '喀什地区', 'pid' => 31, 'zipcode' => 844000),
|
||||
'485' => array('name' => '和田地区', 'pid' => 31, 'zipcode' => 848000),
|
||||
'486' => array('name' => '伊犁哈萨克自治州', 'pid' => 31, 'zipcode' => 835000),
|
||||
'487' => array('name' => '塔城地区', 'pid' => 31, 'zipcode' => 834700),
|
||||
'488' => array('name' => '阿勒泰地区', 'pid' => 31, 'zipcode' => 836500),
|
||||
'489' => array('name' => '石河子市', 'pid' => 31, 'zipcode' => 832000),
|
||||
'490' => array('name' => '阿拉尔市', 'pid' => 31, 'zipcode' => 843300),
|
||||
'491' => array('name' => '图木舒克市', 'pid' => 31, 'zipcode' => 844000),
|
||||
'492' => array('name' => '五家渠市', 'pid' => 31, 'zipcode' => 831300),
|
||||
'493' => array('name' => '台北市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'494' => array('name' => '高雄市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'495' => array('name' => '基隆市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'496' => array('name' => '台中市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'497' => array('name' => '台南市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'498' => array('name' => '新竹市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'499' => array('name' => '嘉义市', 'pid' => 32, 'zipcode' => 100052),
|
||||
'500' => array('name' => '台北县', 'pid' => 32, 'zipcode' => 100052),
|
||||
'501' => array('name' => '宜兰县', 'pid' => 32, 'zipcode' => ''),
|
||||
'502' => array('name' => '桃园县', 'pid' => 32, 'zipcode' => 56002),
|
||||
'503' => array('name' => '新竹县', 'pid' => 32, 'zipcode' => 100052),
|
||||
'504' => array('name' => '苗栗县', 'pid' => 32, 'zipcode' => ''),
|
||||
'505' => array('name' => '台中县', 'pid' => 32, 'zipcode' => 100052),
|
||||
'506' => array('name' => '彰化县', 'pid' => 32, 'zipcode' => ''),
|
||||
'507' => array('name' => '南投县', 'pid' => 32, 'zipcode' => ''),
|
||||
'508' => array('name' => '云林县', 'pid' => 32, 'zipcode' => 116001),
|
||||
'509' => array('name' => '嘉义县', 'pid' => 32, 'zipcode' => 100052),
|
||||
'510' => array('name' => '台南县', 'pid' => 32, 'zipcode' => 100052),
|
||||
'511' => array('name' => '高雄县', 'pid' => 32, 'zipcode' => 100052),
|
||||
'512' => array('name' => '屏东县', 'pid' => 32, 'zipcode' => ''),
|
||||
'513' => array('name' => '澎湖县', 'pid' => 32, 'zipcode' => ''),
|
||||
'514' => array('name' => '台东县', 'pid' => 32, 'zipcode' => 53400),
|
||||
'515' => array('name' => '花莲县', 'pid' => 32, 'zipcode' => 253300),
|
||||
'516' => array('name' => '中西区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'517' => array('name' => '东区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'518' => array('name' => '九龙城区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'519' => array('name' => '观塘区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'520' => array('name' => '南区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'521' => array('name' => '深水埗区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'522' => array('name' => '黄大仙区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'523' => array('name' => '湾仔区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'524' => array('name' => '油尖旺区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'525' => array('name' => '离岛区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'526' => array('name' => '葵青区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'527' => array('name' => '北区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'528' => array('name' => '西贡区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'529' => array('name' => '沙田区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'530' => array('name' => '屯门区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'531' => array('name' => '大埔区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'532' => array('name' => '荃湾区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'533' => array('name' => '元朗区', 'pid' => 33, 'zipcode' => 999077),
|
||||
'534' => array('name' => '澳门特别行政区', 'pid' => 34, 'zipcode' => 999078),
|
||||
'5108' => array('name' => '怒江州', 'pid' => 25, 'zipcode' => 673100),
|
||||
'5109' => array('name' => '普洱市', 'pid' => 25, 'zipcode' => 665000),
|
||||
);
|
||||
3464
application/admin/addresmart/data/a3.php
Normal file
3464
application/admin/addresmart/data/a3.php
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -2,17 +2,10 @@
|
|||
|
||||
namespace app\admin\command;
|
||||
|
||||
use app\admin\model\Order;
|
||||
use app\admin\model\OrderDispatch;
|
||||
use app\admin\model\Worker;
|
||||
use app\admin\model\WorkerItem;
|
||||
use Overtrue\Pinyin\Converter;
|
||||
use app\admin\addresmart\Address;
|
||||
use think\console\Command;
|
||||
use think\console\Input;
|
||||
use think\console\Output;
|
||||
use think\Db;
|
||||
use Overtrue\Pinyin\Pinyin;
|
||||
use think\Model;
|
||||
|
||||
class Test extends Command
|
||||
{
|
||||
|
|
@ -24,53 +17,10 @@ class Test extends Command
|
|||
|
||||
protected function execute(Input $input, Output $output)
|
||||
{
|
||||
$order = (new Order())->where('id',66)->find();
|
||||
$this->autoDispatch($order);
|
||||
$string = '张三 13800138000 120113196808214821深圳市龙华区龙华街道1980科技文化产业园3栋317 地板';
|
||||
$r = Address::smart($string);
|
||||
dd($r);
|
||||
}
|
||||
|
||||
private function autoDispatch($order) {
|
||||
// if ($order->dispatch_type != 2){
|
||||
// return false;
|
||||
// }
|
||||
|
||||
$worker_ids = (new Worker())->where('area_id',$order->area_id)
|
||||
->where('status',1)
|
||||
->field(['id','area_id','lng'],'lat')
|
||||
->column('id');
|
||||
|
||||
$worker_items_ids = (new WorkerItem())
|
||||
->where('item_id',$order->item_id)
|
||||
->whereIn('worker_id',$worker_ids)
|
||||
->field(['worker_id'],'lat')
|
||||
->column('worker_id');
|
||||
|
||||
$out_workers = array_intersect($worker_ids,$worker_items_ids);
|
||||
|
||||
$worker_id = $out_workers[0] ?? false;
|
||||
|
||||
if (!$worker_id){
|
||||
$order->dispatch_type = 1;
|
||||
$order->save();
|
||||
return false;
|
||||
}
|
||||
|
||||
$insert = [
|
||||
// 'admin_id' => $this->auth->id,
|
||||
// 'admin_user' => $this->auth->nickname,
|
||||
'order_id' => $order->id,
|
||||
'type' => 1,
|
||||
'worker_id' =>$worker_id,
|
||||
'plan_time' => $order->plan_time,
|
||||
'is_receipt' => $order->receive_type == 1
|
||||
];
|
||||
|
||||
$worker = (new Worker())->where('id',$worker_id)->find();
|
||||
$insert ['worker_name'] = $worker['name'];
|
||||
$insert ['worker_tel'] = $worker['tel'];
|
||||
(new OrderDispatch())->allowField(true)->save($insert);
|
||||
$order->status = \app\admin\model\Order::STATUS_DISPATCHED;
|
||||
$order->save();
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\admin\addresmart\Address;
|
||||
use app\admin\model\OrderDispatch;
|
||||
use app\admin\model\Worker;
|
||||
use app\admin\model\WorkerItem;
|
||||
|
|
@ -337,4 +338,9 @@ class Order extends Backend
|
|||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function smart(){
|
||||
$this->success(data:Address::smart(request()->get('str')));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,9 +181,10 @@
|
|||
<h5 class="text-left">快速输入</h5>
|
||||
<div class="col-md-6">
|
||||
<div class="form-floating">
|
||||
<textarea rows="8" style="width: 100%;resize: vertical" class="form-control" placeholder="复制内容,快速输入" id="floatingTextarea"></textarea>
|
||||
<textarea rows="8" style="width: 100%;resize: vertical" class="form-control" placeholder="复制内容,快速输入" id="smart_text"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<button id="smart" class="btn btn-primary btn-embossed">智能识别</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -189,7 +189,24 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function
|
|||
Toastr.success('操作成功');
|
||||
return false;
|
||||
},);
|
||||
Controller.api.bindevent();
|
||||
|
||||
$("#smart").on("click", function() {
|
||||
$.ajax({
|
||||
url: "order/smart", // 你的 API 地址
|
||||
type: "GET",
|
||||
dataType: "json",
|
||||
data: {
|
||||
str:$('#smart_text').val()
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
// Controller.api.rendertree(data);
|
||||
},
|
||||
error: function () {
|
||||
console.error("请求失败");
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user