public function DownHouse($brokerId = 0, $promitionHouseNum = 0)
 {
     $brokerId = intval($brokerId);
     $promitionHouseNum = intval($promitionHouseNum);
     if ($brokerId == 0 || $promitionHouseNum == 0) {
         return false;
     }
     //将二手房经纪人ID转成商业地产ID
     $jpBrokerInfoObj = Model_Broker_JpBroker::getJpBrokerInfoByAjkBrokerId($brokerId);
     if (!$jpBrokerInfoObj || $jpBrokerInfoObj->id == 0) {
         return Util_GlobalFunc::buildReturn(0, "该经纪人:{$brokerId}没有找到");
     }
     //获取这个经纪人的有效计划
     $OnlinePlan = Model_Plan_Jp::getOnlinePlanByMemberId($jpBrokerInfoObj->id);
     if (!$OnlinePlan) {
         return Util_GlobalFunc::buildReturn(0, "该经纪人:{$brokerId}没有有效计划");
     }
     $onlineplan = array();
     foreach ($OnlinePlan as $plan) {
         $onlineplan[] = $plan->id;
         $isBidVersion[$plan->id]['bidVersion'] = $plan->bidVersion;
     }
     //获取这些有效计划下的房子
     $houseIdx = Model_House_JpHouseIdx::getHouseInfoByFixPlanId($onlineplan);
     if (!$houseIdx) {
         return Util_GlobalFunc::buildReturn(0, "该经纪人:{$brokerId}有效计划下的房子");
     }
     $housecount = count($houseIdx);
     echo '正在处理商业地产' . $brokerId . ',总推广房源数' . $housecount . ',api中允许推广数量' . $promitionHouseNum;
     $allReturn = array();
     //和套餐的推广房源做比较,如果当前在线推广的房子大于套餐推广房子,则下房源将较早推广的房子下架
     if ($housecount > $promitionHouseNum) {
         $offNum = $housecount - $promitionHouseNum;
         for ($i = $offNum; $i >= 1; $i--) {
             if (empty($houseIdx[$i])) {
                 continue;
             }
             if ($houseIdx[$i]->bidSpreadId) {
                 $resultBid = Bll_House_JpHouseInfo::removeBidHouseFromSpread($houseIdx[$i], $jpBrokerInfoObj->id, 1, false);
                 if (!$resultBid['success']) {
                     $allReturn[] = $resultBid['data'];
                 }
             }
             $resultFix = Bll_House_JpHouseInfo::removeFixHouseFromSpread($houseIdx[$i], $jpBrokerInfoObj->id);
             if (!$resultFix['success']) {
                 $allReturn[] = $resultFix['data'];
             }
         }
     }
     return Util_GlobalFunc::buildReturn(1, $allReturn);
 }
示例#2
0
 public static function broker_balance_less($params)
 {
     $all_return[] = "队列(" . $params['id'] . ")开始处理";
     $all_return[] = '金铺账户余额不足';
     $ajk_broker_id = $params['broker_id'];
     //获取金铺经纪人broker_id
     $jpBrokerInfoObj = Model_Broker_JpBroker::getJpBrokerInfoByAjkBrokerId($params['broker_id']);
     $params['broker_id'] = $jpBrokerInfoObj->id;
     //获取推广中的计划
     $fixInfoObjs = Model_Plan_Jp::getOnlinePlanByMemberId($params['broker_id']);
     if ($fixInfoObjs) {
         foreach ($fixInfoObjs as $fixInfoObj) {
             //写计划日志
             $plan_log = array();
             $plan_log['id'] = $params['id'];
             $plan_log['plan_id'] = $fixInfoObj->id;
             $plan_log['broker_id'] = $ajk_broker_id;
             $plan_log['city_id'] = $fixInfoObj->cityId;
             $plan_log['type'] = $params['type'];
             $plan_log = Bll_JpFixPlanBll::build_plan_log($plan_log, 7, "余额不足计划停止", 0);
             if (!Model_House_UpDown_PlanLog::create($plan_log, date('m'))->save()) {
                 $all_return[] = "计划" . $plan_log['planId'] . "计划停止推广日志写入失败";
             } else {
                 $all_return[] = "计划" . $plan_log['planId'] . "计划停止推广日志写入成功";
             }
             if (BLL_Fixedspread_StaticPlanUpDownSwicher::isOnline()) {
                 //更新计划
                 $fixInfoObj->status = 4;
                 $fixInfoObj->stopReason = 2;
                 if (!$fixInfoObj->save()) {
                     return array('status' => 0, 'msg' => array("定价计划" . $plan_log['planId'] . ",更新失败"));
                 }
             }
             //获取房源列表
             $houseInfoObjs = Model_House_JpHouseIdx::getHouseInfoByFixPlanId($plan_log['planId']);
             if ($houseInfoObjs) {
                 foreach ($houseInfoObjs as $houseInfoObj) {
                     $prop_log['id'] = $params['id'];
                     $prop_log['pro_id'] = $houseInfoObj->id;
                     $prop_log['plan_id'] = $plan_log['planId'];
                     $prop_log['broker_id'] = $ajk_broker_id;
                     $prop_log['city_id'] = $houseInfoObj->cityId;
                     $prop_log['type'] = $params['type'];
                     $prop_log = Bll_JpPropBll::build_prop_log($prop_log, 6, "账户余额不足房源下线", 0);
                     //写房源日志
                     if (!Model_Log_HouseLogNew::create($prop_log, date('Ymd'))->save()) {
                         $all_return[] = "房源" . $houseInfoObj->id . "房源停止推广日志写入失败";
                     } else {
                         $all_return[] = "房源" . $houseInfoObj->id . "房源停止推广日志写入成功";
                     }
                     if (BLL_Fixedspread_StaticPlanUpDownSwicher::isOnline()) {
                         //获取房源分表信息
                         $houseClass = Model_House_JpHouseIdx::getHouseTypeModelClass($houseInfoObj->houseType);
                         $houseObj = $houseClass::getPropInfoByPk($houseInfoObj->id);
                         //更新删除房源时间
                         $houseObj->isList = 0;
                         if ($houseObj->save()) {
                             $all_return[] = "houseType=" . $houseInfoObj->houseType . ",更新分表isList=0成功";
                         } else {
                             $all_return[] = "houseType=" . $houseInfoObj->houseType . ",更新分表isList=0失败";
                         }
                     }
                 }
             }
         }
     }
     return Bll_JpPropBll::build_return(1, $all_return);
 }