Пример #1
0
 /**
  * 上下架队列,二手房价格段变写房源日志
  *
  * @param array $queue
  * @return array
  */
 public static function upDownDeal($queue)
 {
     $priceInterval = json_decode($queue['remark'], true);
     if (!is_array($priceInterval) || empty($priceInterval)) {
         return array('status' => 0, 'msg' => 'remark解析JSON错误');
     }
     if (!isset($priceInterval['id'])) {
         return array('status' => 0, 'msg' => '没有获取到价格段Id');
     }
     $priceId = intval($priceInterval['id']);
     $priceIntervalInfo = Model_House_EsfPrice::get_price_by_id($priceId);
     if (empty($priceIntervalInfo)) {
         return array('status' => 0, 'msg' => '没有获取到价格段信息[' . $priceId . ']');
     }
     $choicePlanList = Model_Plan_EsfAjkPropSpread::getChoicePlanByPrice($priceIntervalInfo['cityId'], $priceIntervalInfo['minPrice'], $priceIntervalInfo['maxPrice']);
     if (empty($choicePlanList)) {
         return array('status' => 1, 'msg' => sprintf('没有获取到推广、排队的精选计划[%d - %d -%d]', $priceIntervalInfo['cityId'], $priceIntervalInfo['minPrice'], $priceIntervalInfo['maxPrice']));
     }
     $dealMark = array();
     $remark = sprintf('价格段变更[queue_id: %d]', $queue['id']);
     foreach ($choicePlanList as $choicePlan) {
         $houseLog = static::buildHouseLog($choicePlan['propId'], $choicePlan['brokerId'], $choicePlan['cityId'], Const_ProPlanChangeType::PRICE_INTERVAL_CHANGE, Const_ProLogType::LOG_PRICE_INTERVAL_CHANGE, $remark);
         if (!Model_Log_HouseLogNew::create($houseLog, date('Ymd'))->save()) {
             $dealMark[] = sprintf('精选[%d]房源[%d]价格段变更写房源日志失败', $choicePlan['id'], $choicePlan['propId']);
         } else {
             $dealMark[] = sprintf('精选[%d]房源[%d]价格段变更写房源日志成功', $choicePlan['id'], $choicePlan['propId']);
         }
     }
     return array('status' => 1, 'msg' => sprintf('价格段变更房源日志写入完成,%s', implode(',', $dealMark)));
 }