From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 20 二月 2025 16:57:55 +0800 Subject: [PATCH] IOS广告增加区域屏蔽 --- src/main/java/com/yeshi/buwan/service/imp/SMSServiceImpl.java | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/SMSServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/SMSServiceImpl.java index 029ea7b..55e877b 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/SMSServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/SMSServiceImpl.java @@ -19,21 +19,14 @@ @Resource private RedisManager redisManager; - @Override - public void sendBindVCode(String uid, String phone, int codeLength) throws SMSException { - String limitKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSLIMIT, uid + ""); - String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + 0); - if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(limitKey))) - throw new SMSException(1001, "璇疯繃60绉掑啀璇�"); + @Resource + private DetailSystemConfigService detailSystemConfigService; + private void sendSMSCode(String phone, String msg) throws SMSException { - String msgCode = StringUtil.getNumberVerifyCode(codeLength); TencentSMSConfig tencentSMSConfig = Constant.tencentSMSConfig; - // 楠岃瘉鐮佹ā鏉� - String msg = tencentSMSConfig.getContentBind().replace("[绛惧悕]", tencentSMSConfig.getSign()).replace("[楠岃瘉鐮乚", - msgCode); SmsSingleSenderResult result = TencentSMSUtil.sendSingleMsg(Integer.parseInt(tencentSMSConfig.getAppId()), tencentSMSConfig.getAppKey(), phone, msg); if (result == null) throw new SMSException(2, "鐭俊鍙戦�佸け璐�"); @@ -42,6 +35,23 @@ } else if (result.result != 0) {// 鍙戦�佸け璐� throw new SMSException(result.result, "鐭俊鍙戦�佸け璐�"); } + + + } + + @Override + public void sendBindVCode(String uid, String phone, int codeLength) throws SMSException { + String limitKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSLIMIT, uid + ""); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + 0); + if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(limitKey))) + throw new SMSException(1001, "璇疯繃60绉掑啀璇�"); + + String msgCode = StringUtil.getNumberVerifyCode(codeLength); + // 楠岃瘉鐮佹ā鏉� + TencentSMSConfig tencentSMSConfig = Constant.tencentSMSConfig; + String msg = tencentSMSConfig.getContentBind().replace("[绛惧悕]", tencentSMSConfig.getSign()).replace("[楠岃瘉鐮乚", + msgCode); + sendSMSCode(phone, msg); //淇濆瓨楠岃瘉鐮� redisManager.cacheCommonString(key, msgCode, 60 * 5); //60s鍚庡啀鍙戦�� @@ -58,4 +68,45 @@ } return false; } + + @Override + public void sendLoginVCode(String phone, int codeLength, String detailSystemId, int version) throws SMSException { + String limitKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSLIMIT, phone); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + 1); + if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(limitKey))) + throw new SMSException(1001, "璇疯繃60绉掑啀璇�"); + + String msgCode = StringUtil.getNumberVerifyCode(codeLength); + // 楠岃瘉鐮佹ā鏉� + TencentSMSConfig tencentSMSConfig = Constant.tencentSMSConfig; + String msg = tencentSMSConfig.getContentBind().replace("[绛惧悕]", detailSystemConfigService.getConfigValueByKey("tencent_sms_sign", detailSystemId, version)).replace("[楠岃瘉鐮乚", + msgCode); + sendSMSCode(phone, msg); + //淇濆瓨楠岃瘉鐮� + redisManager.cacheCommonString(key, msgCode, 60 * 5); + //60s鍚庡啀鍙戦�� + redisManager.cacheCommonString(limitKey, "1", 60); + } + + @Override + public boolean verifyLoginVCode(String phone, String code, String detailSystemId, int version) { + + String value = detailSystemConfigService.getConfigValueByKey("test_phone_account", detailSystemId, version); + +//娴嬭瘯璐﹀彿 + if (value != null) { + if (phone.equalsIgnoreCase(value.split("#")[0]) && code.equalsIgnoreCase(value.split("#")[1])) { + return true; + } + } + + + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.SMSVCode, phone + "-" + 1); + String cacheCode = redisManager.getCommonString(key); + if (cacheCode != null && cacheCode.equalsIgnoreCase(code)) { + redisManager.removeCommonString(key); + return true; + } + return false; + } } -- Gitblit v1.8.0