/** * 添加日志 * * @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']}日志成功"; } } }