Exemple #1
0
 /**
  * 精选推广(for job)
  * 计算排名
  * 更新计划状态(坑位里面的异动房源更新状态)
  * 通知solr(坑位里面的异动房源通知solr)
  * 记房源日志(坑位里面的房源异动日志)
  */
 public static function choiceSpread($params = array())
 {
     // 检查参数
     $checkParams = self::checkParams($params);
     if (!$checkParams['status']) {
         return $checkParams;
     }
     // 获取信息,组装$params
     $joinParams = self::joinParams($params);
     if (!$joinParams['status']) {
         return $joinParams;
     }
     $all_return = array();
     if (!isset($params['type'])) {
         $params['type'] = 401;
     }
     if (!self::isPassSpread($params['blockId'], $params['priceId'])) {
         // 写入排队日志
         if ($params['type'] = 401) {
             $data = self::build_prop_log($params, 13, $params['planId'] . "精选推广;精选排队中", $params['brokerId']);
             if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
                 return Bll_HzPropBll::build_return(0, array("精选房源(" . $params['proId'] . ")排队日志写入失败"));
             } else {
                 $all_return[] = "精选房源{$params['proId']}排队日志写入";
             }
             //查询定价计划是否推广中
             $fixPlanProInfo = Model_Plan_HzPlanning::getBrokerPro($params['proId'], Const_HzPlan::SPREAD_TYPE);
             if (!empty($fixPlanProInfo) && $fixPlanProInfo[0]['is_valid'] == Const_HzPlan::SPREAD) {
                 //定价推广
                 $proStatus = Const_HzStatus::ONLINE;
                 //推广
             } else {
                 $proStatus = $fixPlanProInfo[0]['is_valid'] == Const_HzPlan::UPPERLIMIT ? Const_HzStatus::NOCASH : Const_HzStatus::MANUALLY;
                 //非推广
             }
             //更新房源状态
             Dao_Broker_HzProp::change_prop_status($params['proId'], $proStatus);
             //更新房源的状态
         }
         return Bll_HzPropBll::build_return(1, $all_return);
     }
     // 更新状态
     // Dao_Broker_HzPlan::update_planning($params['planId'], 1);
     Model_Plan_HzPlanning::updatePropPlanStatusByPlanId($params['planId'], Const_HzPlan::SPREAD);
     //更新关系表的状态
     Bll_HzBidPlan::updatePlanStatus($params['planId'], Const_HzPlan::SPREAD);
     //更新计划的状态
     Dao_Broker_HzProp::change_prop_status($params['proId'], Const_HzStatus::ONLINE);
     //更新房源的状态
     // 通知solr
     Dao_Broker_HzProp::into_prop_lucene($params['proId'], $params['cityId'], 1);
     Dao_Broker_HzProp::add_updown_log($params['proId'], $params['planId'], Const_HzStatus::GOONLINE, Const_HzLog::BIDPLANSTART);
     $data = self::build_prop_log($params, 14, "精选房源推广", $params['brokerId']);
     if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
         return Bll_HzPropBll::build_return(0, array("精选房源(" . $params['proId'] . ")变更为精选推广失败"));
     } else {
         $all_return[] = "精选房源{$params['proId']}变更为精选推广";
     }
     return Bll_HzPropBll::build_return(1, $all_return);
 }
Exemple #2
0
 public function handle_request()
 {
     $params = array('id' => 123, 'type' => 101, 'broker_id' => 723767, 'pro_id' => 16228203, 'plan_id' => 22232, 'remark' => '');
     $hzUpDownService = new Bll_House_UpDown_Worker_HzUpDownService($params);
     //print_r($hzUpDownService->doUpDownFromWorker());
     var_dump(Model_Plan_HzPlanning::updatePropPlanStatusByPlanId(165122, Const_HzPlan::MENUOVER));
 }
Exemple #3
0
 /**
  * 经纪人手动删除计划
  * 修改计划的状态为 Const_HzPlan::DELETE
  * 修改房源的状态为
  * @param $ajkBrokerId
  * @param $planId
  * @return array
  */
 public static function deleteChoicePlan($ajkBrokerId, $planId)
 {
     $hzBrockId = Model_Broker_HzMapping::get_hz_broker_id($ajkBrokerId);
     $result = array('status' => 'ok');
     $planInfo = Model_Plan_HzPlanBasic::get_plan_by_id($planId);
     if (empty($planInfo)) {
         return array('status' => 'error', 'msg' => '没有找到计划。');
     }
     if ($planInfo['user_id'] != $hzBrockId) {
         return array('status' => 'error', 'msg' => '计划不属于当前经纪人。');
     }
     if ($planInfo['status'] == Const_HzPlan::SPREAD || $planInfo['status'] == Const_HzPlan::WAITING) {
         return array('status' => 'error', 'msg' => '计划必须先停止才能删除。');
     }
     /** 更新计划状态为手工删除状态 */
     Bll_HzBidPlan::updatePlanStatus($planId, Const_HzPlan::DELETE);
     // Bll_HzBidPlan::deletePlan($planId);
     Model_Plan_HzPlanning::updatePropPlanStatusByPlanId($planId, Const_HzPlan::DELETE);
     return $result;
 }