From afa3bc1e2f39f66f59ee9b15d6af16593acdc9a4 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期六, 02 十二月 2023 10:38:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/service/impl/SmsCodeServiceImpl.java | 73 ++++++++++++++++++++++++++++++++++-- 1 files changed, 68 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/service/impl/SmsCodeServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/SmsCodeServiceImpl.java index 571e3c7..1ec0053 100644 --- a/src/main/java/com/zy/crm/manager/service/impl/SmsCodeServiceImpl.java +++ b/src/main/java/com/zy/crm/manager/service/impl/SmsCodeServiceImpl.java @@ -1,11 +1,15 @@ package com.zy.crm.manager.service.impl; -import com.core.common.R; +import com.core.common.Cools; +import com.zy.crm.common.entity.PhoneCodeTypeParam; import com.zy.crm.manager.mapper.SmsCodeMapper; import com.zy.crm.manager.entity.SmsCode; import com.zy.crm.manager.service.SmsCodeService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.crm.manager.utils.SmsUtils; +import com.zy.crm.system.entity.Config; +import com.zy.crm.system.service.ConfigService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -13,9 +17,12 @@ @Service("smsCodeService") public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeMapper, SmsCode> implements SmsCodeService { + @Autowired + private ConfigService configService; + @Override - public SmsCode selectByPhone(String phone) { - return this.baseMapper.selectByPhone(phone); + public SmsCode selectByPhone(String phone,Integer smsType) { + return this.baseMapper.selectByPhone(phone,smsType); } @Override @@ -41,17 +48,73 @@ return true; } +// @Override +// public boolean sendSmsCodeText(String phone) { +// String randomNum = "鍒嗛厤浜嗘柊鐨勮鍒掔敵璇峰崟浠诲姟锛�" ;//鑾峰彇鍏綅闅忔満鏁� +// SmsCode smsCode = new SmsCode(); +// smsCode.setPhone(phone); +// smsCode.setCode(randomNum); +// smsCode.setStatus(0); +// smsCode.setCreateTime(new Date()); +// if (this.baseMapper.insert(smsCode) <= 0) { +// return false; +// } +// +// boolean sendSmsCode = SmsUtils.sendSmsCodeText(phone, ""); +// if (!sendSmsCode) { +// return false; +// } +// +// smsCode.setSendTime(new Date()); +// smsCode.setStatus(1); +// this.baseMapper.updateById(smsCode); +// return true; +// } + + @Override + public boolean sendSmsCodeText(String phone, PhoneCodeTypeParam param,Long userId) { + Config config = configService.selectConfigByCode("SMSNotification"); + if (Cools.isEmpty(config) || !config.getValue().equals("true")) { + return true; + } + String randomNum = param.code; + SmsCode smsCode = new SmsCode(); + smsCode.setPhone(phone); + smsCode.setCode(randomNum); + smsCode.setStatus(0); + smsCode.setCreateTime(new Date()); + smsCode.setUserId(userId); + smsCode.setSmsType(param.id); + if (this.baseMapper.insert(smsCode) <= 0) { + return false; + } + + boolean sendSmsCode = SmsUtils.sendSmsCodeText(phone, param); + if (!sendSmsCode) { + return false; + } + + smsCode.setSendTime(new Date()); + smsCode.setStatus(1); + this.baseMapper.updateById(smsCode); + return true; + } + @Override public boolean verifySmsCode(String phone, String code) { - SmsCode smsCode1 = this.baseMapper.selectByPhone(phone); + SmsCode smsCode1 = this.baseMapper.selectByPhone(phone,0); if (smsCode1 == null) { + return false; + } + + if (!smsCode1.getCode().equals(code)) { return false; } long createTime = smsCode1.getCreateTime().getTime(); long nowTime = new Date().getTime(); long diff = nowTime - createTime; - if (diff > (60000 * 5)) {//鐭俊鏃堕棿瓒呰繃浜斿垎閽燂紝宸插け鏁� + if (diff > (60000 * 10)) {//鐭俊鏃堕棿瓒呰繃鍗佸垎閽燂紝宸插け鏁� return false; } -- Gitblit v1.9.1