/**
  * Job执行逻辑
  */
 public function handle_request()
 {
     printf('[%s] lastLogId: %s' . PHP_EOL, date('Y-m-d H:i:s'), $this->lastLogId);
     // 获取任务
     $tasks = Model_Combo_HouseRelation::getList('hz', array(array('state', '=', 101), array('id', '>', $this->lastLogId)), $this->limit, array('id', 'asc'));
     if ($tasks === false) {
         printf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '获取数据失败');
         exit;
     }
     if (empty($tasks)) {
         // 任务完成
         printf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '任务执行完成');
         $this->setStop();
         $this->setShStopFlag();
         $this->setFlag(array('lastLogId' => 0));
         exit;
     }
     // 循环处理任务
     foreach ($tasks as $task) {
         $this->dealTask($task);
         $this->lastLogId = $task['id'];
     }
     //记录游标
     $this->setFlag(array('lastLogId' => $this->lastLogId));
 }
 private function getComboSpreadHouseList()
 {
     try {
         return Model_Combo_HouseRelation::data_access(Model_Combo_HouseRelation::SITE_TYPE_JP)->filter_by_op('id', '>', $this->_startId)->filter_by_op('state', '<', Model_Combo_HouseRelation::ENUM_COMBO_OFFLINE)->limit(self::BATCH_LIMIT)->sort('id', 'asc')->get_all();
     } catch (Exception $e) {
         return array();
     }
 }
Ejemplo n.º 3
0
 /**
  * 获取一段时间内,二手房、租房的房源状态发生变更的房源
  */
 public function handle_request_internal()
 {
     $request = APF::get_instance()->get_request();
     $routeMatches = $request->get_router_matches();
     $business = $routeMatches[1];
     /** 处理二手房 */
     if (strcasecmp($business, 'ajk') == 0) {
         $siteType = Bll_Combo_HouseRelation::SITE_TYPE_AJK;
     } elseif (strcasecmp($business, 'hz') == 0) {
         $siteType = Bll_Combo_HouseRelation::SITE_TYPE_HZ;
     } else {
         $this->responseJSON('error', array(), '非法请求');
         return;
     }
     $params = $request->get_parameters();
     if (!isset($params['start_time']) || !isset($params['end_time'])) {
         $this->responseJSON('error', array(), '参数不全');
         return;
     }
     $startId = 0;
     if (isset($params['start_id'])) {
         $startId = intval($params['start_id']);
     }
     $startTime = intval($params['start_time']);
     $endTime = intval($params['end_time']);
     if ($endTime - $startTime > 600) {
         $this->responseJSON('error', array(), '只能获取10分钟以内的推广状态变更的房源');
         return;
     }
     $condition = array(array('state', 'IN', array(101, 201, 202, 203, 204, 205)), array('updateTime', '>=', date('Y-m-d H:i:s', $startTime)), array('updateTime', '<=', date('Y-m-d H:i:s', $endTime)));
     if ($startId > 0) {
         $condition[] = array('houseId', '>', $startId);
     }
     $houseComboRelationList = Model_Combo_HouseRelation::getList($siteType, $condition, 1000, array('houseId', 'asc'));
     if (empty($houseComboRelationList)) {
         $this->responseJSON('ok', array(), '没有获取到房源推广信息');
         return;
     }
     $result = array('spread_house' => array(), 'not_spread_house' => array(), 'last_id' => 0);
     foreach ($houseComboRelationList as $houseComboRelation) {
         $result['last_id'] = $houseComboRelation['houseId'];
         if (Bll_Combo_HouseRelation::isRelationOnline($houseComboRelation['state'])) {
             $result['spread_house'][] = $houseComboRelation['houseId'];
         } else {
             $result['not_spread_house'][] = $houseComboRelation['houseId'];
         }
     }
     $this->responseJSON('ok', $result, sprintf('%s - %s 时间内推广状态发生变更的房源[%d]', date('Y-m-d H:i:s', $startTime), date('Y-m-d H:i:s', $endTime), $startId));
 }
Ejemplo n.º 4
0
 public static function JpCancelHouseCombo($houseIds, $cityId, $ajkBrokerId)
 {
     if (!is_array($houseIds)) {
         $houseIds = array($houseIds);
     }
     foreach ($houseIds as $houseId) {
         $houseRelation = Model_Combo_HouseRelation::data_access('jp')->filter('houseId', $houseId)->filter('brokerId', $ajkBrokerId)->find_only();
         if (!empty($houseRelation)) {
             $houseRelation->state = Model_Combo_HouseRelation::ENUM_HOUSE_HANDLE;
             $houseRelation->updateTime = date('Y-m-d H:i:s');
             $houseRelation->save();
         }
     }
     Bll_Combo_HouseRelation::notifyHouseUpDownTask($ajkBrokerId, $houseIds, $cityId, Bll_Combo_HouseRelation::SITE_TYPE_JP, Model_House_UpDown_Task::TYPE_PRO_STOP_COMBO, '房源手动停止套餐推广', __METHOD__, $ajkBrokerId);
     return Util_GlobalFunc::buildReturn(1, '取消套餐推广成功');
 }
 private function moveJpPPCFixPlanRelation($cityId, $jpBrokerId, $fixPlan)
 {
     try {
         $ajkBrokerId = Bll_Broker_User::getAjkBrokerIdByJpBrokerId($jpBrokerId);
     } catch (Exception $e) {
         $this->logMsg($e->getMessage());
         return;
     }
     if ($ajkBrokerId == 0) {
         $this->logMsg(sprintf('经纪人[%d - %d]没有获取到二手房经纪人ID。', $cityId, $jpBrokerId));
         return;
     }
     $fixPlanId = $fixPlan['id'];
     $fixPlanHouseRelationList = Model_House_JpHouseIdx::getHouseInfoByFixPlanIdEx($fixPlanId);
     if (empty($fixPlanHouseRelationList)) {
         $this->logMsg(sprintf('经纪人[%d - %d - %d - %d]没有获取到金铺定价计划房源。', $cityId, $ajkBrokerId, $jpBrokerId, $fixPlanId));
         return;
     }
     foreach ($fixPlanHouseRelationList as $fixPlanHouseRelation) {
         $comboHouseRelation = Bll_Combo_HouseRelation::getRelationByHouseId($fixPlanHouseRelation['id'], Model_Combo_HouseRelation::SITE_TYPE_JP);
         if (!empty($comboHouseRelation)) {
             if ($comboHouseRelation['state'] == Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE) {
                 $this->logMsg(sprintf('房源[%d]的套餐关系存在id[%d],且state==205', $fixPlanHouseRelation['id'], $comboHouseRelation['id']));
                 continue;
             }
             if (1 == Bll_Combo_HouseRelation::updateComboStatusById($comboHouseRelation['id'], Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE, Model_Combo_HouseRelation::SITE_TYPE_JP)) {
                 $this->logMsg(sprintf('房源[%d]的套餐关系存在id[%d],更新成功', $fixPlanHouseRelation['id'], $comboHouseRelation['id']));
             } else {
                 $this->logMsg(sprintf('房源[%d]的套餐关系存在id[%d],更新失败', $fixPlanHouseRelation['id'], $comboHouseRelation['id']));
             }
             continue;
         }
         $data = array('houseId' => $fixPlanHouseRelation['id'], 'brokerId' => $ajkBrokerId, 'cityId' => $cityId, 'state' => Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE, 'created' => $fixPlanHouseRelation['createTime']);
         if (1 == Model_Combo_HouseRelation::create($data, Model_Combo_HouseRelation::SITE_TYPE_JP)->save()) {
             $this->logMsg(sprintf('房源[%d]转移成功', $fixPlanHouseRelation['id']));
         } else {
             $this->logMsg(sprintf('房源[%d]转移失败', $fixPlanHouseRelation['id']));
         }
     }
 }
