public function handle_request_internal()
 {
     $brokerId = $this->_params['brokerId'];
     //经纪人信息
     $brokerInfo = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId);
     if (!$brokerInfo) {
         throw new Exception_BrokerNotFoundException('经纪人不存在', Const_APIStatus::E_BROKER_NOT_EXISTS);
     }
     $cityId = $brokerInfo->cityId;
     if (empty($cityId)) {
         return Util_MobileAPI::error(Const_APIStatus::E_PARAM_CITYID_MISS);
     }
     //获取城市可选择的套餐列表
     $comboListInfo = Bll_Combo_Broker_BrokerComboInfo::getComboList($cityId);
     if (empty($comboListInfo)) {
         return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('comboList' => array()));
     }
     $comboList = array();
     foreach ($comboListInfo as $combo) {
         $tmpStr = '';
         if ($combo['salePropNum']) {
             $tmpStr = $tmpStr ? $tmpStr . ',出售房源' . $combo['salePropNum'] . '套' : '出售房源' . $combo['salePropNum'] . '套';
         }
         if ($combo['rentPropNum']) {
             $tmpStr = $tmpStr ? $tmpStr . ',租房' . $combo['rentPropNum'] . '套' : '租房' . $combo['rentPropNum'] . '套';
         }
         if ($combo['jpPropNum']) {
             $tmpStr = $tmpStr ? $tmpStr . ',商业地产房源' . $combo['jpPropNum'] . '套' : '商业地产房源' . $combo['jpPropNum'] . '套';
         }
         $combo['description'] = '可推广' . $tmpStr;
         foreach ($combo['types'] as $key => $type) {
             $type['price'] = $type['price'] / 100.0;
             $type['priceUnit'] = '元';
             $type['originPrice'] = $type['originPrice'] / 100.0;
             $type['originPriceUnit'] = '元';
             $combo['types'][$key] = $type;
         }
         unset($combo['comboId']);
         $comboList[] = $combo;
     }
     return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('comboList' => $comboList));
 }
Example #2
0
 public function handle_request_internal()
 {
     if (!$this->isBrokerLogin()) {
         $this->redirect_to_login();
     }
     /**
      * @var $request AJKRequest
      */
     $request = APF::get_instance()->get_request();
     $cityId = $request->getBrokerCityId();
     $brokerId = $request->getBrokerId();
     $userId = $request->getUserId();
     $brokerInfo = self::$BrokerInfo['BaseInfo'];
     //非套餐经纪人不能进入该页面,跳转到首页
     if ($brokerInfo['PAYTYPE'] != 9999) {
         $this->redirect('/user/broker/brokerhome');
     }
     $companyId = intval($brokerInfo['COMPANYID']);
     if ($companyId > 0) {
         /** 通过配置文件配置那些城市的非独立经纪人不可以购买月套餐 */
         $canNotBuyMonthlyComboCitySet = APF::get_instance()->get_config('can_not_buy_monthly_combo_city_set');
         if (is_array($canNotBuyMonthlyComboCitySet) && in_array($cityId, $canNotBuyMonthlyComboCitySet)) {
             $companyId = 0;
         }
     }
     //获取城市可选择的套餐列表
     if ($companyId > 0) {
         $comboList = Bll_Combo_Broker_BrokerComboInfo::getCompanyComboList($cityId, $companyId);
     } else {
         $comboList = Bll_Combo_Broker_BrokerComboInfo::getComboList($cityId);
     }
     //获取经纪人当前套餐
     $brokerCombos = Bll_Combo_Broker_BrokerComboInfo::getBrokerComboList($brokerId);
     //查询账户余额
     $balance = Bll_Service_Payment::balance(Bll_Service_Payment::SITE_ANJUKE, array('userId' => $userId));
     $UserAccountAll = $balance['data']['balance'] / 100.0;
     //账户余额
     $UserAccountPerson = $balance['data']['personBalance'] / 100.0;
     //账户余额(个人)
     $UserAccountCompany = $balance['data']['companyBalance'] / 100.0;
     //账户余额(公司)
     /**
      * 获取经纪人信息身份认证状态(购买套餐时需要身份认证通过)
      * CheckState - 经纪人身份认证状态
      * OperateState - 经纪人审核过程中走到哪一步标记
      *
      * 备注:本处会出bug。(后台显示身份认证通过、不能购买套餐)
      * 经纪人后台判断身份认证状态只使用CheckState=1
      * 套餐购买的api里面判断CheckState=1 && OperateState=4
      * api组的志山同志拍脑袋,使用双验证。
      * caoyang 20140825
      */
     //$brokerInfo['CheckState'] = ($brokerInfo['CHECKSTATE'] == 1 && $brokerInfo['OPERATESTATE'] == 4) ? 1 : 0;
     $brokerInfo['CheckState'] = $brokerInfo['CHECKSTATE'];
     $this->setAttribute('comboList', $comboList);
     $this->setAttribute('brokerCombos', $brokerCombos);
     $this->setAttribute('UserAccountAll', number_format($UserAccountAll, 2, ".", ""));
     $this->setAttribute('UserAccountPerson', number_format($UserAccountPerson, 2, ".", ""));
     $this->setAttribute('UserAccountCompany', number_format($UserAccountCompany, 2, ".", ""));
     $this->setAttribute('brokerInfo', $brokerInfo);
     return 'Combo_Buy_Select';
 }