예제 #1
0
 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;
 }
예제 #2
0
 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;
 }
예제 #3
0
 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);
 }
예제 #4
0
 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);
 }
예제 #5
0
 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);
 }
예제 #6
0
 /**
  * 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;
 }