Ejemplo n.º 6
0
 /**
  * @param $request object
  * @param $brokerInfo array
  * @param $type string rent || sale
  * @return array
  */
 public static function getShopBeforePost($request, $brokerInfo, $type)
 {
     $out = $logGiveArr = array();
     $params = $request->get_parameters();
     // manager_id不为空,说明是伪登录
     $out['managerId'] = $request->get_cookie('manager_id');
     // 经纪人信息
     $out['brokerInfo'] = $brokerInfo;
     $cityId = $brokerInfo['CITYID'];
     //金铺城市ID转换
     $jpCityId = $out['brokerInfo']['jpCityId'] = BLL_House_JpHouseManage::getMemberCityId($cityId);
     $out['ajkBrokerId'] = $out['brokerInfo']['BROKERID'];
     $jpMember = Model_Broker_JpBroker::getJpBrokerInfoByAjkBrokerId($out['ajkBrokerId']);
     $out['brokerInfo']['jpMemberId'] = intval($jpMember->id);
     //获取城市配置信息是否是精选推广
     $out['isChoiceCity'] = Bll_City::isChoiceCity($jpCityId, Const_Site::JINPU);
     $out['bidTip'] = $out['isChoiceCity'] ? '精选' : '竞价';
     //是否套餐经纪人
     $out['isCombo'] = $brokerInfo['PAYTYPE'] == 9999 ? 1 : 0;
     //套餐城市是否显示推广按钮,以及提示
     $out['spreadFlagInfo'] = array('spreadFlag' => 1, 'info' => '');
     if ($out['isCombo']) {
         $comboCheck = Bll_Combo_HouseRelation::housePublishComboCheck($out['ajkBrokerId'], $cityId, Bll_Combo_HouseRelation::SITE_TYPE_JP);
         if ($comboCheck['status'] != 1) {
             $out['spreadFlagInfo'] = array('spreadFlag' => 0, 'info' => $comboCheck['msg']);
         }
     }
     // 获取全部图片分类信息(用于编辑时候默认展示分类情况)
     $arrCategory = array();
     $arrAllCates = Model_Image_Category::get_img_cates_by_type('shop');
     $arrCategory['all'] = $arrAllCates;
     $arrCategory['classify'] = array_fill_keys(array_keys($arrAllCates), 0);
     $out['arrCategory'] = $arrCategory;
     // 描述引导
     $out['descGuide'] = self::getShopDescGuideTitle($type);
     //编辑图片,用于展示退回照片模块
     $out['editPic'] = $params['edit_pic'];
     //北上广深 四城市
     $citySpecial = array('13', '14');
     $out['priceType'] = in_array($jpCityId, $citySpecial) ? 1 : 0;
     $out['isPost'] = $request->is_post_method();
     if ($type == 'rent') {
         //交租方式
         $out['rentModeFirst'] = Model_House_JpShopRent::getRentModeFirst();
         $out['rentModeSecond'] = Model_House_JpShopRent::getRentModeSecond();
     }
     //---------是否编辑---------------//
     $shopInfo = array();
     $shopId = 0;
     $propertyId = 0;
     // 初始化参数
     $matches = $request->get_router_matches();
     if (isset($matches[2]) && !empty($matches[2])) {
         $shopId = intval($matches[2]);
         $shopInfo = $type == 'rent' ? Model_House_JpShopRent::getPropInfoById($shopId) : Model_House_JpShopSale::getPropInfoById($shopId);
         $propertyId = $shopInfo['propertyId'];
     }
     $out['isEdit'] = empty($shopInfo) ? 0 : 1;
     //四选一弹层
     $out['bolFlag'] = $out['isEdit'] || !isset($params['from']) ? 0 : 1;
     $out['shopInfo'] = $shopInfo;
     $out['shopId'] = $shopId;
     if (!$out['isCombo']) {
         $planInfo = BLL_House_JpHouseManage::getFixPlanInfo($shopId);
         if ($out['isEdit'] && $planInfo['success'] && $planInfo['data']['status'] == 3) {
             //定价计划状态为3,不可编辑
             return array('status' => 'error', 'errCode' => Const_PublishCode::UNKNOWN_ERROR);
         }
     }
     //新发,需要验证房源发布套数限制
     if (!$out['isEdit']) {
         if (BLL_House_JpHouseManage::houseNumLimit($out['brokerInfo']['jpMemberId'], $out['ajkBrokerId'], true)) {
             //保存漏斗日志
             if ($out['isPost']) {
                 $houseType = Bll_Loudou_Log::jinpuHouseType('shop', $type);
                 $str = '';
                 switch ($params['goto_next_step']) {
                     case 'planCombo':
                     case 'planFix':
                         $str = Bll_Loudou_Log::RESULT_TYPE_FIX_FAILED_OTHERS;
                         break;
                     case 'justSaveHouse':
                         $str = Bll_Loudou_Log::RESULT_TYPE_SAVE_FAILED_HOUSE_MAX_LIMIT;
                         break;
                 }
                 $logGiveArr[] = array('func' => array('Bll_Loudou_log', 'add'), 'params' => array($houseType, $str, Bll_Loudou_Log::SOURCE_TYPE_FORM));
             }
             return array('status' => 'error', 'errCode' => Const_PublishCode::PUBLISH_OUT_OF_LIMIT);
         }
     }
     //经营信息模块的配置信息
     list($out['enumShopType'], $out['enumShopMatching'], $out['enumShopIndustry'], $out['enumShopIndustryLimit'], $out['enumShopPassengerType']) = BLL_House_JpProperty::getShopEnum();
     //页面精品房源url
     $out['exquisiteUrl'] = BLL_Plan_JpPlanUrl::buildHelpUrl('1026');
     //页面经典范例url
     $out['exampleTitleUrl'] = BLL_Plan_JpPlanUrl::buildHelpUrl('1044');
     //页面房源描述下方经典范例url
     $out['exampleDescUrl'] = BLL_Plan_JpPlanUrl::buildHelpUrl('1045');
     //房源发布协议url
     $out['contractUrl'] = BLL_Plan_JpPlanUrl::buildHelpUrl('554');
     //房源PPC价格段信息
     $out['ppcInfo'] = Bll_Plan_JpPlanManage::getInstance()->getPPCPrice($jpCityId, $type == 'rent' ? 3 : 4);
     //城市区域列表,选择区域使用
     $out['districts'] = Model_Jinpu_District::getCityDistricts($jpCityId);
     //经纪人定价推广组信息
     $out['fixPlanInfo'] = $out['isCombo'] ? array() : Bll_Plan_JpPlanManage::getInstance()->getBrokerFixPlans($out['brokerInfo']['jpMemberId']);
     if ($out['isEdit']) {
         //编辑状态下的特殊信息
         //编辑 验证房源是否属于经纪人
         if ($out['brokerInfo']['jpMemberId'] != $out['shopInfo']['memberId']) {
             return array('status' => 'error', 'errCode' => Const_PublishCode::NOT_OWN_HOUSE);
         }
         //房源交租方式(付一押一)
         list($out['rentModelFirst'], $out['rentModelSecond']) = explode(',', $shopInfo['rentMode']);
         //单层 多层 独栋
         $out['floorType'] = 1;
         if ($shopInfo['isFullFloor']) {
             $out['floorType'] = 3;
         } elseif ($shopInfo['upFloor']) {
             $out['floorType'] = 2;
         }
         //房源推广信息,被编辑的房源是否在推广中
         $houseCanSpread = 1;
         if ($out['isCombo']) {
             $houseCombo = Model_Combo_HouseRelation::getOnlineHousebyHouseId($out['ajkBrokerId'], $shopId, $cityId, Model_Combo_HouseRelation::SITE_TYPE_JP);
             if (!empty($houseCombo)) {
                 $houseCanSpread = 0;
             }
         } else {
             $shopIdx = Model_House_JpHouseIdx::data_access()->filter('id', $shopId)->get_row();
             if (!empty($shopIdx['fixSpreadId'])) {
                 $houseCanSpread = 0;
             }
         }
         $out['houseCanSpread'] = $houseCanSpread;
         //图片退回信息
         $out['backRows'] = array();
         if ($shopId && $out['isEdit']) {
             $out['backRows'] = Bll_Image_JpHouseImage::getBackRows($shopId, $type == 'rent' ? 3 : 4);
         }
         //房源描述
         $desc = $type == 'rent' ? Model_Jinpu_ShopRentDesc::getByPk($shopId) : Model_Jinpu_ShopSaleDesc::getByPk($shopId);
         $out['shopDesc'] = $desc['desc'];
         //房源物业信息
         $out['propertyData'] = $propertyData = (array) BLL_House_JpProperty::getProperty($shopInfo['propertyId']);
         if (!$propertyData) {
             return array('status' => 'error', 'errCode' => Const_PublishCode::NOT_OWN_HOUSE);
         }
         if ($propertyData['isRoad'] == 1 && ($shopInfo['districtId'] || !$shopInfo['blockId'])) {
             $out['forceBlockEdit'] = true;
         } elseif ($propertyData['isRoad'] == 0 && (!$propertyData['districtId'] || !$propertyData['blockId'])) {
             $out['forceBlockEdit'] = true;
         }
         if (!$out['forceBlockEdit']) {
             //逻辑好多啊 妹子的
             $districtIdForSearch = !$propertyData['isRoad'] ? $propertyData['districtId'] : $shopInfo['districtId'];
             $blockIdForSearch = !$propertyData['isRoad'] ? $propertyData['blockId'] : $shopInfo['blockId'];
             $districtInfo = Model_Jinpu_District::data_access()->filter('id', $districtIdForSearch)->get_row();
             $districtName = $districtInfo['is_actived'] == 1 ? $districtInfo['name'] : '';
             $blockInfo = Model_Jinpu_Block::data_access()->filter('id', $blockIdForSearch)->get_row();
             $blockName = $blockInfo['isActived'] == 1 ? $blockInfo['name'] : '';
             $titleStr = $districtName . '&nbsp;' . $blockName . '&nbsp;' . (!$propertyData['isRoad'] ? $propertyData['address'] : '') . (!empty($shopInfo['closeRoad']) ? '靠近:' . $shopInfo['closeRoad'] : '');
             $showStr = strlen($titleStr) > 90 ? Util_GlobalFunc::cutchar($titleStr, 28) : $titleStr;
             $out['titleStr'] = $titleStr;
             $out['showStr'] = $showStr;
         }
         $out['hasLibrary'] = BLL_House_JpProperty::hasLibrary($out['brokerInfo']['jpMemberId'], $shopInfo['propertyId'], 'property');
         //房源图片查询和排序
         $images = self::handleShopImages($shopId, $type);
         //个人图库图片是否被锁定
         foreach ($images as $key => $imgVal) {
             $imgVal['isLock'] = 0;
             if ($imgVal && $imgVal['personalImgId']) {
                 $personalImg = Model_Jinpu_PersonalGallery::getImgById($imgVal['personalImgId']);
                 if ($personalImg && $personalImg->category) {
                     $imgVal['isLock'] = 1;
                 }
             }
             if ($imgVal['category'] && isset($out['arrCategory']['classify'][intval($imgVal['category'])])) {
                 $out['arrCategory']['classify'][intval($imgVal['category'])] += 1;
             }
             $images[$key] = $imgVal;
         }
         $out['images'] = $images;
     }
     $lng = $lat = $mapDataFlag = 0;
     //地图标注商铺位置的逻辑
     $DShopMap = Model_Jinpu_MapShop::getByPK($shopId);
     if (!empty($DShopMap)) {
         $lng = $DShopMap['lng'];
         $lat = $DShopMap['lat'];
         $mapDataFlag = 1;
     } else {
         if ($propertyId > 0) {
             $shopLocation = Model_Jinpu_MapProperty::getPropertyMapById($propertyId);
             if (!empty($shopLocation)) {
                 $lng = $shopLocation['lng'];
                 $lat = $shopLocation['lat'];
             }
         } else {
             list($lng, $lat) = BLL_House_JpHouseManage::getDefaultMap($out['brokerInfo']['CITYID']);
         }
         $mapDataFlag = 0;
     }
     $out['lng'] = $lng;
     $out['lat'] = $lat;
     $out['mapDataFlag'] = $mapDataFlag;
     return array('status' => 'ok', 'info' => $out, 'logArr' => $logGiveArr);
 }
