From 3481efebb5033dd35ce6066d030873a892d1db76 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 28 十一月 2023 14:42:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/service/impl/SmsCodeServiceImpl.java | 66 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 2 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..edcd43e 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,17 +1,24 @@ 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; @Service("smsCodeService") public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeMapper, SmsCode> implements SmsCodeService { + + @Autowired + private ConfigService configService; @Override public SmsCode selectByPhone(String phone) { @@ -41,6 +48,57 @@ 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); + 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); @@ -48,10 +106,14 @@ 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