/** * 组装竞价列表 * @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; }