Ejemplo n.º 7
0
 /**
  * 判断给定的房源中推广房源数量
  *
  * @param $proIds
  *
  * @return int
  */
 private function getInPlanHouseNumByProIds($proIds)
 {
     if (empty($proIds) || !is_array($proIds)) {
         return 0;
     }
     $res = Model_Combo_HouseRelation::data_access('ajk')->filter('houseId', $proIds)->filter_by_op('state', '<', Model_Combo_HouseRelation::ENUM_COMBO_OFFLINE)->find_all();
     return count($res);
 }
Ejemplo n.º 8
0
 /**
  * @param $brokerId
  * @param $propId
  * @return bool
  * 添加房源推广位提醒
  */
 public function startChoiceSubscription($brokerId, $propId)
 {
     //获取经纪人基本信息
     $brokerBaseInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId);
     if (empty($brokerBaseInfo)) {
         $this->error(self::EMPTY_BROKER_ERROR, self::EMPTY_BROKER_ERROR_MSG);
     }
     //判断经纪人城市是否开通精选
     $cityId = $brokerBaseInfo->cityId;
     if (!$this->checkChoiceOpen($cityId)) {
         $this->error(self::CHOICE_CLOSE_ERROR, self::CHOICE_CLOSE_ERROR_MSG);
     }
     //判断房源是否存在
     $houseInfo = Bll_House_EsfHouse::getHouseBaseInfo($propId, $cityId);
     if (empty($houseInfo)) {
         $this->error(self::PROP_NOT_EXIST_ERROR, self::PROP_NOT_EXIST_ERROR_MSG);
     }
     //判断房源是否属于当前经纪人
     $userId = $brokerBaseInfo->userId;
     $houseInfo = $houseInfo[0];
     if ($houseInfo->userId != $userId) {
         $this->error(self::PROP_OPREATE_ACCESS_INVALID_ERROR, self::PROP_OPREATE_ACCESS_INVALID_ERROR_MSG);
     }
     //判断房源是否违规
     if ($houseInfo->isVisible != 1) {
         $this->error(self::PROP_CHOICE_NOT_FIT_ISVISIBLE_ERROR, self::PROP_CHOICE_NOT_FIT_ISVISIBLE_ERROR_MSG);
     }
     //判断房源是否多图
     if ($houseInfo->isHighQulity == 0) {
         $this->error(self::PROP_CHOICE_NOT_FIT_ISHIGHQULITY_ERROR, self::PROP_CHOICE_NOT_FIT_ISHIGHQULITY_ERROR_MSG);
     }
     //判断房源是否新发15天
     if (date('Ymd', strtotime('-16 days')) > date('Ymd', $houseInfo->postDate)) {
         $this->error(self::PROP_CHOICE_NOT_FIT_POSTDATE_ERROR, self::PROP_CHOICE_NOT_FIT_POSTDATE_ERROR_MSG);
     }
     //获取房源价格段
     $housePrice = intval($houseInfo->proPrice * 10000);
     $priceIntervalInfo = Model_House_EsfPrice::get_price($cityId, $housePrice);
     if (empty($priceIntervalInfo)) {
         $this->error(self::PROP_PRICE_UNKNOW_ERROR, self::PROP_PRICE_UNKNOW_ERROR_MSG);
     }
     $priceId = $priceIntervalInfo['id'];
     //根据房源所在CommId和PriceId获取坑位信息
     $bucketInfo = Model_Choice_EsfBidBucket::get_bucket_info($houseInfo->commId, $priceId);
     if ($bucketInfo['usedNum'] < $bucketInfo['totalNum']) {
         $this->error(__LINE__, '推广位未满');
     }
     //套餐经纪人 还是ppc经纪人
     /*$IsComboBroker = Bll_Broker_HzBroker::isComboBroker($brokerId);
       if ($IsComboBroker) {
           //是否套餐推广
           $comboHouseRelation = Model_Combo_HouseRelation::getOnlineHousebyHouseId($brokerId, $propId, $cityId, Model_Combo_HouseRelation::SITE_TYPE_AJK);
           if(empty($comboHouseRelation)) {
               $this->error(self::PROP_NO_COMBO, self::PROP_NO_COMBO_MSG);
           }
       } else {
           //PPC经纪人 判定定价关系
           $fixPlanBll = new Bll_FixedSpread_PropFixedPlanRelation();
           $fixPlanRelationStatus = $fixPlanBll->getProSpreadRelationByProId($propId, $cityId);
           if ($fixPlanRelationStatus['Status'] != 1) {
               $this->error(self::PROP_CHOICE_NOT_FIT_FIXED_ERROR, self::PROP_CHOICE_NOT_FIT_FIXED_ERROR_MSG);
           }
       }*/
     /** 判断是否是精选开放城市 */
     if (!Bll_City::isChoiceIndependentCity($cityId, Const_Site::ANJUKE)) {
         //是否套餐推广
         $comboHouseRelation = Model_Combo_HouseRelation::getOnlineHousebyHouseId($brokerId, $propId, $cityId, Model_Combo_HouseRelation::SITE_TYPE_AJK);
         if (empty($comboHouseRelation)) {
             $this->error(self::PROP_NO_COMBO, self::PROP_NO_COMBO_MSG);
         }
     }
     $bucketId = $bucketInfo['id'];
     $subscriptionInfo = Model_Choice_Subscription::selectData(array(Model_Choice_Subscription::SITE => Model_Choice_Subscription::SITE_AJK, Model_Choice_Subscription::BROKER_ID => $brokerId, Model_Choice_Subscription::PROP_ID => $propId, Model_Choice_Subscription::BUCKET_ID => $bucketId), array(), 'find_only');
     if (empty($subscriptionInfo)) {
         $result = Model_Choice_Subscription::initData(Model_Choice_Subscription::SITE_AJK, $brokerId, $propId, $bucketId, Model_Choice_Subscription::SUBSCRIPTION_START);
     } else {
         if ($subscriptionInfo['status'] == Model_Choice_Subscription::SUBSCRIPTION_START) {
             $this->error(__LINE__, '推广位已订阅');
         } else {
             $subscriptionInfo['status'] = Model_Choice_Subscription::SUBSCRIPTION_START;
             $result = $subscriptionInfo->save();
         }
     }
     return $result;
 }
