From 6f1ad9bcb73a415f1d45f1adc6bdeb3e80ddf95f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 05 三月 2024 09:33:39 +0800
Subject: [PATCH] mrshi
---
server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 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 1159de3..78a3a64 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
@@ -1,7 +1,12 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
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.SmsEmail;
@@ -10,10 +15,15 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.third.EmailService;
+import com.doumee.service.business.third.EmayService;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
/**
@@ -26,12 +36,91 @@
@Autowired
private SmsEmailMapper smsEmailMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private EmayService emayService;
+ @Autowired
+ private EmailService emailService;
+
+ public static void isCaptcheValide(SmsEmailMapper smsEmailMapper, String phone, String captche) {
+ SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda()
+ .eq(SmsEmail::getType, Constants.ZERO)
+ .eq(SmsEmail::getPhone, phone)
+ .eq(SmsEmail::getRemark, captche)
+ .eq(SmsEmail::getIsdeleted, Constants.ZERO)
+ );
+ if(model == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佷笉姝g‘锛岃閲嶆柊鍙戦�佸啀璇曪紒");
+ }
+ 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){
+ model.setStatus(Constants.ONE);
+ model.setEditDate(new Date());
+ smsEmailMapper.updateById(model);
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇晘");
+ }
+ model.setStatus(Constants.ONE);
+ model.setEditDate(new Date());
+ smsEmailMapper.updateById(model);
+ }
@Override
public Integer create(SmsEmail smsEmail) {
smsEmailMapper.insert(smsEmail);
return smsEmail.getId();
}
+ @Override
+ public Integer sendEmail(SmsEmail smsEmail) {
+ if(StringUtils.isBlank(smsEmail.getEmail())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ boolean result= emailService.sendEmail(smsEmail.getEmail(),smsEmail.getTitle(),smsEmail.getContent(),smsEmail.getFileList());
+ smsEmail.setRemark("閭欢鍙戠敓鎴愬姛");
+ if(!result){
+ smsEmail.setRemark("閭欢鍙戠敓澶辫触");
+ }
+ smsEmail.setIsdeleted(Constants.ZERO);
+ smsEmail.setCreateDate(new Date());
+ smsEmail.setStatus(Constants.ONE);
+ smsEmail.setType(Constants.TWO);
+ smsEmailMapper.insert(smsEmail);
+
+ return smsEmail.getId();
+ }
+ @Override
+ public Integer sendSms(SmsEmail smsEmail) {
+ 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);
+ 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鍒嗛挓銆傝鍕挎硠闇�");
+ smsEmailMapper.insert(smsEmail);
+
+ return smsEmail.getId();
+
+ }
@Override
public void deleteById(Integer id) {
--
Gitblit v1.9.3