From e75b0d79535a6bcd147cca4a54632b70b42afdb9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 29 五月 2021 18:10:18 +0800 Subject: [PATCH] 特价完善 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java | 82 +++++++++++++++++++++------------------- 1 files changed, 43 insertions(+), 39 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java index cb1669d..b03e865 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java @@ -19,6 +19,7 @@ import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; import com.yeshi.fanli.util.*; import com.yeshi.fanli.vo.taobao.TaoBaoUser; +import com.yeshi.fanli.vo.user.QQUserInfoVO; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -182,15 +183,17 @@ * 鏂扮増鐧诲綍 V1.5.3 * * @param acceptData + * @param loginType 鐧诲綍鏂瑰紡锛� 1-鎵嬫満鐧诲綍 2-寰俊鐧诲綍 3-鎵嬫満 4-qq * @param vcode * @param phone * @param code - * @param loginType 鐧诲綍鏂瑰紡锛� 1-鎵嬫満鐧诲綍 2-寰俊鐧诲綍 + * @param aliAccessToken + * @param qqUser * @param request * @param out */ @RequestMapping(value = "login", method = RequestMethod.POST) - public void login(AcceptData acceptData, int loginType, String vcode, String phone, String code, + public void login(AcceptData acceptData, int loginType, String vcode, String phone, String code, String aliAccessToken, String qqUser, HttpServletRequest request, PrintWriter out) { try { BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), @@ -201,27 +204,40 @@ } UserInfo userInfo = null; - // 鎵嬫満鐧诲綍 - if (loginType == 1) { - userInfo = userAccountService.loginPhone(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, vcode, phone, system); + + + switch (loginType) { + //鐢佃瘽鍙风爜鐧诲綍 + case 1: { + userInfo = userAccountService.loginPhone(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, vcode, phone, aliAccessToken, system); + } + break; + //寰俊鐧诲綍 + case 2: { + //闇�瑕佺粦瀹氱數璇濆彿鐮� + if (SystemInfoUtil.hasFunctions(system.getSystem(), SystemFunction.bindPhone)) + userInfo = userAccountService.loginWeiXinNew(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, code, system); + //涓嶉渶瑕佺粦瀹氱數璇濆彿鐮� + else + userInfo = userAccountService.loginWeiXin(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, code, system); + } + break; + case 4: { + QQUserInfoVO qqUserInfo = UserUtil.parseQQUser(qqUser); + userInfo = userAccountService.loginQQ(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, qqUserInfo, system); + } + break; } - // 寰俊鐧诲綍 - if (loginType == 2) { - //闇�瑕佺粦瀹氱數璇濆彿鐮� - if (SystemInfoUtil.hasFunctions(system.getSystem(), SystemFunction.bindPhone)) - userInfo = userAccountService.loginWeiXinNew(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, code, system); - //涓嶉渶瑕佺粦瀹氱數璇濆彿鐮� - else - userInfo = userAccountService.loginWeiXin(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), loginType, code, system); - } if (userInfo == null) { out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触")); } else { JSONObject data = new JSONObject(); data.put("userInfo", UserUtil.filterForClientUser(userInfo)); - data.put("inviteCode", userInfoExtraService.getInviteCodeByUid(userInfo.getId())); + if (SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.inviteCode)) { + data.put("inviteCode", userInfoExtraService.getInviteCodeByUid(userInfo.getId())); + } out.print(JsonUtil.loadTrueResult(data)); final UserInfo uuser = userInfo; @@ -248,14 +264,14 @@ } catch (UserAccountException e) { int errorCode = e.getCode(); - if (errorCode == 101) { // 闇�瑕佺粦瀹氭墜鏈哄彿 + if (errorCode == UserAccountException.CODE_NEED_BIND_PHONE) { // 闇�瑕佺粦瀹氭墜鏈哄彿 JSONObject data = new JSONObject(); data.put("key", e.getMsg()); JSONObject object = new JSONObject(); object.put("code", errorCode); object.put("data", data); out.print(object.toString()); - } else if (errorCode == 102) { // 闇�瑕佺粦瀹氬井淇″彿 + } else if (errorCode == UserAccountException.CODE_NEED_BIND_WX) { // 闇�瑕佺粦瀹氬井淇″彿 JSONObject data = new JSONObject(); data.put("key", e.getMsg()); JSONObject object = new JSONObject(); @@ -323,7 +339,7 @@ } /** - * 缁戝畾鐢佃瘽鍙风爜 V2.0.1 寰俊鐧诲綍 + * 缁戝畾鐢佃瘽鍙风爜 V2.0.1 涓夋柟鐧诲綍 * * @param acceptData * @param vcode @@ -332,7 +348,7 @@ */ @RequestSerializableByKey(key = "'bindPhoneLogin-'+#phone") @RequestMapping(value = "bindPhoneLogin") - public void bindPhoneLogin(AcceptData acceptData, String vcode, String phone, String key, + public void bindPhoneLogin(AcceptData acceptData, String vcode, String phone, String key, String aliAccessToken, HttpServletRequest request, PrintWriter out) { BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), acceptData.getPackages(), acceptData.getSystem()); @@ -341,35 +357,22 @@ return; } - if (StringUtil.isNullOrEmpty(vcode)) { - out.print(JsonUtil.loadFalseResult("楠岃瘉鐮佷笉鑳戒负绌�")); - return; - } - - if (StringUtil.isNullOrEmpty(phone)) { - out.print(JsonUtil.loadFalseResult("鐢佃瘽鍙风爜涓嶈兘涓虹┖")); - return; - } if (StringUtil.isNullOrEmpty(key)) { out.print(JsonUtil.loadFalseResult("key鍊间笉鑳戒负绌�")); return; } - phone = phone.replaceAll(" ", ""); - - String oldVCode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_BIND); - if (Constant.IS_OUTNET) { - if (!vcode.equalsIgnoreCase(oldVCode)) { - out.print(JsonUtil.loadFalseResult(9001, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆")); - return; - } - redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_BIND); + String mobile = null; + try { + mobile = userAccountService.getMobile(vcode, phone, aliAccessToken, acceptData.getSystem(), SMSHistory.TYPE_BIND); + } catch (UserAccountException e) { + out.print(JsonUtil.loadFalseResult(e.getMsg())); + return; } try { - UserInfo userInfo = userAccountService.bindPhoneToLogin(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), acceptData, phone, key); - + UserInfo userInfo = userAccountService.bindPhoneToLogin(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), acceptData, mobile, key); JSONObject data = new JSONObject(); data.put("userInfo", UserUtil.filterForClientUser(userInfo)); out.print(JsonUtil.loadTrueResult(data)); @@ -412,6 +415,7 @@ return; } + try { UserInfo userInfo = userAccountService.bindWXToLogin(new ProxyIP(request.getRemoteHost(), request.getRemotePort()), acceptData, code, system.getAppid(), key); JSONObject data = new JSONObject(); -- Gitblit v1.8.0