Ejemplo n.º 9
0
 public static function delete_combo_prop($params)
 {
     if (empty($params['pro_id'])) {
         return self::build_return(0, array("房源ID为空"));
     }
     $out_return[] = "队列(" . $params['id'] . ")开始处理";
     //broker prop relation update
     $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) {
         //房源在线,需要取消套餐推广
         //写入下线日志
         $data = self::build_prop_log($params, 21, "房源取消套餐推广", $params['broker_id']);
         Model_Log_HouseLogNew::create($data, date('Ymd'))->save();
         $all_return[] = "房源" . $params['pro_id'] . "取消套餐推广日志写入成功";
         //更新关系
         $brokerPropRelation->state = Model_Combo_HouseRelation::ENUM_HOUSE_DELETE;
         $brokerPropRelation->save();
     }
     //写房源删除日志
     $data = self::build_prop_log($params, 3, "房源删除", 0);
     if (Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
         $all_return[] = '写房源删除日志成功';
         return self::build_return(1, $all_return);
     } else {
         $all_return[] = '写房源删除日志失败';
         return self::build_return(0, $all_return);
     }
 }
Ejemplo n.º 10
0
 /**
  * 判断经纪人是否可以添加房源精选订阅
  *
  * 1. 是否已精选房源
  * 2. 是否已设提醒房源
  * 3. 是否具有精选资格房源:定价,多图,新发15天
  * 4. 是否推广位已满
  */
 protected function hasAddChoiceRemindPermission()
 {
     // 是否已精选
     $bllChoice = new Bll_Zufang_Choice();
     $planInfo = $bllChoice->get_plan_by_proid($this->propId);
     if (!empty($planInfo)) {
         $planId = $planInfo->plan_id;
         $basicPlanInfo = $bllChoice->get_plan($planId);
         if ($basicPlanInfo[0]->status == 1 || $basicPlanInfo[0]->status == 13) {
             return array('code' => '', 'msg' => '房源已精选');
         }
     }
     // 是否已订阅
     $subscription = Model_Choice_Subscription::data_access()->filter('site', Model_Choice_Subscription::SITE_RENT)->filter('propId', $this->propId)->filter('bucketId', $this->bucket['id'])->find_only();
     if ($subscription && $subscription['status'] == Model_Choice_Subscription::SUBSCRIPTION_START) {
         return array('code' => '', 'msg' => '推广位已订阅');
     }
     // 是否可精选
     // - 是否已定价/套餐
     // - 是否多图
     // - 是否新发15天
     //套餐经纪人 还是ppc经纪人
     /*$IsComboBroker = Bll_Broker_HzBroker::isComboBroker($this->brokerId);
       if ($IsComboBroker) {
           //是否套餐推广
           $comboHouseRelation = Model_Combo_HouseRelation::getOnlineHousebyHouseId($this->brokerId, $this->propId, $this->broker['cityId'], Model_Combo_HouseRelation::SITE_TYPE_HZ);
           if(empty($comboHouseRelation)) {
               return array(
                   'code' => '', // TODO
                   'msg' => '不满足精选推广添加:套餐推广',
               );
           }
       } else {
           //PPC经纪人 判定定价计划
           $fixPlan = $this->prop->getFixPlan();
           if(empty($fixPlan)) {
               return array(
                   'code' => '', // TODO
                   'msg' => '不满足精选推广添加:定价推广',
               );
           }
       }*/
     if (!Bll_City::isChoiceIndependentCity($this->broker['cityId'], Const_Site::ANJUKE)) {
         //是否套餐推广
         $comboHouseRelation = Model_Combo_HouseRelation::getOnlineHousebyHouseId($this->brokerId, $this->propId, $this->broker['cityId'], Model_Combo_HouseRelation::SITE_TYPE_HZ);
         if (empty($comboHouseRelation)) {
             return array('code' => '', 'msg' => '不满足精选推广添加:套餐推广');
         }
     }
     if (!($this->prop->isMultiImages() && $this->prop->getPublishedDays() <= 15)) {
         return array('code' => '', 'msg' => '不满足精选推广添加:多图,新发15天');
     }
     // 是否推广位已满
     if (!($this->bucket['usedNum'] >= $this->bucket['totalNum'])) {
         return array('code' => '', 'msg' => '推广位未满');
     }
     return true;
 }
