/**
  * 添加日志
  *
  * @param $propId
  * @param $option
  * @param $userId
  * @param $mid
  * @param $statusOld
  * @param $statusNew
  * @param bool $planIdOld
  * @param bool $planIdNew
  */
 public static function addEffectPropLog($propId, $option, $userId, $mid, $statusOld, $statusNew, $planIdOld = false, $planIdNew = false)
 {
     if ($planIdOld === false) {
         // 计划没有变更
         $propPlanInfo = Model_Plan_HzPlanning::getValidPropPlanByPropId($propId);
         if (!empty($propPlanInfo)) {
             $planIdOld = $propPlanInfo['plan_id'];
         } else {
             $planIdOld = 0;
         }
     }
     if ($planIdNew === false) {
         $planIdNew = $planIdOld;
     }
     $LogContent = array('proid' => $propId, 'option' => $option, 'user_id' => $userId, 'mid' => $mid, 'create_day' => date("Ymd"), 'created' => time(), 'status_old' => $statusOld, 'status_new' => $statusNew, 'plan_id_old' => $planIdOld, 'plan_id_new' => $planIdNew);
     Model_Log_EffectPropLog::addLog($LogContent);
 }
 /**
  * 301账户余额不足
  * 查询经纪人正在推广定价计划
  *   没有计划 return
  * 根据推广计划 查询计划下有效房源(哪些有效)
  *   判断计划状态
  *      推广中 更新计划状态为余额不足 记录账户余额不足日志 type=7
  *      第二天推广 更新计划状态余额不足 记录账户余额不足日志 type=7
  *      手动停止或账户限额不足 continue
  * 查询计划下房源关系
  *   如果为空 continue
  *   不为空 判断计划状态
  *      如果推广中 更新关系状态为余额不足 记录取消推广日志 type=6
  *      如果第二天推广 更新关系状态为余额不足 记录取消第二天推广 type=7
  */
 private function broker_balance_less()
 {
     // 查询在线计划,并下线房子
     $plans = Dao_Broker_HzPlan::get_broker_plan($this->params['broker_id'], Const_HzPlan::SPREAD);
     if (empty($plans)) {
         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)) {
         return;
     }
     foreach ($plans_props as $plan_id => $props) {
         // 更新计划状态
         if (Bll_HzPropBll::switchUpOrDown()) {
             if (!Dao_Broker_HzPlan::update_plan_status($plan_id, Const_HzPlan::UPPERLIMIT)) {
                 $this->allReturn[] = "更新计划[{$plan_id}]数据失败";
             } else {
                 $this->allReturn[] = "更新计划[{$plan_id}]数据成功";
             }
         } else {
             $this->allReturn[] = "开关关闭,计划[{$plan_id}]数据不再更新";
         }
         // 记录计划下线日志
         $data = Bll_HzFixPlanBll::build_plan_log($this->params, 7, "余额不足,计划下线", $this->params['broker_id']);
         if (!Model_House_UpDown_PlanLog::create($data, date('m'))->save()) {
             $this->allReturn[] = "余额不足,计划[{$plan_id}]下线写入失败";
         }
         foreach ($props['props'] as $prop) {
             if (Bll_HzPropBll::switchUpOrDown()) {
                 //初始化更新房源的状态
                 $prop_status = Const_HzStatus::NOCASH;
                 //账户没钱--7
                 //查询竞价或精选的推广状态,决定房源的状态
                 $bid_pro_info = Model_Plan_HzPlanning::getValidPropPlanByPropId($prop['proid'], 2);
                 if (!empty($bid_pro_info)) {
                     $prop_status = Const_HzStatus::ONLINE;
                     //推广中--1
                 }
                 //更新房源计划信息
                 if (Dao_Broker_HzProp::change_prop_status($prop['proid'], $prop_status) && Model_Plan_HzPlanning::updatePlanningByPropId($prop['proid'], Const_HzPlan::UPPERLIMIT, Const_HzPlan::SPREAD_TYPE)) {
                     $this->allReturn[] = "{$prop['proid']}下线成";
                 } else {
                     $this->allReturn[] = "{$prop['proid']}下线失败";
                 }
             } else {
                 $this->allReturn[] = "开关关闭,房源[{$prop['proid']}]状态不改变";
             }
             //写入下线日志
             $data = Bll_HzPropBll::build_prop_log($this->params, 6, "房源下线", $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']}日志失败";
             }
             $this->allReturn[] = "{$prop['proid']}日志成功";
         }
     }
 }