/**
  * 由于套餐变更 下掉多余房子
  * @param $brokerId
  * @param $shouldNum
  * @return array
  */
 public static function deleteExtraHouse($brokerId, $shouldNum)
 {
     $allReturn = array();
     // 转好租brokerid
     if (!($hzBrokerId = Model_Broker_HzMapping::get_hz_broker_id($brokerId))) {
         return Util_GlobalFunc::buildReturn(0, "租房-该经纪人:{$brokerId}获取不到租房经纪人id");
     }
     // 获取有效推广关系
     if (!($plannings = Model_Plan_HzPlanning::getPlanningLists(array('user_id' => $hzBrokerId, 'plan_type' => Const_HzPlan::SPREAD_TYPE, 'is_valid' => Const_HzPlan::SPREAD), 1000, array('proid', 'asc')))) {
         return Util_GlobalFunc::buildReturn(0, "租房-该经纪人:{$hzBrokerId}没有有效定价推广关系");
     }
     $num = count($plannings);
     //推广房源数
     echo '正在处理租房 hzBrokerId:' . $hzBrokerId . ',总推广房源数' . $num . ',api中允许推广数量' . $shouldNum . PHP_EOL;
     if ($num > $shouldNum) {
         // 应该下掉多余房子
         $offNum = $num - $shouldNum;
         foreach ($plannings as $key => $planning) {
             if ($offNum < $key + 1) {
                 break;
             }
             // 下房子动作
             $result = Bll_HzFixPlan::prop_out_fix($planning['user_id'], $planning['proid'], $planning['plan_id']);
             $allReturn[] = $result['msg'];
         }
     }
     return Util_GlobalFunc::buildReturn(1, $allReturn);
 }
Exemple #2
0
 /**
  * 房源60内是否竞价过
  * @param $proId
  * @return bool
  */
 public static function isIn60Bid($proId)
 {
     if (empty($proId)) {
         return false;
     }
     $result = Model_Plan_HzPlanning::getPlanningLists(array('proid' => $proId, 'plan_type' => Const_HzPlan::BID_TYPE, array('created', '>', strtotime('-60days'))));
     return empty($result) ? false : true;
 }
 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;
 }