Ejemplo n.º 11
0
 /**
  * 新增房源套餐推广关系
  *
  * @param int $brokerId
  * @param int $cityId
  * @param int $houseId
  * @param int $state
  * @param string $siteType
  * @return int
  */
 public static function insertHouseRelation($brokerId, $cityId, $houseId, $state, $siteType)
 {
     $relationId = Model_Combo_HouseRelation::insertHouseRelation($brokerId, $cityId, $houseId, $state, $siteType);
     return $relationId;
 }
Ejemplo n.º 12
0
 public static function prepareComboHouseList(&$out)
 {
     $comboHouseId = Model_Combo_HouseRelation::data_access('jp')->filter('brokerId', $out['ajkBrokerId'])->filter_by_op('state', '>=', 101)->filter_by_op('state', '<=', 199)->get_all();
     $comboHouses = $comboHouseIds = array();
     //房源今日点击 房源累计点击 页面加载ajax获取 todo
     if ($comboHouseId) {
         foreach ($comboHouseId as $houseId) {
             $houseInfo = $out['houses'][$houseId['houseId']];
             if (empty($houseInfo['base'])) {
                 continue;
             }
             $comboHouses[$houseId['houseId']] = $houseInfo;
             $comboHouseIds[$houseId['houseId']] = $houseId['houseId'];
         }
     }
     $out['comboHouseList'] = $comboHouses;
     $out['comboHouseIds'] = $comboHouseIds;
 }
