예제 #1
0
 /**
  * 删除房源,可批量
  */
 public static function delete_prop($hzBrokerId, $city_id, $proids)
 {
     // 获取二手房经纪人ID,用于基于房源定价上下架日志
     $ajkBrokerId = Model_Broker_MainBusiness::getMainBusinessByHzBrokerId($hzBrokerId)->ajkBrokerid;
     $proinfo = Dao_Broker_HzProp::get_prop($proids);
     foreach ($proinfo as $proid => $prop) {
         $basic_info = $prop['content_basic'];
         if ($basic_info['cityid'] != $city_id || $basic_info['userid'] != $hzBrokerId) {
             continue;
         }
         $fix_planning = Dao_Broker_HzPlan::get_prop_planning($proid);
         if (!empty($fix_planning)) {
             Bll_HzFixPlan::prop_out_fix($hzBrokerId, $proid, $fix_planning[0]['plan_id']);
         }
         Dao_Broker_HzProp::change_prop_status($proid, Const_HzStatus::REMOVE);
         // 记录房源定价上下架记录
         Bll_ProPlanChangeApiBll::get_instance()->insertProPlanChange(array('broker_id' => $ajkBrokerId, 'pro_id' => $proid, 'plan_id' => $fix_planning ? $fix_planning[0]['plan_id'] : '', 'type' => 'pro_del', 'from' => 'hz_' . __CLASS__ . '_' . __FUNCTION__, 'remark' => '删除房源', 'site_type' => 2), $ajkBrokerId);
     }
     return true;
 }
예제 #2
0
 /**
  * 增加money产生的公共动作
  * @param string $descript
  * @throws Exception_BllErrorException
  */
 private function addMoneyCommon($descript = '')
 {
     // 上线前判断余额 Jackin
     $userId = Bll_Broker_MainBusiness::getDataByEsfId($this->params['ajk_broker_id'])->memberId;
     try {
         $balanceInfo = Bll_Service_Payment::balance(Const_PaymentApp::HZ_DEFAULT, array('userId' => $userId));
     } catch (Exception $e) {
         throw new Exception_BllErrorException(sprintf('调用api失败: %s userId=%d broker_id=%d ajk_broker_id=%d', $e->getMessage(), $userId, $this->params['broker_id'], $this->params['ajk_broker_id']));
     }
     if ($balanceInfo['status'] == 'error') {
         throw new Exception_BllErrorException(sprintf('%s ajkBrokerId(%d) 获取余额失败', $descript, $this->params['ajk_broker_id']));
     } elseif ($balanceInfo['data']['balance'] <= 0) {
         throw new Exception_BllErrorException(sprintf('%s ajkBrokerId(%d) 余额(%d)不足', $descript, $this->params['ajk_broker_id'], $balanceInfo['data']['balance']));
     }
     $this->allReturn = array(sprintf('hz:%s ajkBrokerId(%d) 当前余额(%d) ', $descript, $this->params['ajk_broker_id'], $balanceInfo['data']['balance']));
     //获取刷爆$descript的计划
     $plans = Dao_Broker_HzPlan::get_broker_plan($this->params['broker_id'], 7);
     if (empty($plans)) {
         $this->allReturn[] = '没有获取到 status=7 的计划';
         return;
     }
     $plan_ids = array();
     foreach ($plans as $plan) {
         $plan_ids[] = $plan['id'];
     }
     // 获取所有房子并上线
     $plans_props = Bll_HzFixPlan::get_plan_props($plan_ids, $this->params['city_id']);
     if (empty($plans_props)) {
         $this->allReturn[] = sprintf('没有获取到计划(%s)的房源', implode(',', $plan_ids));
         return;
     }
     foreach ($plans_props as $plan_id => $props) {
         // 更新计划状态
         if (Bll_HzPropBll::switchUpOrDown()) {
             if (!Dao_Broker_HzPlan::update_plan_status($plan_id, Const_HzPlan::SPREAD)) {
                 $this->allReturn[] = "更新计划[{$plan_id}]数据失败";
             }
         } else {
             $this->allReturn[] = "开关关闭,计划[{$plan_id}]数据不再更新";
         }
         // 记录计划上线日志
         $data = Bll_HzFixPlanBll::build_plan_log($this->params, 8, "{$descript},计划上线", $this->params['broker_id']);
         if (!Model_House_UpDown_PlanLog::create($data, date('m'))->save()) {
             $this->allReturn[] = "{$descript},计划[{$plan_id}]上线写入失败";
         } else {
             $this->allReturn[] = "{$descript},计划[{$plan_id}]上线写入";
         }
         foreach ($props['props'] as $prop) {
             if (Bll_HzPropBll::switchUpOrDown()) {
                 if (Dao_Broker_HzProp::change_prop_status($prop['proid'], Const_HzStatus::ONLINE) && Model_Plan_HzPlanning::updatePlanningByPropId($prop['proid'], Const_HzPlan::SPREAD, Const_HzPlan::SPREAD_TYPE)) {
                     $this->allReturn[] = "房源{$prop['proid']}上线成功";
                 } else {
                     $this->allReturn[] = "房源{$prop['proid']}上线失败";
                 }
             } else {
                 $all_return[] = "开关关闭,房源[{$prop['proid']}]状态不改变";
             }
             $data = Bll_HzPropBll::build_prop_log($this->params, 5, "房源上线", $this->params['broker_id']);
             $data['planId'] = $plan_id;
             $data['houseId'] = $prop['proid'];
             if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
                 $this->allReturn[] = "房源{$prop['proid']}上线日志写入失败";
             } else {
                 $this->allReturn[] = "房源{$prop['proid']}上线日志写入";
             }
         }
     }
 }
