Example #1
0
 public static function getBrokerLimitForApi($intBrokerId)
 {
     $result = Bll_Service_Ppc::limit(array('brokerId' => $intBrokerId, 'bizType' => Bll_Service_Ppc_Limit::SITE_JINPU));
     if ($result['status'] == 'ok') {
         $res['api_status'] = 'ok';
         $res['tempId'] = $result['data']['tempId'];
         $res['tempName'] = $result['data']['tempName'];
         $res['amountLimit'] = $result['data']['amountLimit'];
         $res['publishLimit'] = $result['data']['publishLimit'];
         $res['promotionLimit'] = $result['data']['promotionLimit'];
         return $res;
     } else {
         $brokerInfo = Bll_BrokerBaseBll::get_instance()->get_broker_info($intBrokerId);
         $cityLimitObj = Model_City_JpLimit::data_access()->filter(Model_City_JpLimit::CITY_ID, $brokerInfo['BaseInfo']['CITYID'])->get_row();
         if (empty($cityLimitObj)) {
             $amountLimit = -1;
         } else {
             $amountLimit = $cityLimitObj['limit_price'];
         }
         $res['api_status'] = 'fail';
         $res['tempId'] = 0;
         $res['tempName'] = '无限额';
         $res['amountLimit'] = $amountLimit;
         $res['publishLimit'] = Model_House_JpHouseIdx::HOUSE_LIMIT;
         $res['promotionLimit'] = Model_Plan_Jp::SPREAD_ONLINE_NUM_MAX;
         return $res;
     }
 }
Example #2
0
 public function addFixPlan($params, $from = 'search')
 {
     //创建默认的定价计划
     // 根据memcache判断结果,如果大于1,则返回查询结果
     $objMemcache = APF_Cache_Factory::get_instance()->get_memcache();
     $memKey = __CLASS__ . '_' . __FUNCTION__ . '_' . $params['memberId'];
     $currentValue = $objMemcache->increment($memKey, 1);
     $isTop = Model_City_JpLimit::data_access()->filter('city_id', $params['cityId'])->get_row();
     $plans = Model_Plan_Jp::data_access()->force_master()->filter('memberId', $params['memberId'])->filter('cityId', $params['cityId'])->filter('type', 1)->filter('isDelete', 0)->get_all();
     //封顶城市 1个定价组
     if (!empty($plans) && $isTop) {
         return $from == 'search' ? $plans : array('status' => -1, 'info' => '封顶城市最多一个定价组');
     }
     if ($isTop && $isTop['status'] == 1 && $currentValue && $currentValue > 1) {
         //封顶城市
         $objMemcache->delete($memKey);
         return $from == 'search' ? $plans : array('status' => -1, 'info' => '封顶城市最多一个定价组');
     }
     //不封顶城市 最多5个定价组
     if (!empty($plans) && count($plans) >= 5) {
         return $from == 'search' ? $plans : array('status' => -2, 'info' => '最多5个定价组');
     }
     if ($params['budget'] > 1000 || $params['budget'] < 10) {
         return $from == 'search' ? $plans : array('status' => -3, 'info' => '定价推广组预算最多1000元,最少10元');
     }
     //创建计划流程开始
     $plan = array();
     $plan['memberId'] = $params['memberId'];
     $plan['budget'] = $params['budget'] * 100;
     $plan['name'] = $params['name'];
     $plan['cityId'] = $params['cityId'];
     $plan['serialNumber'] = 0;
     $plan['startTime'] = 0;
     $plan['endTime'] = 0;
     $plan['noBudgetDate'] = 0;
     $plan['createTime'] = date('Y-m-d H:i:s');
     $plan['updateTime'] = date('Y-m-d H:i:s');
     $plan['isDelete'] = 0;
     $plan['houseNum'] = 0;
     $plan['type'] = 1;
     //经纪人身份认证状态
     $memberCheckState = $this->getMemberCheckStatus($plan['memberId']);
     //判定账户余额
     $balance = $this->getMemberBalance($plan['memberId']);
     if (!$memberCheckState) {
         $status = 4;
         $stopReason = 3;
     } elseif ($balance <= 0) {
         $status = 4;
         $stopReason = 2;
     } else {
         $status = 2;
         $stopReason = 0;
     }
     $plan['status'] = $status;
     $plan['stopReason'] = $stopReason;
     $newPlanObj = Model_Plan_Jp::create($plan);
     $newPlanObj->save();
     $planId = $newPlanObj->id;
     $plan['id'] = $planId;
     return $from == 'search' ? array($plan) : array('status' => 1, 'info' => '创建计划成功');
 }