From ec60e757d358636dcac1589c44a66f3e276fe58c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 29 六月 2020 14:41:42 +0800 Subject: [PATCH] 拉新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/SMSServiceImpl.java | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SMSServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SMSServiceImpl.java index fbba26e..0e73af3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SMSServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/SMSServiceImpl.java @@ -9,10 +9,11 @@ import com.yeshi.fanli.dao.mybatis.SMSHistoryMapper; import com.yeshi.fanli.entity.bus.user.SMSHistory; -import com.yeshi.fanli.exception.SMSException; +import com.yeshi.fanli.exception.config.SMSException; import com.yeshi.fanli.service.inter.user.SMSService; import com.yeshi.fanli.util.AliyunSMSUtil; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.RedisKeyEnum; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TencentSMSUtil; @@ -34,7 +35,7 @@ if (limit) throw new SMSException(1001, "璇疯繃60绉掑啀璇�"); - String key = StringUtil.Md5("sms-login-tencent-latest-" + phone); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.emptyKey, StringUtil.Md5("sms-login-tencent-latest-" + phone)); String msgCode = StringUtil.getVerifyCode(codeLength); // 楠岃瘉鐮佹ā鏉� @@ -93,6 +94,31 @@ } @Override + public void sendRemoveVCode(String phone, int codeLength) throws SMSException { + boolean limit = redisManager.isSmsFrequencyLimit(phone, SMSHistory.TYPE_REMVOE); + if (limit) + throw new SMSException(1001, "璇疯繃60绉掑啀璇�"); + String msgCode = StringUtil.getVerifyCode(codeLength); + + // 楠岃瘉鐮佹ā鏉� + String msg = Constant.smsConfig.getSmsBind().replace("[绛惧悕]", Constant.smsConfig.getSmsSign()).replace("[楠岃瘉鐮乚", + msgCode); + // 鍙戦�佺煭淇� + TencentSMSUtil.sendSingleMsg(phone, msg); + + // 缂撳瓨 + redisManager.sendSms(phone, SMSHistory.TYPE_REMVOE); + redisManager.saveSMSVCode(phone, SMSHistory.TYPE_REMVOE, msgCode); + + SMSHistory smsHistory = new SMSHistory(); + smsHistory.setContent(msg); + smsHistory.setCreateTime(new Date()); + smsHistory.setPhone(phone); + smsHistory.setType(SMSHistory.TYPE_REMVOE); + smsHistoryMapper.insertSelective(smsHistory); + } + + @Override public void sendExtractVCode(String phone) throws SMSException { boolean limit = redisManager.isSmsFrequencyLimit(phone, SMSHistory.TYPE_EXTRACT); if (limit) -- Gitblit v1.8.0