예제 #3
0
 /**
  * 租房竞价房源停止推广
  * 1. 维护计划状态
  * 2. 通知solr上下
  * @param $broker_id
  * @param $proid
  * @param bool $isDelete 是否把竞价置为删除状态
  * @return array
  */
 public static function bidPropOutBid($broker_id, $proid, $isDelete = true)
 {
     $flag_array = array('status' => 0, 'msg' => '');
     //获取竞价 房源、计划关系表信息(promotion_prop_planning)
     $planning = Dao_Broker_HzPlan::get_prop_all_planning($proid, Const_HzPlan::BID_TYPE);
     //$planning = Model_Plan_HzPlanning::getValidPropPlanByPropId($proid, Const_HzPlan::BID_TYPE);
     if (empty($planning)) {
         $flag_array['msg'] = Const_HzErrorInfo::PLANCONULL;
         return $flag_array;
     }
     //根据计划查询竞价计划的信息
     $plan_info = Model_Plan_HzPlanBasic::get_plan_by_id($planning[0]['plan_id']);
     if (empty($plan_info)) {
         $flag_array['msg'] = Const_HzErrorInfo::NULLPLAN;
         return $flag_array;
     }
     // 非精选判断
     if ($plan_info['bid_version'] == 2) {
         $flag_array['msg'] = Const_HzErrorInfo::PLANINFOERROR;
         return $flag_array;
     }
     //判断计划是否为该经纪人的
     if ($plan_info['user_id'] != $broker_id) {
         $flag_array['msg'] = Const_HzErrorInfo::PLANINFOERROR;
         return $flag_array;
     }
     // 在线判断
     if ($plan_info['status'] == Const_HzPlan::SPREAD) {
         //获取竞价计划的冻结号
         $sn = Dao_Broker_HzPlan::get_bid_sn($plan_info['id']);
         $sn = $sn['sn'];
         if (empty($sn)) {
             $flag_array['msg'] = Const_HzErrorInfo::PROPERROR;
             return $flag_array;
         }
         //获取竞价花费
         $amount = $plan_info['total_consume'];
         $note = urlencode('推广房源' . $proid);
         $user_id = Bll_HzBroker::get_userid_by_hzbrokerid($broker_id);
         /** 竞价结算 调用3次 */
         $charge_sn = false;
         $unfreezeOrderData = array('userId' => $user_id, 'proId' => $proid, 'serialNumber' => $sn, 'planId' => $plan_info['id'], 'amount' => $amount);
         $unfreezeOrder = Bll_Ppc_BidUnfreeze::createHzOrder($unfreezeOrderData);
         for ($i = 0; $i < 3 && !$charge_sn; $i++) {
             $charge_sn = Bll_PayAccount::cancel_frozen($user_id, $amount, $proid, Const_PaymentApp::HZ_BID, $sn, $note, true);
         }
         if (!$charge_sn) {
             $unfreezeOrder->fail();
             $flag_array['msg'] = Const_HzErrorInfo::CHARGEFAIL;
             // 此处不需要block,由job保证此处解冻正确
             //return $flag_array;
         } else {
             $unfreezeOrder->complete();
         }
         //查询房源信息
         $proInfo = Model_House_HzProp::get_prop_info_by_prop_id($proid);
         //房源违规的、删除的不能更新房源状态
         $prop_status = $proInfo['contentBasic']['status'];
         // 兼容新套餐
         $ajkBrokerId = Model_Broker_HzMapping::get_ajk_broker_id($broker_id);
         if (Bll_Broker_HzBroker::isComboBroker($ajkBrokerId)) {
             /** 判断房源是否在套餐推广中 */
             if (!Bll_Combo_HouseRelation::getOnlineRelationByHouseId($proid, Bll_Combo_HouseRelation::SITE_TYPE_HZ)) {
                 $prop_status = Const_HzStatus::OUTLINE;
             }
         } else {
             //查询房源是否在关系里面
             $fix_planning = Dao_Broker_HzPlan::get_prop_planning($proid, Const_HzPlan::SPREAD_TYPE);
             if (!in_array($proInfo['contentBasic']['status'], array(Const_HzStatus::VERIFY, Const_HzStatus::REMOVE, Const_HzStatus::EXPIRED))) {
                 if (empty($fix_planning)) {
                     //房源不在计划里面
                     $prop_status = Const_HzStatus::OUTLINE;
                     //房源不在计划里面
                 } elseif ($fix_planning[0]['is_valid'] == Const_HzPlan::SPREAD) {
                     $prop_status = Const_HzStatus::ONLINE;
                     //定价正在推广
                 } elseif ($fix_planning[0]['is_valid'] == Const_HzPlan::UPPERLIMIT) {
                     //定价非推广(没钱状态)
                     $prop_status = Const_HzStatus::NOCASH;
                     //房源没钱
                 } else {
                     $prop_status = Const_HzStatus::MANUALLY;
                     //房源状态更新为9手动停止
                 }
             }
         }
         //维护房源状态
         if (!Dao_Broker_HzProp::change_prop_status($proid, $prop_status)) {
             $flag_array['msg'] = '维护房源状态,数据更新失败.';
             return $flag_array;
         }
         //维护竞价关联关系
         if (!Dao_Broker_HzPlan::update_planning($planning[0]['id'], Const_HzPlan::MENUOVER)) {
             $flag_array['msg'] = '维护竞价关联关系,数据更新失败.';
             return $flag_array;
         }
         //维护计划状态
         if (!Dao_Broker_HzPlan::update_plan_status($plan_info['id'], Const_HzPlan::MENUOVER)) {
             $flag_array['msg'] = '维护计划状态,数据更新失败.';
             return $flag_array;
         }
         //通知solr
         if ($prop_status == Const_HzStatus::ONLINE) {
             //定价正在推广
             Dao_Broker_HzProp::into_prop_lucene($proid, $planning[0]['city_id'], 1);
             //竞价下,定价还在线。则更新上
         } else {
             Dao_Broker_HzProp::into_prop_lucene($proid, $planning[0]['city_id'], 2);
             //下线房源
         }
     }
     if ($isDelete) {
         // 更新计划的flag为删除状态
         if (!Dao_Broker_HzPlan::update_history_bids($plan_info['id'])) {
             $flag_array['msg'] = '更新计划的flag为删除状态,数据更新失败.';
             return $flag_array;
         }
     }
     $flag_array['status'] = 1;
     return $flag_array;
 }
