/** * 上下架队列,二手房价格段变写房源日志 * * @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))); }