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; }
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' => '元')); }
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); }
/** * 获取竞价多个房子当日总点击(多个) * @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; }