Ejemplo n.º 13
0
 /**
  * 房源手动取消套餐推广
  */
 public function do_cancelHouseCombo()
 {
     $tempHouseIds = explode(',', $this->params['houseIds']);
     $houseIds = array();
     foreach ($tempHouseIds as $k => $houseId) {
         $house = Bll_House_JpHouseInfo::getHouseInfoById($houseId);
         if ($house['base']['memberId'] != $this->jpBrokerId) {
             continue;
         }
         $houseComboInfo = Model_Combo_HouseRelation::data_access('jp')->filter('houseId', $house['base']->id)->find_only();
         if ($houseComboInfo->state != Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE) {
             continue;
         }
         $houseIds[] = $houseId;
     }
     if (empty($houseIds)) {
         $this->outPut(0, '房源信息有误,请重新选择房源');
     }
     if (Bll_Combo_HouseRelation::houseStopComboSpread($this->brokerId, $this->cityId, $tempHouseIds, Bll_Combo_HouseRelation::SITE_TYPE_JP)) {
         $this->outPut(1, '房源停止推广成功');
         /*
         foreach($houseIds as $houseId) {
             $houseIdx = Model_House_JpHouseIdx::data_access()
                 ->filter('id', $houseId)
                 ->filter('isDelete', Model_House_JpHouseIdx::ENUM_IS_DELETE_NO)
                 ->find_only();
             //删除竞价 更新数据 通知solr后端JOB做
             if($houseIdx->bidSpreadId) {
                 $plan = Model_Plan_Jp::data_access()
                     ->filter('id', $houseIdx->bidSpreadId)
                     ->find_only();
                 if($plan) {
                     $houseIdx->bidSpreadId = 0;
                     $houseIdx->updateTime = date('Y-m-d H:i:s');
                     $houseIdx->save();
         
                     if($plan->status = Model_Plan_Jp::ENUM_STATUS_ONLINE) {
                         //发送结算
                         $params = array();
                         $params['spread_id'] = $plan->id;
                         $params['log_status'] = 7;
                         Bll_Plan_Bid_JpSettlement::getInstance()->settlement($params,'bid');
                     }
         
                     $plan->status = Model_Plan_Jp::ENUM_STATUS_OVER;
                     $plan->isDelete = 1;
                     $plan->updateTime = date('Y-m-d H:i:s');
                     $plan->save();
         
                     //记录房源操作
                     $intTitle = Const_CrmHouseLog::V_OPERATION_TITLE_OUT_SHELVES;
                     $intComment = Const_CrmHouseLog::V_OPERATION_COMMENT_HOUSE_SPREAD_OFFLINE;
                     Bll_Log_JpHouse::getInstance()->logHouseOperation($houseIdx->id,$houseIdx->memberId,$intTitle,$intComment);
                     //TO 初始化房源统计日志
                     Bll_House_JpBwAnalysis::getInstance()->openSaveBluewhaleHouse($houseIdx->id,date('Y-m-d'),$houseIdx->bidSpreadId,$plan->type);
                 }
             }
         }
         */
     } else {
         $this->outPut(0, '房源停止推广失败');
     }
 }
