Example #1
0
 public function handle_request_internal()
 {
     $mobile = $this->_params['mobile'];
     $password = $this->_params['password'];
     $checkPassword = $this->_params['checkPassword'];
     $truename = $this->_params['truename'];
     $cityId = $this->_params['cityId'];
     $mainBusiness = $this->_params['mainBusiness'];
     $companyId = $this->_params['companyId'];
     $storeId = $this->_params['storeId'];
     $blockId = $this->_params['blockId'];
     $ip = $this->_params['ip'];
     $is_rand_mobile = $this->_params['is_rand_mobile'];
     //验证数据
     $checkReturn = $this->checkData($password, $checkPassword, $cityId, $mainBusiness);
     if ($checkReturn !== true) {
         return $checkReturn;
     }
     //调试用的代码
     if ($is_rand_mobile == 1) {
         $mobile = substr(time(), 1, 7) . rand(1000, 9999);
     }
     #$areaInfo = Model_City_TypeCode::getAreaInfoByTypeId($blockId, $cityId);
     $areaInfo = Bll_Commtype_Api::getInfoByTypeIdAndCityId($blockId, $cityId);
     $post_data = array("j_password" => $password, "trueName" => $truename, "cityId" => $cityId, "areaCode" => $areaInfo['typeCode'], "companyId" => $companyId, "storeId" => $storeId, "userMobile" => $mobile, "channel" => 138, "regip" => $ip, "isPPC" => Bll_City::isFixCity($cityId) ? 'true' : 'false', "mainBussiness" => $mainBusiness);
     //打注册接口
     $res = $this->register($post_data);
     if ($res['status'] == 'ok') {
         //设置主营业务
         $mainBusinessId = $this->setMainBusiness($res['broker']['userId'], $res['broker']['brokerId'], $mainBusiness);
         if (!$mainBusinessId) {
             return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => Const_APIStatus::E_SYS_ERR, 'message' => V1_RegisterController::MAIN_BUSINESS_FAIL);
         }
         //写主营业务log
         $mainBusinessLogId = $this->setMainBusinessLog($res['broker']['userId'], $res['broker']['brokerId'], $mainBusiness);
         if (!$mainBusinessLogId) {
             return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => Const_APIStatus::E_SYS_ERR, 'message' => V1_RegisterController::MAIN_BUSINESS_LOG_FAIL);
         }
         //获取token
         $token = $this->createBrokerToken($res['broker']['brokerId'], $res['broker']['userName']);
         $sid = APF::get_instance()->get_config("sid", "login");
         //单点登录
         $registerBll = new Bll_Register();
         $registerBll->singleSignon($mobile, $password, $sid);
         return array('status' => Const_APIStatus::RETURN_CODE_OK, 'data' => array('brokerId' => $res['broker']['brokerId'], 'userId' => $res['broker']['userId'], 'userName' => $res['broker']['userName'], 'cityId' => $res['broker']['cityId'], 'mobile' => $res['broker']['userMobile'], 'trueName' => $res['broker']['trueName'], 'token' => $token));
     } else {
         return array('status' => Const_APIStatus::RETURN_CODE_ERROR, 'errcode' => Const_APIStatus::E_JAVA_API_ERROR, 'message' => empty($res['info']) ? '请求超时' : $res['info']);
     }
 }
