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'])); } } }