Ejemplo n.º 14
0
 /**
  * 502 经纪人套餐生效
  *
  * @param $queueInfo
  * @return array
  */
 public static function comboEffect($queueInfo)
 {
     $dealRemark = array();
     $currentCombo = Bll_Combo_Broker_BrokerComboInfo::getBrokerCurrentCombo($queueInfo['broker_id'], Bll_Combo_Broker_BrokerComboInfo::SITE_TYPE_AJK);
     $onlineHouseRelationList = Bll_Combo_HouseRelation::getOnlineHouseList($queueInfo['broker_id'], $queueInfo['city_id'], Bll_Combo_HouseRelation::SITE_TYPE_AJK);
     /** 当前没有生效的套餐,下掉所有的房子 */
     if (empty($currentCombo)) {
         $dealRemark[] = sprintf('%d 经纪人当前[%s]没有生效的租售套餐', $queueInfo['id'], date('Y-m-d H:i:s'));
         $data = static::buildHouseLog($queueInfo, 21, '经纪人套餐生效,未获取到套餐信息房源下架', 0);
         if (!empty($onlineHouseRelationList)) {
             foreach ($onlineHouseRelationList as $onlineHouseRelation) {
                 $data['houseId'] = $onlineHouseRelation['houseId'];
                 if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
                     $dealRemark[] = sprintf('%d 套餐生效,未获取到套餐信息,下掉房源(%d) 失败', $queueInfo['id'], $onlineHouseRelation['houseId']);
                     continue;
                 }
                 $dealRemark[] = sprintf('%d 套餐生效,未获取到套餐信息,下掉房源(%d) 成功', $queueInfo['id'], $onlineHouseRelation['houseId']);
             }
         }
         return static::buildReturn(self::PROCESS_STATUS_SUCCESS, $dealRemark);
     }
     /** 添加打通的套餐的逻辑 */
     if (Bll_Combo_Broker_BrokerComboInfo::isOpenUp($currentCombo)) {
         $dealRemark[] = '当前套餐为打通套餐';
         $comboSpreadHouseCount = $currentCombo['salePropNum'] + $currentCombo['rentPropNum'];
         $hzHouseOnlineRelationList = Bll_Combo_HouseRelation::getOnlineHouseList($queueInfo['broker_id'], $queueInfo['city_id'], Bll_Combo_HouseRelation::SITE_TYPE_HZ);
         $spreadHouseCount = count($hzHouseOnlineRelationList) + count($onlineHouseRelationList);
         if ($spreadHouseCount >= $comboSpreadHouseCount) {
             $dealRemark[] = sprintf('%d 经纪人当前[%s]套餐,可推广房源数小于当前在线房源数,不处理。', $queueInfo['id'], date('Y-m-d H:i:s'));
             return static::buildReturn(self::PROCESS_STATUS_SUCCESS, $dealRemark);
         }
         /** 上架房源 */
         $needSpreadHouseCount = $comboSpreadHouseCount - $spreadHouseCount;
         $hzExpiredHouseRelationList = Bll_Combo_HouseRelation::getHouseRelations($queueInfo['broker_id'], Bll_Combo_HouseRelation::SITE_TYPE_HZ, Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE);
         $ajkExpiredHouseRelationList = Bll_Combo_HouseRelation::getHouseRelations($queueInfo['broker_id'], Bll_Combo_HouseRelation::SITE_TYPE_AJK, Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE);
         $rangedHouseRelation = Bll_Combo_Updown_AjkDealJob::calculateRangeByCreated($ajkExpiredHouseRelationList, $hzExpiredHouseRelationList);
         /** 过滤无效房源 */
         $validateHouseRelation = array();
         foreach ($rangedHouseRelation as $houseRelation) {
             $houseId = $houseRelation['houseId'];
             if ($houseRelation['siteType'] == Bll_Combo_HouseRelation::SITE_TYPE_HZ) {
                 $houseInfo = Model_House_HzPropSearch::get_prop_by_prop_id($queueInfo['city_id'], $houseId);
                 if (empty($houseInfo)) {
                     $dealRemark[] = sprintf('好租房源[%d]不存在', $houseId);
                     continue;
                 }
                 if (in_array($houseInfo['status'], array(Const_HzStatus::VERIFY, Const_HzStatus::REMOVE, Const_HzStatus::EXPIRED))) {
                     $dealRemark[] = sprintf('好租房源[%d]不是有效的房源', $houseId);
                     continue;
                 }
                 $validateHouseRelation[] = $houseRelation;
                 continue;
             }
             $houseInfo = Bll_House_EsfHouse::getHouseBaseInfoEx($houseId, $queueInfo['city_id']);
             if (empty($houseInfo)) {
                 $dealRemark[] = sprintf('二手房房源[%d]不是有效的房源', $houseId);
                 continue;
             }
             if ($houseInfo['isVisible'] == 0 && $houseInfo['expireWorker'] != 'propertyReport') {
                 $dealRemark[] = sprintf('二手房房源(%d)违规,不做处理', $houseId);
                 continue;
             }
             $validateHouseRelation[] = $houseRelation;
         }
         $houseUpRelationList = array_slice($validateHouseRelation, 0, $needSpreadHouseCount);
         $data = static::buildHouseLog($queueInfo, 20, '经纪人套餐生效,房源上架', 0);
         foreach ($houseUpRelationList as $onlineHouseRelation) {
             $site = $onlineHouseRelation['siteType'] == Bll_Combo_HouseRelation::SITE_TYPE_AJK ? '二手房' : '好租';
             if (1 == Model_Combo_HouseRelation::updateHouseComboSpreadStateEx($queueInfo['broker_id'], $queueInfo['city_id'], $onlineHouseRelation['houseId'], Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE, $onlineHouseRelation['siteType'])) {
                 $dealRemark[] = sprintf('上架' . $site . '房源[%d]成功', $onlineHouseRelation['houseId']);
             } else {
                 $dealRemark[] = sprintf('上架' . $site . '房源[%d]失败', $onlineHouseRelation['houseId']);
             }
             $data['houseId'] = $onlineHouseRelation['houseId'];
             $data['siteType'] = $onlineHouseRelation['siteType'] == Bll_Combo_HouseRelation::SITE_TYPE_AJK ? 1 : 2;
             if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
                 $dealRemark[] = sprintf('%d 套餐生效,上架' . $site . '房源(%d) 失败', $queueInfo['id'], $onlineHouseRelation['houseId']);
                 continue;
             }
             $dealRemark[] = sprintf('%d 套餐生效,上架' . $site . '房源(%d) 成功', $queueInfo['id'], $onlineHouseRelation['houseId']);
         }
         $dealRemark[] = sprintf('%d [%s] 经纪人套餐生效,上架%d套房源。', $queueInfo['id'], date('Y-m-d H:i:s'), $spreadHouseCount);
         return static::buildReturn(self::PROCESS_STATUS_SUCCESS, $dealRemark);
     }
     /**
      * 下掉超出限制的房源
      */
     if (count($onlineHouseRelationList) >= $currentCombo['salePropNum']) {
         $data = static::buildHouseLog($queueInfo, 21, '经纪人套餐生效,下掉多余房子', 0);
         $offLineHouseList = array_slice($onlineHouseRelationList, $currentCombo['salePropNum']);
         if (empty($offLineHouseList)) {
             return static::buildReturn(self::PROCESS_STATUS_SUCCESS, sprintf('%d [%s] 经纪人在线房源数已经达到套餐限制[%d]。', $queueInfo['id'], date('Y-m-d H:i:s'), $currentCombo['salePropNum']));
         }
         foreach ($offLineHouseList as $offLineHouse) {
             $data['houseId'] = $offLineHouse['houseId'];
             if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
                 $dealRemark[] = sprintf('%d 套餐生效,未获取到套餐信息,下掉房源(%d) 失败', $queueInfo['id'], $offLineHouse['houseId']);
                 continue;
             }
             $dealRemark[] = sprintf('%d 套餐生效,未获取到套餐信息,下掉房源(%d) 成功', $queueInfo['id'], $offLineHouse['houseId']);
         }
         return static::buildReturn(self::PROCESS_STATUS_SUCCESS, $dealRemark);
     }
     $expiredHouseRelationList = Bll_Combo_HouseRelation::getHouseRelations($queueInfo['broker_id'], Bll_Combo_HouseRelation::SITE_TYPE_AJK, Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE);
     if (empty($expiredHouseRelationList)) {
         return static::buildReturn(self::PROCESS_STATUS_SUCCESS, sprintf('%d [%s] 没有获取到经纪人因套餐到期而下架的房源。', $queueInfo['id'], date('Y-m-d H:i:s')));
     }
     $expiredHouseRelationIds = array();
     foreach ($expiredHouseRelationList as $expiredHouseRelation) {
         $expiredHouseRelationIds[] = $expiredHouseRelation['houseId'];
     }
     $houseInfoList = Bll_House_EsfHouse::getHouseInfoByHouseIdEx($queueInfo['broker_id'], $expiredHouseRelationIds, $queueInfo['city_id'], array('proId', 'expireWorker', 'isVisible'));
     if (empty($houseInfoList)) {
         return static::buildReturn(self::PROCESS_STATUS_SUCCESS, sprintf('%d [%s] 没有获取到房源(%s)信息。', $queueInfo['id'], date('Y-m-d H:i:s'), implode(',', $expiredHouseRelationIds)));
     }
     /** 过滤掉违规房源 */
     $validateHouseIds = array();
     foreach ($houseInfoList as $houseInfo) {
         if ($houseInfo['isVisible'] == 0 && $houseInfo['expireWorker'] != 'propertyReport') {
             $dealRemark[] = sprintf('房源(%d)违规,不做处理', $houseInfo['proId']);
             continue;
         }
         $validateHouseIds[] = $houseInfo['proId'];
     }
     /** 按照房源ID 排序 */
     sort($validateHouseIds, SORT_NUMERIC);
     if (count($validateHouseIds) > $currentCombo['salePropNum']) {
         $onlineHouseIds = array_slice($validateHouseIds, count($validateHouseIds) - $currentCombo['salePropNum']);
     } else {
         $onlineHouseIds = $validateHouseIds;
     }
     $data = static::buildHouseLog($queueInfo, 20, '经纪人套餐生效,房源上架', 0);
     foreach ($onlineHouseIds as $onlineHouseId) {
         $data['houseId'] = $onlineHouseId;
         if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
             $dealRemark[] = sprintf('%d 套餐生效,上架房源(%d) 失败', $queueInfo['id'], $onlineHouseId);
             continue;
         }
         $dealRemark[] = sprintf('%d 套餐生效,上架房源(%d) 成功', $queueInfo['id'], $onlineHouseId);
     }
     $spreadHouseCount = Model_Combo_HouseRelation::updateHouseComboSpreadStateEx($queueInfo['broker_id'], $queueInfo['city_id'], $onlineHouseIds, Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE, Bll_Combo_HouseRelation::SITE_TYPE_AJK);
     $dealRemark[] = sprintf('%d [%s] 经纪人套餐生效,上架%d套房源[%s]。', $queueInfo['id'], date('Y-m-d H:i:s'), $spreadHouseCount, implode(',', $onlineHouseIds));
     return static::buildReturn(self::PROCESS_STATUS_SUCCESS, $dealRemark);
 }
