From 253672d6c5b7725b3ba8859cfd5768e2c95a887e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 17 五月 2024 16:55:53 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 41 insertions(+), 3 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index 78dc00b..f5a2de4 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -3,11 +3,14 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.SmsEmailMapper;
+import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.SmsEmail;
import com.doumee.service.business.SmsEmailService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -17,6 +20,7 @@
import com.doumee.service.business.third.EmailService;
import com.doumee.service.business.third.EmayService;
import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -24,6 +28,7 @@
import java.util.Date;
import java.util.List;
+import java.util.Objects;
/**
* 鐭俊閭欢淇℃伅琛⊿ervice瀹炵幇
@@ -41,6 +46,8 @@
private EmayService emayService;
@Autowired
private EmailService emailService;
+ @Value("${debug_model}")
+ private boolean debugModel;
public static void isCaptcheValide(SmsEmailMapper smsEmailMapper, String phone, String captche) {
SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda()
@@ -55,7 +62,8 @@
if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇曪紒");
}
- if(model.getCreateDate() !=null && System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*100){
+ if(model.getCreateDate() !=null &&
+ System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*1000){
model.setStatus(Constants.ONE);
model.setEditDate(new Date());
smsEmailMapper.updateById(model);
@@ -94,24 +102,54 @@
if(StringUtils.isBlank(smsEmail.getPhone())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd HH:mm:ss");
+ if(smsEmailMapper.selectCount(new QueryWrapper<SmsEmail>().lambda()
+ .eq(SmsEmail::getPhone,smsEmail.getPhone())
+ .eq(SmsEmail::getType,Constants.ZERO)
+ .between(SmsEmail::getCreateDate, DateUtil.getFomartDate(DateUtil.afterMinutesDate(-5),"yyyy-MM-dd HH:mm:ss"),nowDate)
+ )>=3){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝瓒呭嚭鍙戦�佹鏁帮紝璇风◢鍚庨噸璇曪紒");
+ }
+
String code = Constants.getRandom6Num();
- boolean result= emayService.sendSingleSms(smsEmail.getPhone(),code);
+
+ String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�";
+
+ boolean result= emayService.sendSingleSms(smsEmail.getPhone(),content);
if(!result){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒");
}
+
smsEmail.setRemark(code);
smsEmail.setIsdeleted(Constants.ZERO);
smsEmail.setCreateDate(new Date());
smsEmail.setStatus(Constants.ZERO);
smsEmail.setType(Constants.ZERO);
smsEmail.setTitle("鐭俊楠岃瘉鐮�");
- smsEmail.setContent(systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�");
+ smsEmail.setContent(content);
smsEmailMapper.insert(smsEmail);
return smsEmail.getId();
}
+
+ @Override
+ public void validateCode(String code) {
+ if(StringUtils.isBlank(code)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(debugModel){
+ return;
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!(loginUserInfo.getType().equals(Constants.ONE)||loginUserInfo.getType().equals(Constants.TWO))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲埆閿欒");
+ };
+ Company company = loginUserInfo.getCompany();
+ SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),code);
+ }
+
@Override
public void deleteById(Integer id) {
smsEmailMapper.deleteById(id);
--
Gitblit v1.9.3