예제 #4
0
 /**
  * 删除经纪人定价组
  * @param $broker_id
  * @param $plan_id
  * @return array
  */
 public static function delete_broker_plan($broker_id, $plan_id)
 {
     //删除价组 条件判断
     $flag_array = array('status' => 0, 'msg' => '');
     if (empty($broker_id) || empty($plan_id)) {
         $flag_array['msg'] = Const_HzErrorInfo::PARAMS;
         return $flag_array;
     }
     $plan_info = Dao_Broker_HzPlan::get_plan($plan_id);
     if (empty($plan_info)) {
         $flag_array['msg'] = Const_HzErrorInfo::NULLPLAN;
         return $flag_array;
     }
     if ($plan_info['user_id'] != $broker_id) {
         $flag_array['msg'] = Const_HzErrorInfo::PLANINFOERROR;
         return $flag_array;
     }
     // 已删除
     if ($plan_info['status'] == Const_HzPlan::MANUALLY_PAUSE) {
         $flag_array['msg'] = Const_HzErrorInfo::PLANINFOERROR;
         return $flag_array;
     }
     $plannings = Dao_Broker_HzPlan::get_planning($plan_id);
     $proids = array();
     foreach ($plannings as $planning) {
         $proids[] = $planning['proid'];
     }
     $prop_option = Const_HzLog::DELPLANPROP;
     $status = Const_HzStatus::OUTLINE;
     // 房源更新状态
     $plan_status = Const_HzPlan::MANUALLY_PAUSE;
     // 计划状态
     $plan_option = Const_HzLog::DELPLAN;
     $proids_str = implode(',', $proids);
     $proinfo = Dao_Broker_HzProp::get_prop($proids);
     foreach ($plannings as $planning) {
         $basic_info = $proinfo[$planning['proid']]['content_basic'];
         //更新房源计划信息
         if (Dao_Broker_HzProp::change_prop_status($planning['proid'], $status)) {
             //更新房源状态
             if (Dao_Broker_HzPlan::update_planning($planning['id'], $plan_status)) {
                 //更新关联关系
                 Dao_Broker_HzPlan::add_prop_log($planning['proid'], $prop_option, $basic_info['userid'], $plan_id, $basic_info['status'], $status);
                 //记房源日志
                 // TODO 停止竞价
                 // TODO 下solr
                 //记录房源下线日志
                 if ($status != Const_HzStatus::ONLINE && $basic_info['status'] == Const_HzStatus::ONLINE) {
                     Dao_Broker_HzProp::ezft_assistant_log($planning['proid'], $basic_info['userid'], Const_HzPlan::SPREAD_TYPE, $basic_info['spread_type']);
                 }
                 //房源上下线日志
                 Dao_Broker_HzProp::add_updown_log($planning['proid'], $plan_id, Const_HzStatus::GOONLINE, $prop_option);
             }
         }
     }
     //更新计划
     Dao_Broker_HzPlan::update_plan_status($plan_id, $plan_status);
     //计划日志
     Dao_Broker_HzPlan::add_plan_log($plan_id, $proids_str, $plan_option, 1, $broker_id, 0, $plan_info['status'], $plan_status);
     $flag_array['status'] = 1;
     return $flag_array;
 }
