Ejemplo n.º 1
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';
 }