Example #1
0
 /**
  * 组装竞价列表
  * @param $out
  * @return array
  */
 private static function prepareBidList(&$out)
 {
     $bidList = array();
     $out['bidProIds'] = array();
     // 获取计划
     $validBidPlans = Model_Plan_HzPlanBasic::getValidBidPlans($out['hzBrokerId']);
     if (empty($validBidPlans)) {
         return array();
     }
     $planIds = array();
     foreach ($validBidPlans as $plan) {
         $planIds[] = $plan['id'];
     }
     // 获取关系
     $bidPlannings = Model_Plan_HzPlanning::getPlanningByPlanIds($planIds);
     if (empty($bidPlannings)) {
         return array();
     }
     // 组装
     foreach ($validBidPlans as $plan) {
         $planId = $plan['id'];
         // 拼接关系
         foreach ($bidPlannings as $bidPlanning) {
             $proId = $bidPlanning['proid'];
             if ($planId != $bidPlanning['plan_id']) {
                 continue;
             }
             $bidList[$planId] = $plan;
             $bidList[$planId]['planning'] = $bidPlanning;
             // 拼接房子
             $prop = isset($out['props'][$proId]) ? $out['props'][$proId] : array();
             if (empty($prop)) {
                 unset($bidList[$planId]);
                 continue;
             }
             $bidList[$planId]['prop'] = $prop;
             // 算竞价排名
             if ($plan['status'] == Const_HzPlan::SPREAD) {
                 $rank = Bll_Plan_Bid_HzBid::getBidRank($prop['proId'], $prop['commId'], $prop['priceNum'], $bidPlanning['unit_price'], $out['cityId']);
             } else {
                 $rank = '已暂停';
             }
             $bidList[$planId]['rank'] = $rank;
             $out['bidProIds'][] = $proId;
         }
     }
     // 获取房源竞价点击
     if (count($out['bidProIds']) > 0) {
         $out['bidClicks'] = Bll_Plan_Bid_HzBid::getPropsBidClick($out['bidProIds'], $out['cityId'], $out['hzBrokerId']);
     }
     return $bidList;
 }