Пример #1
0
 public function handle_request_internal()
 {
     //判断房源是否定价 拿propid去static_price_relation 查PlanId 再去static_price_plan表中查定价信息
     $propId = $this->_params['propId'];
     $cityId = $this->_params['cityId'];
     //好丑陋。。。。。。好无奈。。。。。。
     //委托房源自动转发停用,为了app能够展示报错信息。。。
     if (empty($propId)) {
         $this->_params['apiDebug'] = 1;
         return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => '0000', 'message' => '委托房源自动转发功能已停用;若要发布请手动发布');
     }
     $relation = Model_Plan_AjkFixRelation::getRelationByProId($propId, $cityId);
     $result['status'] = 'ok';
     $data['totalClicks'] = $data['todayClicks'] = $data['clickPrice'] = 0;
     $data['planId'] = '';
     if (!empty($relation)) {
         if ($relation['status'] == Model_Plan_AjkFixRelation::STATUS_NORMAL) {
             $data['status'] = 1;
             //房源在定价推广中
         } else {
             $data['status'] = 0;
             //未推广
         }
         $plan = Model_Plan_EsfFixedPlan::getValidStaticPricePlanById($relation['planId']);
         $data['planId'] = $plan[0]['id'];
         if (!empty($plan)) {
             //房源在定价推广中
             //房源点击量
             $proClickDao = new DAO_My_Ppc_PlanOpe();
             $proClickInfo = $proClickDao->getProClick($propId, strtotime("20120901"));
             if (!empty($proClickInfo)) {
                 if (isset($proClickInfo[$propId])) {
                     $data['totalClicks'] = $proClickInfo[$propId];
                 }
                 $data['todayClicks'] = $proClickInfo['todayClicks'];
             }
         }
     } else {
         $data['status'] = 0;
         //未推广
     }
     //获取点击单价
     $houseInfo = Bll_House_EsfHouse::getHouseBaseInfo($propId, $cityId);
     if (!empty($houseInfo)) {
         $proPriceInt = $houseInfo[0]['proPriceInt'];
         $priceArr = DAO_My_Ppc_UtilTool::getPriceInterval($cityId, $proPriceInt - 0.01);
         if (!empty($priceArr)) {
             $data['clickPrice'] = round($priceArr['price'], 2);
         }
     }
     $data['clickPriceUnit'] = '元';
     $result['data'] = $data;
     return $result;
 }
Пример #2
0
 /**
  * 删除房源
  *
  * @param $brokerId
  * @param $cityId
  * @param $houseIds
  * @return bool
  */
 public static function deleteHouse($brokerId, $cityId, $houseIds)
 {
     $houseIds = is_array($houseIds) ? $houseIds : explode(',', $houseIds);
     if (Bll_Ppc_ServiceAPI::deleteHouse($brokerId, $houseIds)) {
         /**
          * 查询计划房源信息
          * 20140416 曹阳 房源删除时,确认房源是否在计划中。
          * 防止房源已经从计划中移除,导致房源再次被处理,产生推广动作。
          */
         foreach ($houseIds as $houseId) {
             $relation = Model_Plan_AjkFixRelation::getRelationByProId($houseId, $cityId);
             if ($relation === false || $relation->status != 1) {
                 continue;
             }
             Model_Plan_AjkFixRelation::updateRelationById($relation->id, $cityId, 5);
         }
         return true;
     }
     return false;
 }
Пример #3
0
 /**
  * 删除计划下房源
  * @param $planId
  * @param $proId
  */
 public static function delPlanPro($planId, $proId, $cityId)
 {
     if (!$planId || !$proId || !$cityId) {
         return '未知的计划房源';
     }
     // 查询计划房源信息
     if (!($staticRelation = Model_Plan_AjkFixRelation::getRelationByProId($proId, $cityId))) {
         return '未知的计划房源';
     }
     //判断计划下房源归属
     if ($staticRelation->planId != $planId) {
         return '非法操作';
     }
     // 更新计划明细
     if (!Model_Plan_AjkFixRelation::updateRelationById($staticRelation->id, $cityId, 2)) {
         return '更新关系失败';
     }
     //调用竞价停止的方法 处理队列的job会做掉
     /*$binPlanBll = new BLL_Plan_EsfBidPlan();
       if (!$binPlanBll->stopBidPlanByFix($proId, $staticRelation->brokerId) && $binPlanBll->errorMsg != '未结算的竞价计划信息不存在') {
           return '竞价停止失败';
       }*/
     // 通知定价队列
     if (!Bll_House_AjkHpProSpread::insertProSpreadChange($planId, $proId, $staticRelation->brokerId, $cityId, 4, "用户从计划中删除推广房源", self::getFrom())) {
         return '插入定价队列失败';
     }
     return true;
 }