Exemplo n.º 1
0
 public static function JpHouseCombo($houseIds, $cityId, $ajkBrokerId)
 {
     if (empty($houseIds)) {
         Util_GlobalFunc::buildReturn(0, '请选择房源');
     }
     if (!is_array($houseIds)) {
         $houseIds = array($houseIds);
     }
     $myComboList = Model_Combo_HouseRelation::data_access('jp')->filter('brokerId', $ajkBrokerId)->filter_by_op('state', '>=', 101)->filter_by_op('state', '<=', 199)->find_all();
     $allCombos = Bll_Combo_Broker_BrokerComboInfo::getBrokerComboList($ajkBrokerId);
     $myCombos = array();
     $timeNow = date('Y-m-d H:i:s');
     if ($allCombos) {
         foreach ($allCombos as $combo) {
             if ($combo['jpPropNum'] > 0 && $combo['endTime'] >= $timeNow && $combo['startTime'] <= $timeNow) {
                 $myCombos = $combo;
             }
         }
     }
     if (empty($myCombos)) {
         return Util_GlobalFunc::buildReturn(0, '您当前没有可用套餐,请去购买');
     }
     if (intval($myCombos['jpPropNum']) - count($myComboList) < count($houseIds)) {
         return Util_GlobalFunc::buildReturn(0, '套餐推广失败,可推广数量不足');
     }
     foreach ($houseIds as $houseId) {
         $houseRelation = Model_Combo_HouseRelation::data_access('jp')->filter('houseId', $houseId)->filter('brokerId', $ajkBrokerId)->find_only();
         if (empty($houseRelation)) {
             $newHouseRelation = Model_Combo_HouseRelation::create(array('houseId' => $houseId, 'brokerId' => $ajkBrokerId, 'cityId' => $cityId, 'state' => Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE, 'created' => date('Y-m-d H:i:s')), 'jp')->save();
         } else {
             $houseRelation->state = Model_Combo_HouseRelation::ENUM_HOUSE_ONLINE;
             $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_START_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']));
         }
     }
 }