From ac6f9877e1890815ec865f15de19774f824e2e26 Mon Sep 17 00:00:00 2001 From: duLingLing Date: Tue, 5 Nov 2019 18:43:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=AA=E9=99=A4ip=E9=99=90=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../web/RetailValidationController.java | 8 +++---- .../signin/core/SignInStatusManager.java | 10 ++++---- .../core/impls/SignInStatusManagerImpl.java | 24 +++++++++---------- 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 954e9682c..22c0e7af1 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 4.0.0 manage - 1.2.62 + 1.2.63 UTF-8 diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailValidationController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailValidationController.java index cc7f761f5..fb2dbc8c3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailValidationController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailValidationController.java @@ -208,7 +208,7 @@ public class RetailValidationController implements ApplicationEventPublisherAwar HttpUtils.handleValidErrors(errors); JSONObject result = new JSONObject(); simpleClientApplyService.verifyLoginSMSCode(params.getString("verify_code"), contactPhone); - String signKey = signInStatusManager.getClientInfoByPhoneStatusKey(contactPhone, nationCode,RequestEnvironment.getClientIp()); + String signKey = signInStatusManager.getClientInfoByPhoneStatusKey(contactPhone, nationCode); if(signKey!=null){ JSONObject account = signInStatusManager.getCurrentClient(signKey); account = JSON.parseObject(account.toJSONString()); @@ -247,7 +247,7 @@ public class RetailValidationController implements ApplicationEventPublisherAwar loginInfo.setLoginId(params.getString("loginId")); loginInfo.setPassword(params.getString("password")); String signKey = signInStatusManager.verifyClientAccountLogin(loginInfo,"phone"); - signInStatusManager.verifyClientLoginPhoneBindCode(contactPhone,nationCode,RequestEnvironment.getClientIp()); + signInStatusManager.verifyClientLoginPhoneBindCode(contactPhone,nationCode); JSONObject account = signInStatusManager.getCurrentClient(signKey); retailAppService.updateLoginClientAccountPhone(account, contactPhone,nationCode); account.put("sign_key", signKey); @@ -271,7 +271,7 @@ public class RetailValidationController implements ApplicationEventPublisherAwar public JSONObject clientAppWechatSignIn(@RequestBody JSONObject params, Errors errors) { HttpUtils.handleValidErrors(errors); - JSONObject account = signInStatusManager.clientAppWechatSignIn(params.getString("code"),RequestEnvironment.getClientIp()); + JSONObject account = signInStatusManager.clientAppWechatSignIn(params.getString("code")); if(!account.getBoolean("bind_status")){ deviceSupport.validDeviceWithClient(account, params.getString("app_openid")); return account; @@ -287,7 +287,7 @@ public class RetailValidationController implements ApplicationEventPublisherAwar */ @PostMapping("/login/wechat_bind") public JSONObject wechatLoginBind(@RequestBody JSONObject params){ - JSONObject wechatInfo = signInStatusManager.verifyClientLoginWechatBindCode(params.getString("wechat_openid"),RequestEnvironment.getClientIp()); + JSONObject wechatInfo = signInStatusManager.verifyClientLoginWechatBindCode(params.getString("wechat_openid")); LoginInfo loginInfo = new LoginInfo(); loginInfo.setLoginId(params.getString("loginId")); loginInfo.setPassword(params.getString("password")); diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/SignInStatusManager.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/SignInStatusManager.java index cbdb88d7c..2dc07fbd0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/SignInStatusManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/SignInStatusManager.java @@ -73,7 +73,7 @@ public interface SignInStatusManager { * @param code * @return */ - JSONObject clientAppWechatSignIn(String code,String ip); + JSONObject clientAppWechatSignIn(String code); /** * 手机号登录 @@ -81,7 +81,7 @@ public interface SignInStatusManager { * @param nationCode * @return */ - String getClientInfoByPhoneStatusKey(String phone,String nationCode,String ip); + String getClientInfoByPhoneStatusKey(String phone,String nationCode); /** * 登录绑定校验用户名密码 @@ -93,17 +93,15 @@ public interface SignInStatusManager { /** * 微信openId是否有申请绑定 * @param codeId - * @param ip * @return */ - JSONObject verifyClientLoginWechatBindCode (String codeId,String ip); + JSONObject verifyClientLoginWechatBindCode (String codeId); /** * 微信手机号是否有申请绑定 * @param phone * @param nationCode - * @param ip * @return */ - void verifyClientLoginPhoneBindCode (String phone,String nationCode,String ip); + void verifyClientLoginPhoneBindCode (String phone,String nationCode); } diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInStatusManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInStatusManagerImpl.java index 6a28b02f5..98b0bdb4d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInStatusManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInStatusManagerImpl.java @@ -82,12 +82,12 @@ public class SignInStatusManagerImpl implements SignInStatusManager { } @Override - public String getClientInfoByPhoneStatusKey(String phone, String nationCode,String ip) { + public String getClientInfoByPhoneStatusKey(String phone, String nationCode) { String statusKey = newStatusKey(); JSONObject account = clientAccountMapper.findOneByPhoneAndCreateTimeDesc(phone, "+" + nationCode); if (account == null) { String expireMin = "5"; - stringRedisTemplate.boundValueOps(getClientLoginPhoneBindRedisKey(phone,nationCode,ip)).set(phone, Long.parseLong(expireMin), TimeUnit.MINUTES); + stringRedisTemplate.boundValueOps(getClientLoginPhoneBindRedisKey(phone,nationCode)).set(phone, Long.parseLong(expireMin), TimeUnit.MINUTES); return null; } stringRedisTemplate.boundValueOps(partnerLoginRedisKey(statusKey)).set(account.getString("account_id") + "", 30, TimeUnit.MINUTES); @@ -380,7 +380,7 @@ public class SignInStatusManagerImpl implements SignInStatusManager { } @Override - public JSONObject clientAppWechatSignIn(String code,String ip) { + public JSONObject clientAppWechatSignIn(String code) { JSONObject user = mpClientAppWechatApiProvider.getApi("merchant-app").appLoginUser(code); if(user==null){ throw new BadRequestException("WeChat users do not exist"); @@ -396,7 +396,7 @@ public class SignInStatusManagerImpl implements SignInStatusManager { res.put("app_openid", openId); res.put("status", "success"); String expireMin = "5"; - stringRedisTemplate.boundValueOps(getClientLoginWechatBindRedisKey(openId,ip)).set(openId+"&"+nickName+"&"+unionId, Long.parseLong(expireMin), TimeUnit.MINUTES); + stringRedisTemplate.boundValueOps(getClientLoginWechatBindRedisKey(openId)).set(openId+"&"+nickName+"&"+unionId, Long.parseLong(expireMin), TimeUnit.MINUTES); return res; } String statusKey = newStatusKey(); @@ -411,14 +411,14 @@ public class SignInStatusManagerImpl implements SignInStatusManager { return result; } - private String getClientLoginWechatBindRedisKey(String openId,String ip){ - return "login:"+":"+CLIENT_LOGIN_WECHAT_BIND_PREFIX + "&"+openId+"&"+ip; + private String getClientLoginWechatBindRedisKey(String openId){ + return "login:"+":"+CLIENT_LOGIN_WECHAT_BIND_PREFIX + "&"+openId; } @Override - public JSONObject verifyClientLoginWechatBindCode(String openId,String ip){ - String rediskey = getClientLoginWechatBindRedisKey(openId,ip); + public JSONObject verifyClientLoginWechatBindCode(String openId){ + String rediskey = getClientLoginWechatBindRedisKey(openId); String codeValue = stringRedisTemplate.boundValueOps(rediskey).get(); if (codeValue == null || !codeValue.split("&")[0].equals(openId)) { throw new BadRequestException("The WeChat ID does not apply for binding"); @@ -432,12 +432,12 @@ public class SignInStatusManagerImpl implements SignInStatusManager { }}; } - private String getClientLoginPhoneBindRedisKey(String phone,String nationCode,String ip){ - return "login:"+CLIENT_LOGIN_PHONE_BIND_PREFIX + "&"+nationCode+"&"+phone+"&"+ip; + private String getClientLoginPhoneBindRedisKey(String phone,String nationCode){ + return "login:"+CLIENT_LOGIN_PHONE_BIND_PREFIX + "&"+nationCode+"&"+phone; } - public void verifyClientLoginPhoneBindCode(String phone,String nationCode,String ip){ - String rediskey = getClientLoginPhoneBindRedisKey(phone,nationCode,ip); + public void verifyClientLoginPhoneBindCode(String phone,String nationCode){ + String rediskey = getClientLoginPhoneBindRedisKey(phone,nationCode); String codeValue = stringRedisTemplate.boundValueOps(rediskey).get(); if (codeValue == null || !codeValue.equals(phone)) { throw new BadRequestException("The phone number is for application binding");