Manage.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. namespace Area\Lib;
  3. use Dever;
  4. class Manage
  5. {
  6. public function up($db, $data)
  7. {
  8. if (isset($data['area'])) {
  9. $temp = is_string($data['area']) ? explode(',', $data['area']) : $data['area'];
  10. $data['province_id'] = $temp[0];
  11. $data['city_id'] = $temp[1];
  12. if (isset($temp[2])) {
  13. $data['county_id'] = $temp[2];
  14. }
  15. if (isset($temp[3])) {
  16. $data['town_id'] = $temp[3];
  17. }
  18. }
  19. $data = Dever::load('area/data')->pinyin($data);
  20. return $data;
  21. }
  22. public function upLevel($db, $data)
  23. {
  24. $update = array();
  25. $city = $data['city'];
  26. if ($city) {
  27. Dever::db('city', 'area')->update(array('level_id' => $data['id']), array('level_id' => -1));
  28. $city = explode('、', $city);
  29. foreach ($city as $k => $v) {
  30. $v = trim($v);
  31. if (!$v) {
  32. continue;
  33. }
  34. Dever::db('city', 'area')->update(array('name' => array('like', $v)), array('level_id' => $data['id']));
  35. }
  36. if ($data['id'] == 1) {
  37. $this->setTown();
  38. }
  39. }
  40. }
  41. # 设置国家镇级市、超级街道
  42. public function setTown()
  43. {
  44. $data = array
  45. (
  46. # 镇级市
  47. '河南省,安阳市,安阳县,水冶镇',
  48. '河南省,信阳市,平桥区,明港镇',
  49. '河南省,郑州市,巩义市,回郭镇',//'河南省,巩义市,安阳县,回郭镇',
  50. '甘肃省,武威市,凉州区,黄羊镇',
  51. '甘肃省,定西市,陇西县,首阳镇',
  52. '甘肃省,天水市,甘谷县,磐安镇',
  53. '广西,南宁市,宾阳县,黎塘镇',
  54. '广西,梧州市,藤县,太平镇',
  55. '广西,北海市,合浦县,公馆镇',
  56. '广西,贵港市,平南县,大安镇',
  57. '吉林省,长春市,公主岭市,范家屯镇',//'吉林省,四平市,公主岭市,范家屯镇',
  58. '吉林省,四平市,梨树县,郭家店镇',
  59. '吉林省,吉林市,吉林中国新加坡食品区,岔路河镇',// '吉林省,吉林市,永吉县,岔路河镇',
  60. '吉林省,白山市,抚松县,松江河镇',//'吉林省,吉林市,抚松县,松江河镇',
  61. '辽宁省,锦州市,北镇市,沟帮子街道 ',//'辽宁省,锦州市,北镇市,沟帮子镇',
  62. '辽宁省,辽阳市,辽阳县,刘二堡镇',//'辽宁省,辽阳市,辽阳县,刘二堡新市镇',
  63. '辽宁省,铁岭市,昌图县,八面城镇',
  64. '黑龙江省,哈尔滨市,巴彦县,兴隆镇',
  65. '黑龙江省,牡丹江市,海林市,柴河镇',
  66. '黑龙江省,牡丹江市,宁安市,东京城镇',
  67. '黑龙江省,伊春市,大箐山县,朗乡镇',//'黑龙江省,伊春市,铁力市,朗乡镇',
  68. '黑龙江省,黑龙江农垦总局,建三江农垦分局,三江镇',//未知
  69. '黑龙江省,红兴隆市,红兴隆农垦分局,兴隆镇',//未知
  70. '黑龙江省,鹤岗市,萝北县,宝泉岭农场',//'黑龙江省,宝泉岭市,宝泉岭农垦分局,宝泉岭镇',
  71. '黑龙江省,鸡西市,密山市,裴德镇',//'黑龙江省,牡丹江市,牡丹江农垦分局,裴德镇',
  72. '黑龙江省,黑河市,嫩江市,双山镇',//'黑龙江省,九三垦区分局,九三垦区分局,双山镇',
  73. '江苏省,苏州市,吴江区,盛泽镇',
  74. '江苏省,无锡市,宜兴市,丁蜀镇',
  75. '江苏省,南通市,启东市,启东吕四镇',//未知
  76. '河北省,廊坊市,三河市,燕郊镇',
  77. '河北省,廊坊市,霸州市,胜芳镇',
  78. '江西省,南昌市,南昌县,向塘镇',
  79. '安徽省,宿州市,萧县,黄口镇',
  80. '安徽省,亳州市,谯城区,古城镇',
  81. '湖南省,郴州市,永兴县,马田镇',
  82. '湖南省,怀化市,洪江市,安江镇',
  83. '湖南省,益阳市,桃江县,灰山港镇',
  84. '湖北省,襄阳市,樊城区,太平店镇',//'湖北省,襄阳市,襄阳区,太平店镇',
  85. '湖北省,荆门市,钟祥市,胡集镇',
  86. '湖北省,孝感市,汉川市,马口镇',
  87. '湖北省,宜昌市,夷陵区,龙泉镇',
  88. '福建省,漳州市,龙海市,角美镇',
  89. '福建省,泉州市,南安市,水头镇',
  90. '福建省,泉州市,晋江市,东石镇',
  91. '福建省,莆田市,秀屿区,忠门镇',
  92. '浙江省,温州,苍南县,龙港镇',
  93. '浙江省,绍兴市,诸暨市,店口镇',
  94. '重庆市,重庆市,江津区,白沙镇',
  95. '重庆市,重庆市,大足区,龙水镇',
  96. '重庆市,重庆市,九龙坡区,西彭镇',
  97. '四川省,南充市,仪陇县,金城镇',
  98. '四川省,内江市,资中县,重龙镇',
  99. '四川省,广元市,利州区,宝轮镇',
  100. '四川省,达州市,宣汉县,南坝镇',
  101. '广东省,佛山市,南海区,狮山镇',
  102. '广东省,东莞市,东莞市,长安镇',
  103. '广东省,东莞市,东莞市,虎门镇',
  104. '广东省,东莞市,东莞市,塘厦镇',
  105. # 超级街道
  106. '广东省,深圳市,南山区,粤海街道',
  107. '广东省,深圳市,龙岗区,坂田街道',
  108. '广东省,深圳市,龙岗区,布吉街道',
  109. '广东省,深圳市,龙岗区,龙城街道',
  110. '广东省,深圳市,龙岗区,平湖街道',
  111. '广东省,深圳市,龙岗区,龙岗街道',
  112. );
  113. foreach ($data as $k => $v) {
  114. $temp = explode(',', $v);
  115. if (isset($temp[3])) {
  116. $province = Dever::db('province', 'area')->find(array('name' => array('like', $temp[0])));
  117. if ($province) {
  118. $city = Dever::db('city', 'area')->find(array('name' => array('like', $temp[1]), 'province_id' => $province['id']));
  119. if ($city) {
  120. $county = Dever::db('county', 'area')->find(array('name' => array('like', $temp[2]), 'city_id' => $city['id']));
  121. if ($county) {
  122. if (strstr($temp[3], '街道')) {
  123. $type = 3;
  124. } else {
  125. $type = 2;
  126. }
  127. $town = Dever::db('town', 'area')->find(array('name' => array('like', $temp[3]), 'county_id' => $county['id'], 'type' => $type));
  128. }
  129. }
  130. }
  131. }
  132. }
  133. return 'ok';
  134. }
  135. }