public static function checkJpParams($params) { if (empty($params[self::PLANID]) || empty($params[self::BROKERID])) { self::$msg = '传入参数有误'; return false; } self::$spreadId = $params[self::PLANID]; self::$brokerId = $params[self::BROKERID]; self::$spreadInfo = $spreadInfo = Model_Plan_Jp::getPlanInfoByPk(self::$spreadId); self::$houseInfo = Bll_House_JpHouseInfo::getHouseInfoById($spreadInfo->houseId); if (empty($spreadInfo) || Model_Plan_Jp::BIDVERSION_CHOICE != $spreadInfo->bidVersion) { self::$msg = '该计划不属于精选房源计划'; return false; } return true; }
public function updateSpreadStatus($spreadId = 0, $status = 0, $logStatus = 0) { if ($spreadId === 0 || $status === 0 || $logStatus === 0) { return false; } try { $spreadObj = Model_Plan_Jp::getPlanInfoByPk($spreadId); $spreadObj->status = $status; $flag1 = $spreadObj->save(); $flag2 = Model_Log_JpSpreadStatusUpdate::writeSpreadStatusLog($status, $spreadId, $logStatus); if ($flag1 && $flag2) { return true; } } catch (Exception $e) { } return false; }
public static function plan_budget_top($params) { $all_return = array(); $all_return[] = "队列(" . $params['id'] . ")开始处理"; //获取计划信息 $fixPlanInfoObj = Model_Plan_Jp::getPlanInfoByPk($params['plan_id']); if ($fixPlanInfoObj) { $all_return[] = "定价计划" . $fixPlanInfoObj->id . ",status=" . $fixPlanInfoObj->status . ",no_budget_date=" . $fixPlanInfoObj->noBudgetDate; if (BLL_Fixedspread_StaticPlanUpDownSwicher::isOnline()) { //更新计划信息 $fixPlanInfoObj->noBudgetDate = time(); $fixPlanInfoObj->save(); $all_return[] = "更新计划nobudget数据成功"; } if ($params['remark']) { $remark = json_decode($params['remark'], true); foreach ($remark as $houseId) { $params['pro_id'] = $houseId; $data = Bll_JpPropBll::build_prop_log($params, 7, "房源第二天推广", $params['broker_id']); if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) { $all_return[] = "房源" . $params['pro_id'] . "第二天推广日志写入失败"; } else { $all_return[] = "房源" . $params['pro_id'] . "第二天推广日志写入成功"; } } } } //写限额不足计划日志 $data = self::build_plan_log($params, 6, "计划限额不足停止", 0); Model_House_UpDown_PlanLog::create($data, date('m'))->save(); $all_return[] = "计划限额不足日志写入成功"; return Bll_JpPropBll::build_return(1, $all_return); }
public static function edit_prop($params) { $all_return[] = "队列(" . $params['id'] . ")开始处理"; $typeFourFlag = false; if ($params['pro_id']) { //是否套餐经纪人 //$broker_info = Dao_Broker_BrokerInfo::get_broker_base_info($params['broker_id']); if (Bll_City::isComboCity($params['city_id'])) { //套餐经纪人 房源在线 $all_return[] = '套餐经纪人'; $brokerPropRelation = Model_Combo_HouseRelation::data_access('jp')->filter('brokerId', $params['broker_id'])->filter('houseId', $params['pro_id'])->find_only(); if ($brokerPropRelation->state >= Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE && $brokerPropRelation->state <= 199) { $all_return[] = '需要写入更新日志'; $typeFourFlag = true; } } else { //ppc经纪人 定价推广在线 $all_return[] = 'PPC经纪人'; $houseInfoObj = Model_House_JpHouseIdx::getPropInfoByPk($params['pro_id']); if ($houseInfoObj->fixSpreadId) { $fixPlanInfoObj = Model_Plan_Jp::getPlanInfoByPk($houseInfoObj->fixSpreadId); if ($fixPlanInfoObj->status == Model_Plan_Jp::ENUM_STATUS_ONLINE) { $all_return[] = '需要写入更新日志'; $typeFourFlag = true; } } } } if ($typeFourFlag) { $data = self::build_prop_log($params, 4, "房源更新", $params['broker_id']); if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) { $all_return[] = '房源更新日志写入成功'; } } $data = self::build_prop_log($params, 2, "房源编辑", $params['broker_id']); if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) { $all_return[] = '房源编辑日志写入成功'; return self::build_return(1, $all_return); } $all_return[] = '房源编辑日志写入失败'; return self::build_return(0, $all_return); }
public static function noMoneySpread($params = array()) { if (!self::checkJpParams($params)) { return self::buildReturn(0, self::$msg); } $spreadInfo = self::$spreadInfo; $brokerId = self::$brokerId; $spreadId = self::$spreadId; //$checkRtn = Bll_Plan_JpPlanManage::getInstance()->checkSpreadStatus($spreadInfo->id, $spreadInfo->houseId, $spreadInfo->memberId); //获取计划信息 $jpPlanInfo = Model_Plan_Jp::getPlanInfoByPk($spreadId); //判断计划状态 if (empty($jpPlanInfo)) { return self::buildReturn(0, '计划不存在'); } //判断计划状态 $reason = ''; $needSettlement = true; if (in_array($jpPlanInfo->status, array(Model_Plan_Jp::ENUM_STATUS_OVER, Model_Plan_Jp::ENUM_STATUS_HOLD, Model_Plan_Jp::ENUM_STATUS_DELETE))) { $reason = '计划状态异常,status:' . $jpPlanInfo->status; $needSettlement = false; } //更新计划为计算中 if (Bll_Plan_JpPlanManage::getInstance()->stopBidSpread($spreadInfo->id, $spreadInfo->houseId, $spreadInfo->memberId, $needSettlement, '商业地产:精选房源' . $spreadInfo->houseId . '(房源编号)')) { Model_Choice_JPBidBucket::decrementUsedNum($spreadInfo->blockId, $spreadInfo->newBlockId, $spreadInfo->houseType, $spreadInfo->priceId); } //生成停止房源日志 $params = array(); $params['houseId'] = $spreadInfo->houseId; $params['plan_id'] = $spreadInfo->id; $params['ajk_broker_id'] = $brokerId; $params['city_id'] = $spreadInfo->cityId; $remark = '计划没钱,计划ID是' . $spreadInfo->id; self::writeHouseLog($params, $remark, __FUNCTION__); $reason .= '计划:' . $spreadId . '计划没钱'; $res = self::updateBucketStatusAndHouseToSolr($spreadInfo, $brokerId, __FUNCTION__, $reason); return self::buildReturn(1, $res); }
/** * PPC经纪人的房源是否在线(判定定价即可) * @param $houseId * @return bool */ public function isHouseOnline($houseId) { $houseInfo = Model_House_JpHouseIdx::getPropInfoByPk($houseId); if (!empty($houseInfo) && !empty($houseInfo->fixSpreadId)) { $planInfo = Model_Plan_Jp::getPlanInfoByPk($houseInfo->fixSpreadId); if (!empty($planInfo) && $planInfo->type == 1 && $planInfo->isDelete == 0 && $planInfo->status == 2) { return true; } } return false; }