Example #1
0
 private static function preparePlanInfo(&$out)
 {
     $planInfo = array();
     $out['hasChoice'] = false;
     $out['hasBid'] = false;
     // 获取房源关系
     $planningsTemp = Model_Plan_HzPlanning::getPlanningLists(array(array('proid', '=', $out['proId']), array('is_valid', 'in', array(Const_HzPlan::SPREAD, Const_HzPlan::AUTOOVER, Const_HzPlan::MENUOVER, Const_HzPlan::UPPERLIMIT, Const_HzPlan::ENDTIME, Const_HzPlan::MANUALLY_PAUSE))));
     if (empty($planningsTemp)) {
         return array();
     }
     $out['hasBid'] = true;
     $planIds = array();
     foreach ($planningsTemp as $planning) {
         $planInfo[$planning['plan_type']]['planning'] = $planning;
         $planIds[] = $planning['plan_id'];
     }
     // 获取计划
     $plansTemp = Model_Plan_HzPlanBasic::getPlanLists(array(array('id', 'in', $planIds), array('flag', '=', 1)));
     if (empty($plansTemp)) {
         return array();
     }
     foreach ($plansTemp as $plan) {
         $planInfo[$plan['plan_type']]['plan'] = $plan;
         if ($plan['bid_version'] == Const_HzPlan::BID_VERSION_CHOICE) {
             $out['hasChoice'] = true;
         }
     }
     // 如有竞价
     if (($out['isBidCity'] || $out['isChoiceCity']) && isset($planInfo[2])) {
         // 算竞价排名
         if ($planInfo[2]['plan']['status'] == Const_HzPlan::SPREAD) {
             $rank = Bll_Plan_Bid_HzBid::getBidRank($out['proId'], $out['propInfo']['commid'], $out['propInfo']['pricenum'], $planInfo[2]['planning']['unit_price'], $out['cityId']);
         } else {
             $rank = '已暂停';
         }
         $planInfo[2]['plan']['rank'] = $rank;
     }
     // 是否展示定竞对比模块
     $out['isShowFixBidCompare'] = ($out['isBidCity'] || $out['isChoiceCity']) && count($planInfo) >= 2;
     // 是否展示竞价详细效果  逻辑判断60天内竞价过
     if ($out['isBidCity'] || $out['isChoiceCity']) {
         $out['isShowBidDetailEffect'] = Bll_Plan_Bid_HzBid::isIn60Bid($out['proId']);
     } else {
         $out['isShowBidDetailEffect'] = false;
     }
     return $planInfo;
 }
Example #2
0
 /**
  * 组装竞价列表
  * @param $out
  * @return array
  */
 private static function prepareBidList(&$out)
 {
     $out['bidList'] = array();
     $out['bidProIds'] = array();
     // 获取计划
     $validBidPlans = Model_Plan_HzPlanBasic::getBidPlansByBrokerId($out['hzBrokerId']);
     if (empty($validBidPlans)) {
         return array();
     }
     $planIds = array();
     $allPlanIds = array();
     foreach ($validBidPlans as $plan) {
         if ($plan['flag'] == 1 && $plan['status'] != Const_HzPlan::DELETE) {
             $planIds[] = $plan['id'];
         }
         $allPlanIds[] = $plan['id'];
     }
     // 获取关系
     $bidPlannings = Model_Plan_HzPlanning::getPlanningByPlanIds($planIds);
     // 获取竞价消费信息
     //$out['bidComsume'] = Bll_Plan_Bid_HzBid::getBidPlanConsumeAndClickInfos($allPlanIds, date('Ymd'));
     $out['bidComsume'] = Model_Stats_PropClick::getBillingInfo($out['hzBrokerId'], $out['cityId'], date('Ymd'));
     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;
             }
             $out['bidList'][$planId] = $plan;
             $out['bidList'][$planId]['planning'] = $bidPlanning;
             // 拼接房子
             $prop = isset($out['props'][$proId]) ? $out['props'][$proId] : array();
             if (empty($prop)) {
                 unset($out['bidList'][$planId]);
                 continue;
             }
             $out['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 = '已暂停';
             }
             $out['bidList'][$planId]['rank'] = $rank;
             $out['bidProIds'][] = $proId;
         }
     }
     // 排序 前5名 排队 停止
     usort($out['bidList'], function ($a, $b) {
         return is_numeric($a['rank']) && !is_numeric($b['rank']) ? -1 : 1;
     });
     usort($out['bidList'], function ($a, $b) {
         return $a['rank'] == '已暂停' && $b['rank'] != '已暂停' ? 1 : -1;
     });
     foreach ($out['bidList'] as $k => $v) {
         $out['bidList'][$v['id']] = $v;
         unset($out['bidList'][$k]);
     }
     // 获取房源竞价点击
     if (count($out['bidProIds']) > 0) {
         $out['bidClicks'] = Bll_Plan_Bid_HzBid::getPropsBidClick($out['bidProIds'], $out['cityId'], $out['hzBrokerId']);
     }
 }
Example #3
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;
 }