예제 #5
0
 /**
  * @param $ajkPropSpread
  * @param int $doBucket 0-不处理,1-坑位数加一,-1-坑位数减一
  * @return bool
  * 精选计算排名
  */
 public function choiceComputeRank($blockId, $priceId)
 {
     //获取坑位表信息
     $bucketInfo = Model_Choice_HzBidBucket::get_bucket_info($blockId, $priceId);
     if (empty($bucketInfo)) {
         return array('未知的坑位表信息,blockId:' . $blockId . ' priceId:' . $priceId);
     }
     //获取坑里面的推广、排队的计划
     $bidPlanInfo = Model_Plan_HzPlanBasic::getChoiceQueuePlanByBucket($blockId, $priceId, array(Const_HzPlan::SPREAD, Const_HzPlan::WAITING));
     if (empty($bidPlanInfo)) {
         return array('未获取到同板块、价格段的房源。blockId:' . $blockId . ' priceId:' . $priceId);
     }
     $tmpRemark = array();
     //遍历坑里面的数据,计算排名
     foreach ($bidPlanInfo as $key => $list) {
         $broker = Model_Broker_MainBusiness::getMainBusinessByHzBrokerId($list['user_id'], false);
         if ($key < $bucketInfo['maxOnlineNum']) {
             //预期推广中的数据
             if ($list['status'] == Const_HzPlan::WAITING) {
                 //更新租房排队中的计划为推广中
                 Model_Plan_HzPlanBasic::updatePlanStatus($list['id'], Const_HzPlan::SPREAD);
                 //更新租房排队中的计划为推广中
                 Model_Plan_HzPlanning::updatePlanningByPlanId($list['id'], Const_HzPlan::SPREAD, Const_HzPlan::BID_TYPE);
                 //查询精选关系表信息(获取到房源id)
                 $bidPlanProInfo = Model_Plan_HzPlanning::getPlanByPlanId($list['id']);
                 if (!empty($bidPlanProInfo)) {
                     //更新房源状态
                     Dao_Broker_HzProp::change_prop_status($bidPlanProInfo['proid'], Const_HzStatus::ONLINE);
                 }
                 //通知solr队列上
                 Dao_Broker_HzProp::into_prop_lucene($bidPlanProInfo['proid'], $bidPlanProInfo['city_id'], 1);
                 //记录房源日志
                 Model_Log_HouseLogNew::create(array('houseId' => $bidPlanProInfo['proid'], 'planId' => $bidPlanProInfo['plan_id'], 'brokerId' => $broker['ajkBrokerid'], 'cityId' => $bidPlanProInfo['city_id'], 'type' => 14, 'changeType' => '40' . self::$qInfo['actionId'], 'remark' => '计划' . self::$qInfo['planId'] . self::$actionStr[self::$qInfo['actionId']] . ';重新计算价格段内排名,精选推广', 'operatorId' => self::$qInfo['operationId'], 'siteType' => 2), date('Ymd'))->save();
                 $tmpRemark[] = 'planId:' . $bidPlanProInfo['plan_id'] . '变更为推广';
             }
         }
         /* else { //预期排队的数据
                         if ($list['status'] == Const_HzPlan::SPREAD) {
                             //更新租房排队中的计划为推广中
                             Model_Plan_HzPlanBasic::updatePlanStatus($list['id'], Const_HzPlan::WAITING);
                             //更新租房排队中的计划为推广中
                             Model_Plan_HzPlanning::updatePlanningByPlanId($list['id'], Const_HzPlan::WAITING, Const_HzPlan::BID_TYPE);
                             //查询精选关系表信息(获取到房源id)
                             $bidPlanProInfo = Model_Plan_HzPlanning::getPlanByPlanId($list['id']);
                             if (!empty($bidPlanProInfo)) {
                                 //查询定价的信息,定价推广中的话,房源状态更新为1
                                 $fixPlanProInfo = Model_Plan_HzPlanning::getBrokerPro($bidPlanProInfo['proid'], Const_HzPlan::SPREAD_TYPE);
                                 if (isset($fixPlanProInfo[0]['is_valid']) && $fixPlanProInfo[0]['is_valid'] == Const_HzPlan::SPREAD) {
                                     $proStatus = Const_HzStatus::ONLINE; //推广
                                     //更新房源状态
                                     Dao_Broker_HzProp::change_prop_status($bidPlanProInfo['proid'], $proStatus);
                                 }
                             }
         
                             //通知solr队列上
                             Dao_Broker_HzProp::into_prop_lucene($bidPlanProInfo['proid'], $bidPlanProInfo['city_id'], $proStatus);
                             //记录房源日志
                             Model_Log_HouseLogNew::create(array(
                                 'houseId' => $bidPlanProInfo['proid'],
                                 'planId' => $bidPlanProInfo['plan_id'],
                                 'brokerId' => $broker['ajkBrokerid'],
                                 'cityId' => $bidPlanProInfo['city_id'],
                                 'type' => 13, //13-精选排队中,14-精选推广,15-取消精选推广,16-取消精选排队
                                 'changeType' => '40' . self::$qInfo['actionId'],
                                 'remark' => '计划' . self::$qInfo['planId'] . self::$actionStr[self::$qInfo['actionId']] . ';重新计算价格段内排名,精选排队中',
                                 'operatorId' => self::$qInfo['operationId'],
                                 'siteType' => 2,
                             ), date('Ymd'))->save();
         
                             $tmpRemark[] = 'planId:' . $bidPlanProInfo['plan_id'] . '变更为排队中';
                         }
                     }
                     */
     }
     if (empty($tmpRemark)) {
         $tmpRemark[] = '未找到需要变更的计划';
     }
     return $tmpRemark;
 }
