public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $hzBrokerId = Model_Broker_MainBusiness::getHzBrokerIdByAjkBrokerId($brokerId); $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (!$brokerInfo) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } $cityId = $brokerInfo->cityId; if (!Bll_City::isChoiceCity($cityId, Const_Site::HAOZU)) { return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => Const_APIStatus::E_NOT_CHOICE_CITY, 'message' => '非精选城市'); } $bllChoice = new Bll_Zufang_Choice(); $today = date('Ymd'); $choiceInfo = $bllChoice->get_choice_info($hzBrokerId, $today, $cityId); $todayClicks = intval($choiceInfo[0]['bidClicks']); $todayConsume = intval($choiceInfo[0]['bidConsume']) / 100; // 获取精选推广房源数(精选计划和房源一一对应) $plansIds = array(); $plans = $bllChoice->get_active_choice_plans($hzBrokerId, array(1, 13, 2, 3, 7, 8)); foreach ($plans as $plan) { $plansIds[] = $plan->id; } $props = array(); if ($plansIds) { $props = $bllChoice->get_prop($plansIds); } $totalProps = count($props); //将精选状态变化数目归零 $keyData = array('brokerId' => $brokerId, 'bizType' => Model_Mobile_PropRedDot::TYPE_CHOICE_STATUS); $data = array('num' => 0); Bll_Mobile_PropRedDot::getInstance()->updateData($keyData, $data); return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('todayClicks' => $todayClicks, 'todayConsume' => Util_Formatter::formatTodayConsume($todayConsume), 'todayConsumeUnit' => '元', 'totalProps' => $totalProps)); }
public static function getInstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; }
public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId); if (empty($brokerInfo)) { throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS); } $data = Bll_Mobile_PropRedDot::getInstance()->getDataByBrokerIdAndType($brokerId, Model_Mobile_PropRedDot::TYPE_CHOICE_STATUS); return array('status' => 'ok', 'data' => array('num' => (int) $data[0]['num'])); }
/** * 处理数据,是更新还是插入 * @param $brokerIdNum */ public function dealData($brokerIdNum) { $brokerIds = array_keys($brokerIdNum); $propRedDotList = Bll_Mobile_PropRedDot::getInstance()->getDataByBrokerIdAndType($brokerIds, Model_Mobile_PropRedDot::TYPE_CHOICE_STATUS, true); $propRedIds = array(); foreach ($propRedDotList as $v) { $propRedIds[] = $v['brokerId']; } foreach ($brokerIds as $k => $v) { if (in_array($v, $propRedIds)) { $this->update($v, $brokerIdNum[$v]['num']); } else { $this->insert($v, $brokerIdNum[$v]['num']); } } }