Manage.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. <?php
  2. namespace Area\Lib;
  3. use Dever;
  4. class Manage
  5. {
  6. /**
  7. * 更新信息
  8. *
  9. * @return mixed
  10. */
  11. public function up($id, $name, $data)
  12. {
  13. $update = array();
  14. $area = Dever::param('area', $data);
  15. $name = Dever::param('name', $data);
  16. if ($area) {
  17. $temp = is_string($area) ? explode(',', $area) : $area;
  18. $update['province_id'] = $temp[0];
  19. $update['city_id'] = $temp[1];
  20. $table = 'area/county';
  21. if (isset($temp[2])) {
  22. $table = 'area/town';
  23. $update['county_id'] = $temp[2];
  24. }
  25. if (isset($temp[3])) {
  26. $table = 'area/village';
  27. $update['town_id'] = $temp[3];
  28. }
  29. $update['name'] = $name;
  30. Dever::load('area/import')->pinyin($update);
  31. $update['where_id'] = $id;
  32. Dever::db($table)->update($update);
  33. }
  34. }
  35. public function level($id, $name, $data)
  36. {
  37. $update = array();
  38. $city = Dever::param('city', $data);
  39. if ($city) {
  40. Dever::db('area/city')->updateLevel(array('where_level_id' => $id, 'set_level_id' => -1));
  41. $city = explode('、', $city);
  42. foreach ($city as $k => $v) {
  43. $v = trim($v);
  44. if (!$v) {
  45. continue;
  46. }
  47. $w['name'] = $v;
  48. $source = Dever::db('area/city')->getDatas($w);
  49. if ($source) {
  50. foreach ($source as $k => $v) {
  51. $update['where_id'] = $v['id'];
  52. $update['level_id'] = $id;
  53. Dever::db('area/city')->update($update);
  54. }
  55. }
  56. }
  57. if ($id == 1) {
  58. $this->setTown_api();
  59. }
  60. }
  61. }
  62. # 设置国家镇级市、超级街道
  63. public function setTown_api()
  64. {
  65. $data = array
  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. '浙江省,温州,苍南县,龙港镇',
  114. '浙江省,绍兴市,诸暨市,店口镇',
  115. '重庆市,重庆市,江津区,白沙镇',
  116. '重庆市,重庆市,大足区,龙水镇',
  117. '重庆市,重庆市,九龙坡区,西彭镇',
  118. '四川省,南充市,仪陇县,金城镇',
  119. '四川省,内江市,资中县,重龙镇',
  120. '四川省,广元市,利州区,宝轮镇',
  121. '四川省,达州市,宣汉县,南坝镇',
  122. '广东省,佛山市,南海区,狮山镇',
  123. '广东省,东莞市,东莞市,长安镇',
  124. '广东省,东莞市,东莞市,虎门镇',
  125. '广东省,东莞市,东莞市,塘厦镇',
  126. # 超级街道
  127. '广东省,深圳市,南山区,粤海街道',
  128. '广东省,深圳市,龙岗区,坂田街道',
  129. '广东省,深圳市,龙岗区,布吉街道',
  130. '广东省,深圳市,龙岗区,龙城街道',
  131. '广东省,深圳市,龙岗区,平湖街道',
  132. '广东省,深圳市,龙岗区,龙岗街道',
  133. );
  134. foreach ($data as $k => $v) {
  135. $temp = explode(',', $v);
  136. if (isset($temp[3])) {
  137. $province = Dever::db('area/province')->getLike(array('name' => $temp[0]));
  138. if ($province) {
  139. $city = Dever::db('area/city')->getLike(array('name' => $temp[1], 'province_id' => $province['id']));
  140. if ($city) {
  141. $county = Dever::db('area/county')->getLike(array('name' => $temp[2], 'city_id' => $city['id']));
  142. if ($county) {
  143. $town = Dever::db('area/town')->getLike(array('name' => $temp[3], 'county_id' => $county['id']));
  144. if ($town) {
  145. if (strstr($temp[3], '街道')) {
  146. $type = 3;
  147. } else {
  148. $type = 2;
  149. }
  150. Dever::db('area/town')->update(array('where_id' => $town['id'], 'type' => $type));
  151. }
  152. }
  153. }
  154. }
  155. }
  156. }
  157. return 'ok';
  158. }
  159. public function outCity($data)
  160. {
  161. $file = Dever::input('excel_name');
  162. $header = array('区域名称', '区域价值', '区域状态');
  163. $body = array();
  164. if ($data) {
  165. foreach ($data as $k => $v) {
  166. if (is_array($v)) {
  167. $province = Dever::db('area/province')->find($v['province_id']);
  168. if (!$province) {
  169. $province['name'] = '';
  170. }
  171. $status = '未占用';
  172. if ($v['status'] == 2) {
  173. $status = '已占用';
  174. }
  175. $v['name'] = $province['name'] . '' . $v['name'];
  176. if ($v['price'] < 0) {
  177. $price = Dever::load('area/api')->getPrice(1, $v['province_id'] . ',' . $v['id']);
  178. } else {
  179. $price = $v['price'] * 10000;
  180. }
  181. $d = array
  182. (
  183. $v['name'],
  184. $price,
  185. $status,
  186. );
  187. $body[] = $d;
  188. }
  189. }
  190. }
  191. return Dever::excelExport($body, $header, $file);
  192. }
  193. public function outCounty($data)
  194. {
  195. $file = Dever::input('excel_name');
  196. $header = array('区域名称', '区域价值', '区域状态');
  197. $body = array();
  198. if ($data) {
  199. foreach ($data as $k => $v) {
  200. if (is_array($v)) {
  201. $province = Dever::db('area/province')->find($v['province_id']);
  202. $city = Dever::db('area/city')->find($v['city_id']);
  203. if (!$province) {
  204. $province['name'] = '';
  205. }
  206. if (!$city) {
  207. $city['name'] = '';
  208. }
  209. $status = '未占用';
  210. if ($v['status'] == 2) {
  211. $status = '已占用';
  212. }
  213. $v['name'] = $province['name'] . '' . $city['name'] . '' . $v['name'];
  214. if ($v['price'] < 0) {
  215. $price = Dever::load('area/api')->getPrice(2, $v['province_id'] . ',' . $v['city_id'] . ',' . $v['id']);
  216. } else {
  217. $price = $v['price'] * 10000;
  218. }
  219. $d = array
  220. (
  221. $v['name'],
  222. $price,
  223. $status,
  224. );
  225. $body[] = $d;
  226. }
  227. }
  228. }
  229. return Dever::excelExport($body, $header, $file);
  230. }
  231. public function outTown($data)
  232. {
  233. $file = Dever::input('excel_name');
  234. $header = array('区域名称', '区域价值', '区域状态');
  235. $body = array();
  236. if ($data) {
  237. foreach ($data as $k => $v) {
  238. if (is_array($v)) {
  239. $province = Dever::db('area/province')->find($v['province_id']);
  240. $city = Dever::db('area/city')->find($v['city_id']);
  241. $county = Dever::db('area/county')->find($v['county_id']);
  242. if (!$province) {
  243. $province['name'] = '';
  244. }
  245. if (!$city) {
  246. $city['name'] = '';
  247. }
  248. if (!$county) {
  249. $county['name'] = '';
  250. }
  251. $status = '未占用';
  252. if ($v['status'] == 2) {
  253. $status = '已占用';
  254. }
  255. $v['name'] = $province['name'] . '' . $city['name'] . '' . $county['name'] . '' . $v['name'];
  256. if ($v['price'] < 0) {
  257. $price = Dever::load('area/api')->getPrice(3, $v['province_id'] . ',' . $v['city_id'] . ',' . $v['county_id'] . ',' . $v['id']);
  258. } else {
  259. $price = $v['price'] * 10000;
  260. }
  261. $d = array
  262. (
  263. $v['name'],
  264. $price,
  265. $status,
  266. );
  267. $body[] = $d;
  268. }
  269. }
  270. }
  271. return Dever::excelExport($body, $header, $file);
  272. }
  273. }