예제 #6
0
 /**
  * 警告:未得到授权,不能使用。所有者:caoyang
  * 本方法为租房架构变更,房源状态维护的过渡期中临时方法。有效到2014-10-01。
  *
  * 根据当前定价、竞价(精选)的状态维护房源的状态
  * 1.房源的状态为:违规-6,删除-99、100的时候房源的状态不被更新
  * 2.定价、竞价(精选)任意一个推广时房源状态为1
  * 3.房源不在定价计划中的时候状态需要维护成2、4
  *
  * @param $hzProId
  * @return mixed
  */
 public static function bulidHzProStatu($hzProId)
 {
     /** 房源信息初步判断 */
     //查询房源信息
     $proInfo = Model_House_HzProp::get_prop_info_by_prop_id($hzProId);
     if (empty($proInfo)) {
         //房源信息不存在
         return '';
     }
     if (in_array($proInfo['contentBasic']['status'], array(Const_HzStatus::VERIFY, Const_HzStatus::REMOVE, Const_HzStatus::EXPIRED))) {
         //房源状态为违规的、删除的不能更新房源状态
         return '';
     }
     /** 定价、竞价(精选)数据准备 */
     //查询租房定价、竞价(精选)关系数据
     $fixPlanning = array();
     //定价关系数据
     $bidPlanning = array();
     //竞价(精选)关系数据
     $comboRelation = array();
     // 套餐关系数据
     //$isComboBroker = Bll_Broker_HzBroker::isComboBroker($proInfo['contentBasic']['user_id']);
     $planning = Model_Plan_HzPlanning::data_access()->filter('proid', $hzProId)->get_all();
     foreach ($planning as $list) {
         //定价
         if ($list['plan_type'] == Const_HzPlan::SPREAD_TYPE) {
             $fixPlanning = $list;
         }
         //竞价(精选)
         if ($list['plan_type'] == Const_HzPlan::BID_TYPE) {
             $bidPlanning = $list;
         }
     }
     //查询租房竞价(精选)计划状态
     if (empty($bidPlanning)) {
         $bidPlanInfo = array();
     } else {
         $bidPlanInfo = Model_Plan_HzPlanBasic::get_plan_by_id($bidPlanning['plan_id']);
     }
     //查询租房定价计划状态
     if (empty($fixPlanning)) {
         $fixPlanInfo = array();
     } else {
         $fixPlanInfo = Model_Plan_HzPlanBasic::get_plan_by_id($fixPlanning['plan_id']);
     }
     //查询套餐关系
     $comboRelation = Bll_Combo_HouseRelation::getRelationByHouseId($hzProId);
     /** 计算出房源状态应该更新成什么样 */
     /**
      * 1. 非定价推广(计划删除、或房源不在计划里面)proStatus=2
      * 2. 定价推广:proStatus=1
      * 3. 定价非推广(房源在计划中)
      *  3.1 竞价(精选)非推广
      *      3.1.1 定价计划没钱 proStatus=13
      *      3.1.1 定价其他 proStatus=9
      *  3.2 竞价(精选)推广 proStatus=1
      */
     if ($comboRelation) {
         return Dao_Broker_HzProp::change_prop_status($hzProId, Bll_Combo_HouseRelation::isRelationOnline($comboRelation['state']) ? Const_HzStatus::ONLINE : Const_HzStatus::OUTLINE);
     } else {
         //定价计划不存在、计划标记为删除、计划不是正常状态(1、2、5、7、9)
         if (empty($fixPlanInfo) || $fixPlanInfo['flag'] == 0 || !in_array($fixPlanInfo['status'], array(Const_HzPlan::SPREAD, Const_HzPlan::AUTOOVER, Const_HzPlan::AWAIT, Const_HzPlan::UPPERLIMIT, Const_HzPlan::MANUALLY_PAUSE))) {
             return Dao_Broker_HzProp::change_prop_status($hzProId, Const_HzStatus::OUTLINE);
             //房源不在计划里面
         }
         //定价房源不在计划里面、非有效的关系(1、2、5、7、9)
         if (empty($fixPlanning) || !in_array($fixPlanning['is_valid'], array(Const_HzPlan::SPREAD, Const_HzPlan::AUTOOVER, Const_HzPlan::AWAIT, Const_HzPlan::UPPERLIMIT, Const_HzPlan::MANUALLY_PAUSE))) {
             return Dao_Broker_HzProp::change_prop_status($hzProId, Const_HzStatus::OUTLINE);
             //房源不在计划里面
         }
         //定价计划推广中
         if ($fixPlanInfo['status'] == Const_HzPlan::SPREAD) {
             return Dao_Broker_HzProp::change_prop_status($hzProId, Const_HzStatus::ONLINE);
             //房源正在推广
         }
         //竞价(精选)计划不存在、计划标记为删除、计划不是正常状态(1、2、5、7、9、13)
         //竞价(精选)房源不在计划里面、非有效的关系(1、2、5、7、9、13)
         if (empty($bidPlanInfo) || $bidPlanInfo['flag'] == 0 || !in_array($bidPlanInfo['status'], array(Const_HzPlan::SPREAD, Const_HzPlan::AUTOOVER, Const_HzPlan::AWAIT, Const_HzPlan::UPPERLIMIT, Const_HzPlan::MANUALLY_PAUSE, Const_HzPlan::WAITING)) || empty($bidPlanning) || !in_array($bidPlanning['is_valid'], array(Const_HzPlan::SPREAD, Const_HzPlan::AUTOOVER, Const_HzPlan::AWAIT, Const_HzPlan::UPPERLIMIT, Const_HzPlan::MANUALLY_PAUSE, Const_HzPlan::WAITING))) {
             if ($fixPlanInfo['status'] == Const_HzPlan::UPPERLIMIT) {
                 //计划没钱
                 return Dao_Broker_HzProp::change_prop_status($hzProId, Const_HzStatus::NOCASH);
                 //房源没钱
             } else {
                 return Dao_Broker_HzProp::change_prop_status($hzProId, Const_HzStatus::MANUALLY);
                 //房源状态更新为9手动停止
             }
         }
         //竞价(精选)推广
         if ($bidPlanInfo['status'] == Const_HzPlan::SPREAD) {
             return Dao_Broker_HzProp::change_prop_status($hzProId, Const_HzStatus::ONLINE);
             //房源正在推广
         }
     }
     //以上逻辑都没走到,记录当时错误情况
     file_put_contents("/data1/logs/bulidHzProStatu.log", date('Y-m-d H:i:s') . " " . $hzProId . " " . json_encode($fixPlanInfo) . " " . json_encode($fixPlanning) . " " . json_encode($bidPlanInfo) . " " . json_encode($bidPlanning) . "\n", FILE_APPEND);
     return false;
 }