Exemple #1
0
 public static function getPropClicksByPropId($propId, $brokerId, $cityId)
 {
     if (!is_array($propId)) {
         $propId = array($propId);
     }
     $propSearchInfos = Model_House_HzPropSearch::getPropList($propId, $brokerId, $cityId);
     if (empty($propSearchInfos)) {
         return array();
     }
     $newPropIds = array();
     foreach ($propSearchInfos as $propSearchInfo) {
         $newPropIds[] = $propSearchInfo['proid'];
     }
     $propClicks = Model_Stats_PropClick::getPropBidClick($newPropIds, $brokerId, $cityId, date('Ymd'));
     if (empty($propClicks)) {
         return array();
     }
     $result = array();
     foreach ($propClicks as $propClick) {
         if (!isset($result[$propClick['prop_id']])) {
             $result[$propClick['prop_id']]['clickNum'] = $propClick['bid_cnum'];
         } else {
             $result[$propClick['prop_id']]['clickNum'] += $propClick['bid_cnum'];
         }
     }
     return $result;
 }
Exemple #2
0
 public function handle_request_internal()
 {
     $ajkBrokerId = $this->_params['brokerId'];
     //根据安居客经纪人ID获取好租经纪人ID
     $hzBrokerId = Bll_HzBroker::get_brokerid_by_ajk_brokerid($ajkBrokerId);
     //获取租房定价信息
     $fixPlansInfo = Bll_HzFixPlan::get_broker_fixplans($hzBrokerId);
     //获取竞价计划状态
     $fixPlanStatus = $fixPlansInfo[0]['status'] == 1 ? V1_Zufang_Fix_SummaryController::RETURN_CODE_NUM_1 : V1_Zufang_Fix_SummaryController::RETURN_CODE_NUM_0;
     //获取计划ID
     $fixPlanId = $fixPlansInfo[0]['id'];
     $cityId = $fixPlansInfo[0]['city_id'];
     //获取租房点击和花费信息
     $promotion = Dao_Broker_HzPlan::get_plan_fee($hzBrokerId, $fixPlanId, date('Ymd'), 1);
     // 获取租房今日点击
     $fixPropIds = Model_Plan_HzPlanning::getFixPropIdsByPlanId($fixPlanId);
     $clicks = Model_Stats_PropClick::getPropBidClick($fixPropIds, $hzBrokerId, $cityId);
     $fixClickSums = Model_Stats_PropClick::calculateClickSumsGroupByPropId($clicks, 'fix');
     $todayClicks = 0;
     foreach ($fixClickSums as $clickSum) {
         $todayClicks += $clickSum;
     }
     //租房某计划的房源总量
     $totalProps = Model_Plan_HzPlanning::getFixPlanPropNum($fixPlanId);
     //查询经纪人新封顶模式信息
     //todo 等多档封顶合并了方法迁移到多档封顶
     $ppcLimitInfo = $this->getPpcBrokerLimitInfo($ajkBrokerId, V1_Zufang_Fix_SummaryController::PPC_BROKER_LIMIT_HZ_SITE);
     if (!$ppcLimitInfo) {
         return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => Const_APIStatus::E_SYS_ERR, 'message' => '封顶数据未能取到!');
     }
     $todayConsume = $promotion[$fixPlanId]['total_cost'] ? $promotion[$fixPlanId]['total_cost'] : 0;
     return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('planId' => $fixPlanId, 'todayClicks' => $todayClicks, 'todayConsume' => Util_Formatter::formatTodayConsume($todayConsume), 'todayConsumeUnit' => '元', 'totalProps' => $totalProps, 'planStatus' => $fixPlanStatus, 'budget' => $ppcLimitInfo['amountLimit'] / 100, 'budgetUnit' => '元'));
 }
Exemple #3
0
 public function getClickSumsByDate($type = null, $date = null)
 {
     if (!$date) {
         $date = date('Ymd');
     }
     $clicks = Model_Stats_PropClick::getPropBidClick($this->propId, $this->getContentBasic('userid'), $this->getContentBasic('cityid'), $date);
     return $this->calculateClickSums($clicks, $type);
 }
Exemple #4
0
 /**
  * 获取竞价多个房子当日总点击(多个)
  * @param $propIds
  * @param $cityId
  * @param $brokerId
  * @return array
  */
 public static function getPropsBidClick($propIds, $cityId, $brokerId)
 {
     if (!is_array($propIds)) {
         $propIds = explode(',', $propIds);
     }
     $propsClickInfo = Model_Stats_PropClick::getPropBidClick($propIds, $brokerId, $cityId);
     $result = array();
     // 初始化
     foreach ($propIds as $propId) {
         $result[$propId] = 0;
     }
     if (empty($propsClickInfo)) {
         return $result;
     }
     foreach ($propsClickInfo as $propClick) {
         $result[$propClick['prop_id']] += $propClick['bid_cnum'];
     }
     return $result;
 }