SyncHouse.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: xiaofeng
  5. * Date: 2018/3/11
  6. * Time: 下午3:08
  7. */
  8. namespace backend\server;
  9. use common\models\CategoryAlbum;
  10. use common\models\CategoryFacilities;
  11. use common\models\CategoryHousetype;
  12. use common\models\House;
  13. use common\models\HouseDetail;
  14. use common\models\HouseAlbum;
  15. use common\models\HouseType;
  16. use common\models\HouseFacilities;
  17. use common\models\HousePermit;
  18. use common\models\HousePriceRecord;
  19. use common\models\Characteristic;
  20. use common\models\CategoryLabel;
  21. use common\models\CategoryCity;
  22. use yii\base\Component;
  23. use common\models\Synchouserecord;
  24. use Yii;
  25. class SyncHouse extends Component
  26. {
  27. //楼盘添加或修改处理
  28. public function HouseOpe($input)
  29. {
  30. if (empty($input) || !is_array($input)) return false;
  31. //判断楼盘是否同步过
  32. // $url = Yii::$app->basePath . '/runtime/ceshi.json';
  33. // $datas = json_encode($input);
  34. // file_put_contents($url, $datas);
  35. // return false;
  36. $s = Synchouserecord::find()->select(['own_hid'])->andWhere(['unid' => $input['unid']])->one();
  37. if (!empty($s)) {
  38. $record = House::find()->select(['id as hid'])->andWhere(['del' => 1])->andWhere(['id' => $s['own_hid']])->asArray()->one();
  39. }
  40. if (empty($record['hid'])) {
  41. //楼盘未同步过,但是存在情况
  42. $record = House::find()->select(['id as hid'])->andWhere(['name' => $input['house_name']])->andWhere(['del' => 1])->asArray()->one();
  43. }
  44. if (!empty($record['hid']) && is_numeric($record['hid'])) {
  45. return $this->Edit($input, $record['hid']);
  46. } else {
  47. if (!isset($input['house_data']) && empty($input['house_data'])) return '检测到无该楼盘信息,请先添加楼盘信息,在添加楼盘相关相册,户型,配套,预售证,历史价格等信息。';
  48. return $this->Add($input);
  49. }
  50. }
  51. //楼盘修改逻辑
  52. public function Edit($input, $hid)
  53. {
  54. $Transaction = Yii::$app->db->beginTransaction();
  55. try {
  56. if (isset($input['house_data']) && !empty($input['house_data'])) {
  57. $this->HouseParams($input, $hid);
  58. }
  59. if (isset($input['housealbum']) && !empty($input['housealbum'])) {
  60. $this->HouseAlbum($input, $hid);
  61. }
  62. if (isset($input['housetype']) && !empty($input['housetype'])) {
  63. $this->HouseType($input, $hid);
  64. }
  65. if (isset($input['housepeitao']) && !empty($input['housepeitao'])) {
  66. $this->HouseFacilities($input, $hid);
  67. }
  68. if (isset($input['housepermit']) && !empty($input['housepermit'])) {
  69. $this->HousePermit($input, $hid);
  70. }
  71. if (isset($input['houseprice']) && !empty($input['houseprice'])) {
  72. $this->HousePriceRecord($input, $hid);
  73. }
  74. $m = new Synchouserecord();
  75. $m->own_hid = $hid;
  76. $m->unid = $input['unid'];
  77. $m->state = 2;
  78. $m->create_at = $_SERVER['REQUEST_TIME'];
  79. $m->content = json_encode($input);
  80. $m->name = $input['user_name'];
  81. if ($m->save() == false) throw new \Exception('请联系管理员');
  82. $Transaction->commit();
  83. return true;
  84. } catch (\Exception $e) {
  85. $Transaction->rollBack();
  86. return $e->getMessage();
  87. }
  88. }
  89. public function Add($input)
  90. {
  91. $Transaction = Yii::$app->db->beginTransaction();
  92. try {
  93. $house = new House();
  94. $houseDetails = new HouseDetail();
  95. if (!empty($input['house_data']['characteristic'])) {
  96. $name['name'] = $input['house_data']['characteristic'];
  97. $CharSub = $this->CharacteristicSubject($name);
  98. if (!empty($CharSub)) {
  99. $SubFlip = array_flip($CharSub);
  100. $input['house_data']['characteristic'] = '["' . implode('","', $SubFlip) . '"]';
  101. } else {
  102. $input['house_data']['characteristic'] = '';
  103. }
  104. }
  105. if (!empty($input['house_data']['type'])) {
  106. $name['name'] = $input['house_data']['type'];
  107. $CharSub = $this->Label($name, 1);
  108. if (!empty($CharSub)) {
  109. $SubFlip = array_flip($CharSub);
  110. $input['house_data']['type'] = '["' . implode('","', $SubFlip) . '"]';
  111. } else {
  112. $input['house_data']['type'] = '';
  113. }
  114. }
  115. if (!empty($input['house_data']['architecture_type'])) {
  116. // $input = $this->LebelMerge($input,2,$houseRow);
  117. $name['name'] = $input['house_data']['architecture_type'];
  118. $CharSub = $this->Label($name, 2);
  119. if (!empty($CharSub)) {
  120. $SubFlip = array_flip($CharSub);
  121. $input['house_data']['architecture_type'] = '["' . implode('","', $SubFlip) . '"]';
  122. } else {
  123. $input['house_data']['architecture_type'] = '';
  124. }
  125. }
  126. if (!empty($input['house_data']['property_tag'])) {
  127. // $input = $this->LebelMerge($input,3,$houseDetailsRow);
  128. $name['name'] = $input['house_data']['property_tag'];
  129. $CharSub = $this->Label($name, 3);
  130. if (!empty($CharSub)) {
  131. $SubFlip = array_flip($CharSub);
  132. $input['house_data']['property_tag'] = '["' . implode('","', $SubFlip) . '"]';
  133. } else {
  134. $input['house_data']['property_tag'] = '';
  135. }
  136. }
  137. $area = $this->CityId($input['house_data']['area_name'], 3);
  138. if ($area) {
  139. $input['house_data']['area'] = $area['id'];
  140. }
  141. $province = $this->CityId($input['house_data']['province_name'], 1);
  142. if ($province) {
  143. $input['house_data']['province'] = $province['id'];
  144. }
  145. $city = $this->CityId($input['house_data']['city_name'], 2)['id'];
  146. if ($city) {
  147. $input['house_data']['city'] = $this->CityId($input['house_data']['city_name'], 2)['id'];
  148. } else {
  149. if (isset($input['house_data']['main_city']) && !empty($input['house_data']['main_city'])) {
  150. $input['house_data']['city'] = $this->CityId($input['house_data']['main_city'], 2)['id'];
  151. }
  152. }
  153. if ($input['house_data']['city_name'] == '迪拜') {
  154. $c = \common\models\CategoryCity::find()->select(['id'])->andWhere(['city_name' => $input['house_data']['city_name']])->andWhere(['del' => 1])->andWhere(['<>', 'pid', 0])->one();
  155. if ($c) {
  156. $input['house_data']['city'] = $c['id'];
  157. }
  158. }
  159. if (empty($input['house_data']['city'])) throw new \Exception('检测到无该区域信息,请先添加区域信息。');
  160. unset($input['house_data']['id']);
  161. unset($input['house_data']['hid']);
  162. unset($input['house_data']['click_num']);
  163. unset($input['house_data']['sort']);
  164. unset($input['house_data']['create_at']);
  165. unset($input['house_data']['update_at']);
  166. // $url = Yii::$app->basePath . '/runtime/house.json';
  167. // $data = json_encode($input['house_data']);
  168. // file_put_contents($url, $data);
  169. $house->load($input['house_data'], '');
  170. $b = $house->save(false);
  171. // var_dump($b);
  172. if ($b != true) throw new \Exception('楼盘资料添加失败。');
  173. $houseDetails->hid = $house->attributes['id'];
  174. $hid = $house->attributes['id'];
  175. $houseDetails->load($input['house_data'], '');
  176. $a = $houseDetails->save(false);
  177. // var_dump($a);
  178. if ($a != true) throw new \Exception('楼盘资料添加失败。');
  179. if (!empty($input['housealbum'])) {
  180. $this->HouseAlbum($input, $hid);
  181. }
  182. if (!empty($input['housetype'])) {
  183. $this->HouseType($input, $hid);
  184. }
  185. if (!empty($input['housepeitao'])) {
  186. $this->HouseFacilities($input, $hid);
  187. }
  188. if (!empty($input['housepermit'])) {
  189. $this->HousePermit($input, $hid);
  190. }
  191. if (!empty($input['houseprice'])) {
  192. $this->HousePriceRecord($input, $hid);
  193. }
  194. $m = new Synchouserecord();
  195. $m->own_hid = $hid;
  196. $m->unid = $input['house_data']['uniqid'];
  197. $m->state = 1;
  198. $m->create_at = $_SERVER['REQUEST_TIME'];
  199. $m->content = json_encode($input);
  200. $m->name = $input['user_name'];
  201. if ($m->save() == false) throw new \Exception('请联系管理员');
  202. $Transaction->commit();
  203. return true;
  204. } catch (\Exception $e) {
  205. $Transaction->rollBack();
  206. return $e->getMessage();
  207. }
  208. }
  209. //楼盘内容参数--修改逻辑
  210. public function HouseParams($input, $hid)
  211. {
  212. $house = new House();
  213. $houseRow = $house->FindById($hid);
  214. $houseDetails = new HouseDetail();
  215. $houseDetailsRow = $houseDetails->FindById($houseRow['id']);
  216. if (isset($input['house_data']['characteristic']) && !empty($input['house_data']['characteristic'])) {
  217. $input = $this->CharacteristicMerge($input, $houseRow);
  218. }
  219. if (isset($input['house_data']['type']) && !empty($input['house_data']['type'])) {
  220. $input = $this->LebelMerge($input, 1, $houseRow);
  221. }
  222. if (isset($input['house_data']['architecture_type']) && !empty($input['house_data']['architecture_type'])) {
  223. $input = $this->LebelMerge($input, 2, $houseRow);
  224. }
  225. if (isset($input['house_data']['property_tag']) && !empty($input['house_data']['property_tag'])) {
  226. $input = $this->LebelMerge($input, 3, $houseDetailsRow);
  227. }
  228. unset($input['house_data']['id']);
  229. unset($input['house_data']['hid']);
  230. unset($input['house_data']['click_num']);
  231. unset($input['house_data']['sort']);
  232. unset($input['house_data']['create_at']);
  233. unset($input['house_data']['update_at']);
  234. $area = $this->CityId($input['house_data']['area_name'], 3);
  235. if ($area) {
  236. $input['house_data']['area'] = $area['id'];
  237. }
  238. $province = $this->CityId($input['house_data']['province_name'], 1);
  239. if ($province) {
  240. $input['house_data']['province'] = $province['id'];
  241. }
  242. $city = $this->CityId($input['house_data']['city_name'], 2)['id'];
  243. if ($city) {
  244. $input['house_data']['city'] = $this->CityId($input['house_data']['city_name'], 2)['id'];
  245. } else {
  246. if (isset($input['house_data']['main_city']) && !empty($input['house_data']['main_city'])) {
  247. $input['house_data']['city'] = $this->CityId($input['house_data']['main_city'], 2)['id'];
  248. }
  249. }
  250. if ($input['house_data']['city_name'] == '迪拜') {
  251. $c = \common\models\CategoryCity::find()->select(['id'])->andWhere(['city_name' => $input['house_data']['city_name']])->andWhere(['del' => 1])->andWhere(['<>', 'pid', 0])->one();
  252. if ($c) {
  253. $input['house_data']['city'] = $c['id'];
  254. }
  255. }
  256. // $input['house_data']['city'] = $this->CityId($input['house_data']['city_name'])['id'];
  257. if (empty($input['house_data']['city'])) throw new \Exception('检测到无该区域信息,请先添加区域信息。');
  258. $houseRow->load($input['house_data'], '');
  259. $houseDetailsRow->load($input['house_data'], '');
  260. if ($houseRow->save(false) == false) throw new \Exception('楼盘信息修改失败。');
  261. if ($houseDetailsRow->save(false) == false) throw new \Exception('楼盘信息修改失败。');;
  262. }
  263. public function HouseParamsAdd($input)
  264. {
  265. $house = new House();
  266. }
  267. //楼盘相册修改逻辑;
  268. public function HouseAlbum($input, $hid)
  269. {
  270. $cat = CategoryAlbum::find()->select(['name', 'id'])->andWhere(['del' => 1])->asArray()->all();
  271. $catId = array_column($cat, 'id', 'name');
  272. $arr = [];
  273. foreach ($input['housealbum'] as $key => $val) {
  274. if (isset($catId[$val['name']]) && !empty($catId[$val['name']])) {
  275. $arr[$key]['title'] = $val['title'];
  276. $arr[$key]['img'] = $val['img'];
  277. $arr[$key]['album_id'] = $catId[$val['name']];
  278. $arr[$key]['hid'] = $hid;
  279. $arr[$key]['sort'] = $val['sort'];
  280. }
  281. }
  282. if (!empty($arr)) {
  283. $model = new HouseAlbum();
  284. HouseAlbum::updateAll(['del' => 2], ['hid' => $hid]);
  285. foreach ($arr as $val) {
  286. $_model = clone $model;
  287. $row = $_model::find()->andWhere(['album_id' => $val['album_id']])->andWhere(['img' => $val['img']])->andWhere(['hid' => $hid])->andWhere(['del' => 1])->exists();
  288. if ($row == false) {
  289. $_model->title = $val['title'];
  290. $_model->img = $val['img'];
  291. $_model->album_id = $val['album_id'];
  292. $_model->hid = $val['hid'];
  293. $_model->sort = $val['sort'];
  294. if ($_model->save(false) == false) throw new \Exception('楼盘相册添加失败。');
  295. }
  296. }
  297. }
  298. }
  299. //楼盘户型图 后期看可否统一删除从新加载
  300. public function HouseType($input, $hid)
  301. {
  302. $cat = CategoryHousetype::find()->select(['huxing_name', 'id'])->andWhere(['del' => 1])->asArray()->all();
  303. $catId = array_column($cat, 'id', 'huxing_name');
  304. $arr = [];
  305. foreach ($input['housetype'] as $key => $val) {
  306. if (isset($catId[$val['huxing_name']]) && !empty($catId[$val['huxing_name']])) {
  307. $arr[$key]['img'] = $val['img'];
  308. $arr[$key]['title'] = $val['title'];
  309. $arr[$key]['type_id'] = $catId[$val['huxing_name']];
  310. $arr[$key]['hid'] = $hid;
  311. $arr[$key]['area'] = $val['area'];
  312. $arr[$key]['indoor_info'] = $val['indoor_info'];
  313. }
  314. }
  315. if (!empty($arr)) {
  316. HouseType::updateAll(['del' => 2], ['hid' => $hid]);
  317. $model = new HouseType();
  318. foreach ($arr as $val) {
  319. $_model = clone $model;
  320. $row = $_model::find()->andWhere(['type_id' => $val['type_id']])
  321. ->andWhere(['img' => $val['img']])
  322. ->andWhere(['hid' => $hid])
  323. ->andWhere(['del' => 1])
  324. ->andWhere(['title' => $val['title']])
  325. ->andWhere(['area' => $val['area']])
  326. ->andWhere(['indoor_info' => $val['indoor_info']])
  327. ->exists();
  328. if ($row == false) {
  329. $_model->img = $val['img'];
  330. $_model->title = $val['title'];
  331. $_model->type_id = $val['type_id'];
  332. $_model->hid = $hid;
  333. $_model->area = $val['area'];
  334. $_model->indoor_info = $val['indoor_info'];
  335. $t = $_model->save(false);
  336. if ($t == false) throw new \Exception('户型操作失败。');
  337. }
  338. }
  339. }
  340. }
  341. //周边配套
  342. public function HouseFacilities($input, $hid)
  343. {
  344. $cat = CategoryFacilities::find()->select(['name', 'id'])->andWhere(['del' => 1])->asArray()->all();
  345. $catId = array_column($cat, 'id', 'name');
  346. $arr = [];
  347. foreach ($input['housepeitao'] as $key => $val) {
  348. if (isset($catId[$val['name']]) && !empty($catId[$val['name']]) && !empty($val['pname'])) {
  349. $arr[$key]['fid'] = $catId[$val['name']];
  350. $arr[$key]['hid'] = $hid;
  351. $arr[$key]['latitude_longitude'] = $val['latitude_longitude'];
  352. $arr[$key]['distance'] = $val['distance'];
  353. $arr[$key]['name'] = $val['pname'];
  354. }
  355. }
  356. if (!empty($arr)) {
  357. HouseFacilities::deleteAll(['hid' => $hid]);
  358. $model = new HouseFacilities();
  359. foreach ($arr as $val) {
  360. $_model = clone $model;
  361. $_model->name = $val['name'];
  362. $_model->distance = $val['distance'];
  363. $_model->latitude_longitude = $val['latitude_longitude'];
  364. $_model->fid = $val['fid'];
  365. $_model->hid = $hid;
  366. $t = $_model->save(false);
  367. if (!$t) throw new \Exception('周边配套添加失败。');
  368. }
  369. }
  370. }
  371. //预售证
  372. public function HousePermit($input, $hid)
  373. {
  374. $model = new HousePermit();
  375. if (!empty($input['housepermit'])) {
  376. HousePermit::updateAll(['del' => 2], ['hid' => $hid]);
  377. }
  378. foreach ($input['housepermit'] as $val) {
  379. $_model = clone $model;
  380. $row = $_model::find()->andWhere(['hid' => $hid])->andWhere(['permit' => $val['permit']])->andWhere(['building_num' => $val['building_num']])->andWhere(['del' => 1])->exists();
  381. if ($row == 0) {
  382. $_model->permit = $val['permit'];
  383. $_model->time = $val['time'];
  384. $_model->building_num = $val['building_num'];
  385. $_model->hid = $hid;
  386. if ($_model->save(false) == false) throw new \Exception('预售证添加失败。');
  387. }
  388. }
  389. }
  390. //历史价格
  391. public function HousePriceRecord($input, $hid)
  392. {
  393. $model = new HousePriceRecord();
  394. if (is_array($input['houseprice']) && !empty($input['houseprice'])) {
  395. if (is_numeric($hid)) {
  396. HousePriceRecord::deleteAll(['hid' => $hid]);
  397. }
  398. foreach ($input['houseprice'] as $val) {
  399. $_model = clone $model;
  400. // $row = $_model::find()->andWhere(['hid'=>$hid])->andWhere(['price'=>$val['price']])->andWhere(['del'=>1])->exists();
  401. // if($row == false)
  402. // {
  403. $_model->price = $val['price'];
  404. $_model->create_time = $val['create_time'];
  405. $_model->min_price = $val['min_price'];
  406. $_model->explain = $val['explain'];
  407. $_model->hid = $hid;
  408. $_model->hid = $hid;
  409. $_model->price_unit = $val['price_unit'];
  410. if ($_model->save(false) == false) throw new \Exception('历史价格添加失败。');
  411. // }
  412. }
  413. }
  414. // $model = new HousePriceRecord();
  415. // foreach ($input['houseprice'] as $val)
  416. // {
  417. // $_model = clone $model;
  418. // $row = $_model::find()->andWhere(['hid'=>$hid])->andWhere(['price'=>$val['price']])->andWhere(['del'=>1])->exists();
  419. // if($row == false)
  420. // {
  421. // $_model->price = $val['price'];
  422. // $_model->create_time = $val['create_time'];
  423. // $_model->min_price = $val['min_price'];
  424. // $_model->explain = $val['explain'];
  425. // $_model->hid = $hid;
  426. // $_model->hid = $hid;
  427. // $_model->price_unit = $val['price_unit'];
  428. // if($_model->save(false) == false) throw new \Exception('历史价格添加失败。');
  429. // }
  430. // }
  431. }
  432. //转换特色主题ID
  433. public function CharacteristicSubject($input)
  434. {
  435. $query = Characteristic::find();
  436. if (isset($input['id']) && !empty($input['id'])) {
  437. $query->andWhere(['id' => $input['id']]);
  438. } else if (isset($input['name']) && !empty($input['name'])) {
  439. $query->andWhere(['name' => $input['name']]);
  440. } else {
  441. return '';
  442. }
  443. $all = $query->asArray()->all();
  444. if (!empty($all)) {
  445. return array_column($all, 'name', 'id');
  446. }
  447. return '';
  448. }
  449. //合并转换后的楼盘特色主题
  450. public function CharacteristicMerge($input, $housrRow)
  451. {
  452. $char['name'] = $input['house_data']['characteristic'];
  453. $CharSub = $this->CharacteristicSubject($char);
  454. if (!empty($CharSub)) {
  455. $SubFlip = array_flip($CharSub);
  456. $input['house_data']['characteristic'] = '["' . implode('","', array_unique(array_values((array)$SubFlip))) . '"]';
  457. } else {
  458. $input['house_data']['characteristic'] = '';
  459. }
  460. return $input;
  461. }
  462. //标签,
  463. public function Label($input, $type)
  464. {
  465. $query = CategoryLabel::find();
  466. $query->andWhere(['type' => $type]);
  467. if (isset($input['id']) && !empty($input['id'])) {
  468. $query->andWhere(['id' => $input['id']]);
  469. } else if (isset($input['name']) && !empty($input['name'])) {
  470. $query->andWhere(['name' => $input['name']]);
  471. } else {
  472. return '';
  473. }
  474. $all = $query->asArray()->all();
  475. if ($all != null) {
  476. return array_column($all, 'name', 'id');
  477. }
  478. return '';
  479. }
  480. public function CityId($name, $level)
  481. {
  482. $query = CategoryCity::find();
  483. return $query->select(['id'])->andWhere(['city_name' => $name, 'level' => $level])->andWhere(['del' => 1])->asArray()->one();
  484. }
  485. //合并转换标签
  486. public function LebelMerge($input, $type, $housrRow)
  487. {
  488. switch ($type) {
  489. case 1:
  490. $char['name'] = $input['house_data']['type'];
  491. $CharSub = $this->Label($char, $type);
  492. if (!empty($CharSub)) {
  493. $SubFlip = array_flip($CharSub);
  494. $input['house_data']['type'] = '["' . implode('","', array_unique(array_values((array)$SubFlip))) . '"]';
  495. } else {
  496. throw new \Exception('缺少物业类型:' . implode(',', $input['house_data']['type']) . ',请联系管理员添加。');
  497. // $input['house_data']['type'] = '';
  498. }
  499. break;
  500. case 2:
  501. $char['name'] = $input['house_data']['architecture_type'];
  502. $CharSub = $this->Label($char, $type);
  503. if (!empty($CharSub)) {
  504. //1
  505. $SubFlip = array_flip($CharSub);
  506. $input['house_data']['architecture_type'] = '["' . implode('","', array_unique(array_values((array)$SubFlip))) . '"]';
  507. } else {
  508. throw new \Exception('缺少建筑类别:' . implode(',', $input['house_data']['architecture_type']) . ',请联系管理员添加。');
  509. }
  510. break;
  511. case 3:
  512. $char['name'] = $input['house_data']['property_tag'];
  513. $CharSub = $this->Label($char, $type);
  514. if (!empty($CharSub)) {
  515. $SubFlip = array_flip($CharSub);
  516. $input['house_data']['property_tag'] = '["' . implode('","', array_unique(array_values((array)$SubFlip))) . '"]';
  517. } else {
  518. throw new \Exception('缺少楼盘标签:' . implode(',', $input['house_data']['property_tag']) . ',请联系管理员添加。');
  519. }
  520. break;
  521. }
  522. return $input;
  523. }
  524. }