diff --git a/pom.xml b/pom.xml index 72d9d83a8..220f68bf0 100644 --- a/pom.xml +++ b/pom.xml @@ -8,10 +8,8 @@ 1.1.5 4.0.0 - manage - 1.2.56 - + 1.2.72 UTF-8 1.6.1 diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java index 90eac6ea6..5836b9e72 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java @@ -189,7 +189,9 @@ public interface RetailAppService { void updateAccountEmail(JSONObject device, JSONObject codekey); - void bindAccountPhone(JSONObject device, JSONObject phone); + void sendBindAccountPhone(JSONObject device,JSONObject phone); + + void sendUnbindAccountPhone(JSONObject device); JSONObject updateAccountPhone(JSONObject device,JSONObject codekey); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java index dcdd976b7..367d85e39 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/ManageAppServiceImp.java @@ -38,6 +38,8 @@ import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.ibatis.annotations.Param; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; @@ -52,6 +54,7 @@ import java.util.stream.Collectors; @Service public class ManageAppServiceImp implements ManageAppService { + private Logger logger = LoggerFactory.getLogger(getClass()); @Resource private ManageDeviceSupport manageDeviceSupport; @@ -470,6 +473,7 @@ public class ManageAppServiceImp implements ManageAppService { throw new BadRequestException("Captcha has been sent.Please check your email or try again in 5 minutes."); } String codeKeyValue = RandomStringUtils.random(6, false, true); + logger.debug("send sms code : {} ", codeKeyValue); Context ctx = new Context(); JSONObject manager = managerMapper.findById(device.getString("manager_id")); ctx.setVariable("account",manager); @@ -512,6 +516,7 @@ public class ManageAppServiceImp implements ManageAppService { throw new BadRequestException("Captcha has been sent.Please check your phone or try again in 5 minutes."); } String codeKeyValue = RandomStringUtils.random(6, false, true); + logger.debug("send sms code : {} ", codeKeyValue); String nationCode = phone.getString("nation_code"); String phoneNumber = phone.getString("contact_phone"); ArrayList param = new ArrayList<>(); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index fb02576de..1e12421b4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -2098,6 +2098,7 @@ public class RetailAppServiceImp implements RetailAppService { throw new BadRequestException("Captcha has been sent.Please check your email or try again in 5 minutes."); } String codeKeyValue = RandomStringUtils.random(6, false, true); + logger.debug("send sms code : {} ", codeKeyValue); Context ctx = new Context(); JSONObject account = clientAccountMapper.findById(device.getString("account_id")); ctx.setVariable("account", account); @@ -2133,13 +2134,14 @@ public class RetailAppServiceImp implements RetailAppService { } @Override - public void bindAccountPhone(JSONObject device, JSONObject phone) { + public void sendBindAccountPhone(JSONObject device, JSONObject phone) { String codeKey = device.getString("account_id"); String codeKeyValueRedis = stringRedisTemplate.boundValueOps(getUpdateAccountPhoneKey(codeKey)).get(); if (StringUtils.isNotEmpty(codeKeyValueRedis)) { throw new BadRequestException("Captcha has been sent.Please check your phone or try again in 1 minutes."); } String codeKeyValue = RandomStringUtils.random(6, false, true); + logger.debug("send sms code : {} ", codeKeyValue); String nationCode = phone.getString("nation_code").contains("+")?phone.getString("nation_code").substring(1):phone.getString("nation_code"); String phoneNumber = phone.getString("contact_phone"); ArrayList param = new ArrayList<>(); @@ -2155,6 +2157,30 @@ public class RetailAppServiceImp implements RetailAppService { } stringRedisTemplate.boundValueOps(getUpdateAccountPhoneKey(codeKey)).set(codeKeyValue + "&" + nationCode + "&" + phoneNumber, Long.parseLong(expireMin), TimeUnit.MINUTES); } + @Override + public void sendUnbindAccountPhone(JSONObject device) { + String codeKey = device.getString("account_id"); + String codeKeyValueRedis = stringRedisTemplate.boundValueOps(getUpdateAccountPhoneKey(codeKey)).get(); + if (StringUtils.isNotEmpty(codeKeyValueRedis)) { + throw new BadRequestException("Captcha has been sent.Please check your phone or try again in 1 minutes."); + } + JSONObject client = clientAccountMapper.findById(device.getString("account_id")); + String codeKeyValue = RandomStringUtils.random(6, false, true); + String nationCode = client.getString("nation_code").contains("+")?client.getString("nation_code").substring(1):client.getString("nation_code"); + String phoneNumber = client.getString("contact_phone"); + ArrayList param = new ArrayList<>(); + param.add("解綁绑定手机号"); + param.add(codeKeyValue); + String expireMin = "1"; + param.add(expireMin); + try { + smsSender.getSender().sendWithParam(nationCode.trim(), phoneNumber, BIND_PHONE_TEMPLID, param, "RoyalPay", "", ""); + } catch (Exception e) { + logger.error(e.getMessage(), e); + throw new BadRequestException("Phone number is wrong.Please try again."); + } + stringRedisTemplate.boundValueOps(getUpdateAccountPhoneKey(codeKey)).set(codeKeyValue + "&" + nationCode + "&" + phoneNumber, Long.parseLong(expireMin), TimeUnit.MINUTES); + } @Override public JSONObject updateAccountPhone(JSONObject device, JSONObject params) { @@ -2169,7 +2195,7 @@ public class RetailAppServiceImp implements RetailAppService { if (!StringUtils.equals(captcha, params.getString("captcha"))) { throw new BadRequestException("Verification code is wrong"); } - JSONObject account = clientAccountMapper.findByPhone(contactPhone, "+" + nationCode); + List account = clientAccountMapper.findByPhone(contactPhone, "+" + nationCode); if (account != null) { throw new BadRequestException("Mobile phone number has been bound to other users, please unbind it before binding"); } @@ -2270,7 +2296,7 @@ public class RetailAppServiceImp implements RetailAppService { result.put("contact_phone",account.getString("contact_phone")); String contact_phone = account.getString("contact_phone").replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"); result.put("remark_contact_phone",contact_phone); - result.put("naticon_code",account.getString("nation_code")); + result.put("nation_code",account.getString("nation_code")); } result.put("wechat_bind_status",account.containsKey("wechat_openid")); if(account.containsKey("wechat_openid")){ diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index f4dd25f22..8049f5c7f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -728,10 +728,22 @@ public class RetailAppController { * @param phone contact_phone * @throws Exception */ - @PutMapping("/account/phone") - public JSONObject bindAccountPhone(@ModelAttribute(RETAIL_DEVICE) JSONObject device, @RequestBody JSONObject phone) throws Exception { - retailAppService.bindAccountPhone(device, phone); - return new JSONObject(); + @PutMapping("/account/phone_verify/bind") + public JSONObject sendBindAccountPhone(@ModelAttribute(RETAIL_DEVICE) JSONObject device, @RequestBody JSONObject phone) throws Exception { + retailAppService.sendBindAccountPhone(device, phone); + return new JSONObject(); + } + + /** + * 接收解绑手机的验证码 + * + * @param device + * @throws Exception + */ + @PutMapping("/account/phone_verify/unbind") + public JSONObject unBindAccountPhone(@ModelAttribute(RETAIL_DEVICE) JSONObject device) throws Exception { + retailAppService.sendUnbindAccountPhone(device); + return new JSONObject(); } /** 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..5e9b27285 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,11 +287,11 @@ 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()); LoginInfo loginInfo = new LoginInfo(); loginInfo.setLoginId(params.getString("loginId")); loginInfo.setPassword(params.getString("password")); String signKey = signInStatusManager.verifyClientAccountLogin(loginInfo,"wechat"); + JSONObject wechatInfo = signInStatusManager.verifyClientLoginWechatBindCode(params.getString("wechat_openid")); JSONObject account = signInStatusManager.getCurrentClient(signKey); params.put("nick_name",wechatInfo.getString("nick_name")); params.put("union_id",wechatInfo.getString("union_id")); diff --git a/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java index 53c1eb8f5..33cb0305b 100644 --- a/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/application/core/impls/SimpleClientApplyServiceImpl.java @@ -170,6 +170,7 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { param.add(registerClientCode); String expireMin = "3"; param.add(expireMin); + logger.debug("send sms code : {} ", registerClientCode); try { if(request.getLocales().nextElement().equals(Locale.CHINESE)|| request.getLocales().nextElement().equals(Locale.SIMPLIFIED_CHINESE)){ smsSender.getSender().sendWithParam(nationCode.trim(), phoneNumber, REGISTER_CLIENT_TEMPLID, param, "RoyalPay", "", ""); @@ -279,7 +280,7 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { if (!nation_code.startsWith("+")) { nation_code = "+" + nation_code; } - JSONObject account = clientAccountMapper.findByPhone(contact_phone, nation_code); + List account = clientAccountMapper.findByPhone(contact_phone, nation_code); if (account != null) { throw new ForbiddenException("用户名已被注册"); } @@ -597,7 +598,7 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { } JSONObject apply = sysClientPreMapperMapper.findByUserName(username); - JSONObject account = clientAccountMapper.findByPhone(apply.getString("contact_phone"), "+61"); + List account = clientAccountMapper.findByPhone(apply.getString("contact_phone"), "+61"); if (account != null) { throw new ForbiddenException("The user name has been registered"); } @@ -769,7 +770,7 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { Runnable task2 = () -> { try { if (signInfo != null) { - clientManager.registerClientApplyGMS(clientMoniker, sysAccount.getString("account_id")); +// clientManager.registerClientApplyGMS(clientMoniker, sysAccount.getString("account_id")); }else { clientManager.getNewAggregateAgreeFile(clientMoniker, null, true); } @@ -872,6 +873,7 @@ public class SimpleClientApplyServiceImpl implements SimpleClientApplyService { param.add("RoyalPay"); param.add(registerClientCode); String expireMin = "1"; + logger.debug("{} phone sms send code :{}",phoneNumber,registerClientCode); param.add(expireMin); try { if(request.getLocales().nextElement().equals(Locale.CHINESE)|| request.getLocales().nextElement().equals(Locale.SIMPLIFIED_CHINESE)){ diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.java index dcf2ad82f..2005ca0fc 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientAccountMapper.java @@ -28,7 +28,7 @@ public interface ClientAccountMapper { @AutoSql(type = SqlType.SELECT) @AdvanceSelect(addonWhereClause = "is_valid=1") - JSONObject findByPhone(@Param("contact_phone") String contact_phone,@Param("nation_code")String nation_code); + List findByPhone(@Param("contact_phone") String contact_phone,@Param("nation_code")String nation_code); @AutoSql(type = SqlType.SELECT) JSONObject findDetail(@Param("account_id") String accountId); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/SubMerchantIdApply.java b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/SubMerchantIdApply.java index f156abc3a..2bc113649 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/SubMerchantIdApply.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/SubMerchantIdApply.java @@ -100,12 +100,12 @@ public class SubMerchantIdApply { this.merchant_name = merchant_name; } - public String getMerchant_shortname() { + public String getMerchant_storename() { return this.merchant_storename; } - public void setMerchant_shortname(String merchant_shortname) { - this.merchant_storename = merchant_shortname; + public void setMerchant_storename(String merchant_storename) { + this.merchant_storename = merchant_storename; } public String getOffice_phone() { diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 6e1885f6e..fb8f5d81a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -420,15 +420,13 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid client.put("temp_sub_merchant", checkSubMerchantIdInCommonPool(subMerchantId)); } } - if (client.getIntValue("approve_result") == 1 - || (client.getIntValue("approve_result") == 2 && (client.getIntValue("source") == 1 || client.getIntValue("source") == 2))) { - try { - JSONObject activeRate = merchantInfoProvider.clientCurrentRate(client.getIntValue("client_id"), new Date(), "Wechat"); - if (activeRate != null) { - client.put("rate_value", activeRate.getDouble("rate_value")); - } - } catch (Exception ignore) { + try { + JSONObject activeRate = merchantInfoProvider.clientCurrentRate(client.getIntValue("client_id"), new Date(), "Wechat"); + if (activeRate != null) { + client.put("rate_value", activeRate.getDouble("rate_value")); } + } catch (Exception ignore) { + } client.put("max_customer_surcharge_rate", PlatformEnvironment.getEnv().getMaxCustomerSurchargeRate()); if (client.getBigDecimal("rate_value") != null) { @@ -522,6 +520,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void exportClients(JSONObject manager, PartnerQuery query, HttpServletResponse resp) { JSONObject params = prepareListClientsParameter(manager, query); + logger.info("exporting_clients:--->{}", params); JSONObject retResp = serverlessFunctionTrigger.triggerFunction("export_merchants", params); String contentB64 = retResp.getString("content"); resp.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); @@ -1556,7 +1555,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } checkOrgPermission(manager, client); - checkPhoneAndWechatExist(account); + if (StringUtils.isNotBlank(account.getContactPhone())) { + checkPhoneAndWechatExist(account); + } JSONObject accountJson = account.toJson(); JSONObject accountCheck = clientAccountMapper.findByUsernameForDuplicate(accountJson.getString("username")); if (accountCheck != null) { @@ -1578,10 +1579,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } private void checkPhoneAndWechatExist(NewAccountBean account) { - if (clientAccountMapper.findByPhone(account.getContactPhone(), "+" + account.getNation_code()) != null) { + if (clientAccountMapper.findByPhone(account.getContactPhone(), account.getNation_code().startsWith("+")?account.getNation_code():"+"+account.getNation_code()) != null) { throw new BadRequestException("Mobile phone number has been bound to other accounts"); } - ; } @Override @@ -3615,7 +3615,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid Date endDate = TimeZoneUtils.nextYearByCurrDay(); String end_date = DateFormatUtils.format(endDate, "dd/MM/yyyy"); client.put("end_date", end_date); - client.put("full_name", URLDecoder.decode(file.getOriginalFilename(),"UTF-8")); + client.put("full_name", URLDecoder.decode(file.getOriginalFilename(), "UTF-8")); BufferedImage img = ImageIO.read(file.getInputStream()); ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(img, "png", out); @@ -4976,11 +4976,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid String[] payType = clientConfig.getString("client_pay_type").split(","); if (Arrays.asList(payType).contains("1")) { registerAlipayOnlineGms(clientMoniker, null); - switchChannelPermission(account, clientMoniker, "Alipay", true); + enableGatewayAlipayOnline(account, clientMoniker, true); } if (Arrays.asList(payType).contains("2")) { registerAlipayGms(clientMoniker, null); - enableGatewayAlipayOnline(account, clientMoniker, true); + switchChannelPermission(account, clientMoniker, "Alipay", true); } } } @@ -5293,12 +5293,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new BadRequestException("The Partner's Bank Account is not config!"); } JSONObject representativeInfo = sysClientLegalPersonMapper.findRepresentativeInfo(client.getIntValue("client_id")); - for(String str:representativeInfo.keySet()){ - if(representativeInfo.getString(str) == null || !(representativeInfo.getString(str).length()>0)|| !(client.getString("contact_job")!=null && client.getString("contact_job").length()>0)) { + for (String str : representativeInfo.keySet()) { + if (representativeInfo.getString(str) == null || !(representativeInfo.getString(str).length() > 0) || !(client.getString("contact_job") != null && client.getString("contact_job").length() > 0)) { throw new BadRequestException("The LegalPersonInfo is not config!Please upgrade the RoyalPay App version"); } } - if ( !(StringUtils.isNotBlank(client.getString("client_pay_type"))) || !(StringUtils.isNotBlank(client.getString("client_pay_desc"))) ) { + if (!(StringUtils.isNotBlank(client.getString("client_pay_type"))) || !(StringUtils.isNotBlank(client.getString("client_pay_desc")))) { throw new BadRequestException("Merchant Payment Scenario is not config!"); } 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");