Example #2
0
 public function handle_request_internal()
 {
     $params["j_username"] = trim($this->_params["username"]);
     $params["j_password"] = trim($this->_params["password"]);
     $params["channel"] = 3;
     $api_url = '/service-internal/rest/brokers/login';
     $broker = Util_CallAPI::get_data_from_java_api($api_url, $params);
     if ($broker['data']['status'] != 'ok') {
         if ($broker['data']['code'] == 398213) {
             return Util_MobileAPI::error(Const_APIStatus::E_BROKER_USERPWD_ERR);
         } else {
             return Util_MobileAPI::error(Const_APIStatus::E_CALL_API_ERROR);
         }
     }
     $broker_id = $broker['data']['broker']['brokerId'];
     //获取经纪人信息
     $api_url = "/service-internal/rest/brokers/{$broker_id}";
     $broker_info = Util_CallAPI::get_data_from_java_api($api_url);
     if (empty($broker_info)) {
         $broker_info = array();
     }
     if ($broker_info['data']['status'] == 'error') {
         return Util_MobileAPI::error(Const_APIStatus::E_CALL_API_ERROR);
     }
     $broker_info = $broker_info['data'];
     $cityId = isset($broker_info['broker']['cityId']) ? $broker_info['broker']['cityId'] : "";
     if ($cityId > 229) {
         return array('status' => 'error', 'errcode' => "", 'message' => "您所在的城市暂不支持APP服务");
     }
     $broker_return = array('id' => isset($broker_info['broker']['brokerId']) ? $broker_info['broker']['brokerId'] : "", 'city_id' => isset($broker_info['broker']['cityId']) ? $broker_info['broker']['cityId'] : "", 'email' => isset($broker_info['broker']['userEmail']) ? $broker_info['broker']['userEmail'] : "", 'last_log_date' => isset($broker_info['broker']['lastLogDate']) ? $broker_info['broker']['lastLogDate'] : "", 'name' => isset($broker_info['broker']['trueName']) ? $broker_info['broker']['trueName'] : "", 'username' => isset($broker_info['broker']['userName']) ? $broker_info['broker']['userName'] : "", 'phone' => isset($broker_info['broker']['userMobile']) ? $broker_info['broker']['userMobile'] : "", 'use_photo' => isset($broker_info['broker']['userPhoto']) ? $broker_info['broker']['userPhoto'] : "", 'user_type' => isset($broker_info['broker']['userType']) ? $broker_info['broker']['userType'] : "", 'user_id' => isset($broker_info['broker']['userId']) ? $broker_info['broker']['userId'] : "");
     $sid = APF::get_instance()->get_config("sid", "login");
     //单点登录
     $registerBll = new Bll_Register();
     $registerBll->singleSignon($broker_return['user_id'], $broker_return['username'], $sid, $broker_return['user_type']);
     // 生成token
     $token = self::createToken(array($broker_return["id"], $broker_return['username'], time()));
     $broker_return['use_photo'] = Util_ImageUtils::get_broker_photo_url($broker_return['use_photo']);
     $insert_data["token"] = $token;
     $insert_data["user_id"] = $broker_return["id"];
     $insert_data["expired"] = Bll_TokenBiz::get_instance()->get_expire_time();
     $insert_data["app"] = APF::get_instance()->get_config('java_api_from');
     Bll_TokenBiz::get_instance()->insert($insert_data);
     $device_data = array();
     $device_data["user_id"] = $broker_return["id"];
     $device_data["app"] = APF::get_instance()->get_config('java_api_from');
     $device_data["device"] = "";
     $device_data["ismi"] = trim(@$this->_params["imsi"]);
     $device_data["ip"] = APF::get_instance()->get_request()->get_client_ip();
     $device_data["i"] = "";
     $device_data["m"] = "";
     $device_data["o"] = "";
     $device_data["v"] = "";
     $device_data["cv"] = "";
     $device_data["cid"] = "";
     $device_data["pm"] = "";
     $device_data["created"] = date("Y-m-d H:i:s");
     Bll_DeviceBiz::get_instance()->save($device_data);
     $dwStatsBiz = new Bll_DwStatsBiz();
     if (!empty($this->_params["macid"])) {
         $guid = md5(trim($this->_params["macid"]));
         $dwStatsBiz->saveGuid($guid);
     }
     if (!empty($this->_params["uuid"])) {
         $guid = md5(trim($this->_params["uuid"]));
         $dwStatsBiz->saveGuid($guid);
     }
     if (!empty($this->_params["i"])) {
         $guid = md5(trim($this->_params["i"]));
         $dwStatsBiz->saveGuid($guid);
     }
     if (!empty($this->_params["uuid2"])) {
         //ios7兼容
         $guid = md5(trim($this->_params["uuid2"]));
         $dwStatsBiz->saveGuid($guid);
     }
     if (!empty($this->_params["udid2"])) {
         //ios7兼容
         $guid = md5(trim($this->_params["udid2"]));
         $dwStatsBiz->saveGuid($guid);
     }
     $return = array();
     $return["status"] = "ok";
     $return['data']["token"] = $token;
     $return['data']['broker'] = $broker_return;
     //缓存信息到redis
     $redisInfo = array('brokerId' => $broker_info['broker']['brokerId'], 'username' => $broker_info['broker']['trueName'], 'userPhoto' => $broker_return['use_photo'], 'cityId' => $broker_info['broker']['cityId']);
     Bll_Commsign::redisBrokerInfo($broker_info['broker']['brokerId'], $redisInfo);
     return $return;
 }