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; } }
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' => '创建计划成功'); }