Ejemplo n.º 15
0
 /**
  * 505 套餐转入
  *  1. 获取经纪人当前的套餐信息
  *  2. 如果经纪人没有套餐
  *      1. 下掉经纪人所有的的套餐房源&竞价计划
  *  3. 判断经纪人当前在线的房源数和经纪人当前生效的套餐能够推广的房源数
  *      1. 如果当前推广的房源数 大于 套餐可以推广的房源数,把多余的房子下掉(按关系表的更新时间,优先下线更新时间早的)
  *      2. 如果当前推广的房源数 小于 套餐可以推广的房源数,把套餐到期的房子下掉(按关系表的更新时间,优先上线更新时间晚的)
  *
  * @param $queueInfo
  */
 public static function comboImport($params)
 {
     //除日志内容外,基本复制 self::comboExpire
     $allReturn = array("队列(" . $params['id'] . ")开始处理");
     //获取经纪人当前在用的套餐
     $brokerCombo = Bll_Combo_Broker_BrokerComboInfo::getBrokerCurrentCombo($params['broker_id'], Bll_Combo_Broker_BrokerComboInfo::SITE_TYPE_JP);
     //经纪人当前在线房源,按照update_time asc排序
     $brokerOnlineProps = Model_Combo_HouseRelation::data_access('jp')->filter('brokerId', $params['broker_id'])->filter_by_op('state', '>=', 101)->filter_by_op('state', '<=', 199)->sort('updateTime', 'asc')->find_all();
     $allReturn[] = "经纪人当前套餐ID:" . $brokerCombo['comboId'] . ",可推广jp房源数:" . $brokerCombo['jpPropNum'] . ",经纪人在线房源数:" . count($brokerOnlineProps);
     if (!empty($brokerCombo)) {
         //套餐转入,不用下房源,只需要上线房源即可,获取经纪人需要自动上架的房源,state=到期 按照update_time desc 排序
         $brokerAutoProp = Model_Combo_HouseRelation::data_access('jp')->filter('brokerId', $params['broker_id'])->filter('state', Model_Combo_HouseRelation::ENUM_COMBO_EXPIRE)->sort('updateTime')->find_all();
         if (!empty($brokerAutoProp)) {
             foreach ($brokerAutoProp as $key => $prop) {
                 if ($key < $brokerCombo['jpPropNum'] - count($brokerOnlineProps)) {
                     //房源信息验证
                     $check = self::propCheck($prop->houseId, $prop->brokerId);
                     if (!$check['flg']) {
                         $allReturn[] = "房源" . $prop->houseId . "无法上线," . $check['data'];
                         continue;
                     }
                     //房源上线 更新数据 关系表状态 state=上线
                     $prop->state = Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE;
                     $prop->save();
                     //写入上线日志
                     $params['pro_id'] = $prop->houseId;
                     $data = Bll_JpPropBll::build_prop_log($params, 20, "房源开始套餐推广", $params['broker_id']);
                     Model_Log_HouseLogNew::create($data, date('Ymd'))->save();
                     $allReturn[] = "套餐转入,房源" . $params['pro_id'] . "开始套餐推广日志写入成功";
                 }
             }
         }
     } else {
         $allReturn[] = "套餐转入,当前没有查询到套餐,不处理";
     }
     return Bll_JpPropBll::build_return(1, $allReturn);
 }