From 7e7c6df9595f1946d5e15c40a4e3299a2ee7e3d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Tue, 25 Jun 2024 17:12:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=B6=88=E6=81=AF=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maku-boot-module/maku-module-message/pom.xml | 42 -------- .../net/maku/message/convert/SmsLogConvert.java | 23 ----- .../maku/message/convert/SmsPlatformConvert.java | 30 ------ .../main/java/net/maku/message/dao/SmsLogDao.java | 15 --- .../java/net/maku/message/dao/SmsPlatformDao.java | 15 --- .../net/maku/message/query/SmsPlatformQuery.java | 23 ----- .../net/maku/message/service/SmsLogService.java | 19 ---- .../maku/message/service/SmsPlatformService.java | 33 ------- .../message/service/impl/SmsLogServiceImpl.java | 42 -------- .../service/impl/SmsPlatformServiceImpl.java | 91 ----------------- .../net/maku/message/sms/service/SmsService.java | 108 --------------------- .../main/java/net/maku/message/vo/SmsSendVO.java | 30 ------ .../src/main/resources/mapper/SmsLogDao.xml | 6 -- .../src/main/resources/mapper/SmsPlatformDao.xml | 6 -- 14 files changed, 483 deletions(-) delete mode 100644 maku-boot-module/maku-module-message/pom.xml delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsLogConvert.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsPlatformConvert.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsLogDao.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsPlatformDao.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/query/SmsPlatformQuery.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsLogService.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsPlatformService.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsLogServiceImpl.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsPlatformServiceImpl.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/sms/service/SmsService.java delete mode 100644 maku-boot-module/maku-module-message/src/main/java/net/maku/message/vo/SmsSendVO.java delete mode 100644 maku-boot-module/maku-module-message/src/main/resources/mapper/SmsLogDao.xml delete mode 100644 maku-boot-module/maku-module-message/src/main/resources/mapper/SmsPlatformDao.xml diff --git a/maku-boot-module/maku-module-message/pom.xml b/maku-boot-module/maku-module-message/pom.xml deleted file mode 100644 index e66f9ba..0000000 --- a/maku-boot-module/maku-module-message/pom.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - net.maku - maku-boot-module - ${revision} - - 4.0.0 - maku-module-message - jar - - - - net.maku - maku-framework - ${revision} - - - net.maku - maku-boot-api - ${revision} - - - com.aliyun - dysmsapi20170525 - - - com.squareup.okhttp3 - okhttp - - - com.tencentcloudapi - tencentcloud-sdk-java - - - com.qiniu - qiniu-java-sdk - - - - - \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsLogConvert.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsLogConvert.java deleted file mode 100644 index fb38ff7..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsLogConvert.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.maku.message.convert; - -import net.maku.message.entity.SmsLogEntity; -import net.maku.message.vo.SmsLogVO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** -* 短信日志 -* -* @author 阿沐 babamu@126.com -*/ -@Mapper -public interface SmsLogConvert { - SmsLogConvert INSTANCE = Mappers.getMapper(SmsLogConvert.class); - - SmsLogVO convert(SmsLogEntity entity); - - List convertList(List list); - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsPlatformConvert.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsPlatformConvert.java deleted file mode 100644 index 1c8fd71..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/convert/SmsPlatformConvert.java +++ /dev/null @@ -1,30 +0,0 @@ -package net.maku.message.convert; - -import net.maku.message.entity.SmsPlatformEntity; -import net.maku.message.sms.config.SmsConfig; -import net.maku.message.vo.SmsPlatformVO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** -* 短信平台 -* -* @author 阿沐 babamu@126.com -*/ -@Mapper -public interface SmsPlatformConvert { - SmsPlatformConvert INSTANCE = Mappers.getMapper(SmsPlatformConvert.class); - - SmsPlatformEntity convert(SmsPlatformVO vo); - - SmsPlatformVO convert(SmsPlatformEntity entity); - - List convertList(List list); - - SmsConfig convert2(SmsPlatformEntity entity); - - List convertList2(List list); - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsLogDao.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsLogDao.java deleted file mode 100644 index cd15cd9..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsLogDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.maku.message.dao; - -import net.maku.framework.mybatis.dao.BaseDao; -import net.maku.message.entity.SmsLogEntity; -import org.apache.ibatis.annotations.Mapper; - -/** -* 短信日志 -* -* @author 阿沐 babamu@126.com -*/ -@Mapper -public interface SmsLogDao extends BaseDao { - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsPlatformDao.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsPlatformDao.java deleted file mode 100644 index 1908b78..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/dao/SmsPlatformDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.maku.message.dao; - -import net.maku.framework.mybatis.dao.BaseDao; -import net.maku.message.entity.SmsPlatformEntity; -import org.apache.ibatis.annotations.Mapper; - -/** -* 短信平台 -* -* @author 阿沐 babamu@126.com -*/ -@Mapper -public interface SmsPlatformDao extends BaseDao { - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/query/SmsPlatformQuery.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/query/SmsPlatformQuery.java deleted file mode 100644 index c7e2d88..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/query/SmsPlatformQuery.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.maku.message.query; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import net.maku.framework.common.query.Query; - -/** -* 短信平台查询 -* -* @author 阿沐 babamu@126.com -*/ -@Data -@EqualsAndHashCode(callSuper = false) -@Schema(description = "短信平台查询") -public class SmsPlatformQuery extends Query { - @Schema(description = "平台类型 0:阿里云 1:腾讯云") - private Integer platform; - - @Schema(description = "短信签名") - private String signName; - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsLogService.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsLogService.java deleted file mode 100644 index 4b4de2a..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsLogService.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.maku.message.service; - -import net.maku.framework.common.utils.PageResult; -import net.maku.framework.mybatis.service.BaseService; -import net.maku.message.entity.SmsLogEntity; -import net.maku.message.query.SmsLogQuery; -import net.maku.message.vo.SmsLogVO; - -/** - * 短信日志 - * - * @author 阿沐 babamu@126.com - * MAKU - */ -public interface SmsLogService extends BaseService { - - PageResult page(SmsLogQuery query); - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsPlatformService.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsPlatformService.java deleted file mode 100644 index 94688a5..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/SmsPlatformService.java +++ /dev/null @@ -1,33 +0,0 @@ -package net.maku.message.service; - -import net.maku.framework.common.utils.PageResult; -import net.maku.framework.mybatis.service.BaseService; -import net.maku.message.entity.SmsPlatformEntity; -import net.maku.message.query.SmsPlatformQuery; -import net.maku.message.sms.config.SmsConfig; -import net.maku.message.vo.SmsPlatformVO; - -import java.util.List; - -/** - * 短信平台 - * - * @author 阿沐 babamu@126.com - * MAKU - */ -public interface SmsPlatformService extends BaseService { - - PageResult page(SmsPlatformQuery query); - - /** - * 启用的短信平台列表 - */ - List listByEnable(); - - void save(SmsPlatformVO vo); - - void update(SmsPlatformVO vo); - - void delete(List idList); - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsLogServiceImpl.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsLogServiceImpl.java deleted file mode 100644 index 96dd348..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsLogServiceImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.maku.message.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.AllArgsConstructor; -import net.maku.framework.common.utils.PageResult; -import net.maku.framework.mybatis.service.impl.BaseServiceImpl; -import net.maku.message.convert.SmsLogConvert; -import net.maku.message.dao.SmsLogDao; -import net.maku.message.entity.SmsLogEntity; -import net.maku.message.query.SmsLogQuery; -import net.maku.message.service.SmsLogService; -import net.maku.message.vo.SmsLogVO; -import org.springframework.stereotype.Service; - -/** - * 短信日志 - * - * @author 阿沐 babamu@126.com - * MAKU - */ -@Service -@AllArgsConstructor -public class SmsLogServiceImpl extends BaseServiceImpl implements SmsLogService { - - @Override - public PageResult page(SmsLogQuery query) { - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - return new PageResult<>(SmsLogConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } - - private LambdaQueryWrapper getWrapper(SmsLogQuery query){ - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(query.getPlatform() != null, SmsLogEntity::getPlatform, query.getPlatform()); - wrapper.like(query.getPlatformId() != null, SmsLogEntity::getPlatformId, query.getPlatformId()); - wrapper.orderByDesc(SmsLogEntity::getId); - return wrapper; - } - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsPlatformServiceImpl.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsPlatformServiceImpl.java deleted file mode 100644 index 7910f8f..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/service/impl/SmsPlatformServiceImpl.java +++ /dev/null @@ -1,91 +0,0 @@ -package net.maku.message.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.AllArgsConstructor; -import net.maku.framework.common.constant.Constant; -import net.maku.framework.common.utils.PageResult; -import net.maku.framework.mybatis.service.impl.BaseServiceImpl; -import net.maku.message.cache.SmsPlatformCache; -import net.maku.message.convert.SmsPlatformConvert; -import net.maku.message.dao.SmsPlatformDao; -import net.maku.message.entity.SmsPlatformEntity; -import net.maku.message.query.SmsPlatformQuery; -import net.maku.message.service.SmsPlatformService; -import net.maku.message.sms.config.SmsConfig; -import net.maku.message.vo.SmsPlatformVO; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 短信平台 - * - * @author 阿沐 babamu@126.com - * MAKU - */ -@Service -@AllArgsConstructor -public class SmsPlatformServiceImpl extends BaseServiceImpl implements SmsPlatformService { - private final SmsPlatformCache smsPlatformCache; - - @Override - public PageResult page(SmsPlatformQuery query) { - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - return new PageResult<>(SmsPlatformConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } - - private LambdaQueryWrapper getWrapper(SmsPlatformQuery query){ - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(query.getPlatform() != null, SmsPlatformEntity::getPlatform, query.getPlatform()); - wrapper.like(StrUtil.isNotBlank(query.getSignName()), SmsPlatformEntity::getSignName, query.getSignName()); - return wrapper; - } - - @Override - public List listByEnable() { - // 从缓存读取 - List cacheList = smsPlatformCache.list(); - - // 如果缓存没有,则从DB读取,然后保存到缓存里 - if(cacheList == null) { - List list = this.list(new LambdaQueryWrapper().in(SmsPlatformEntity::getStatus, Constant.ENABLE)); - - cacheList = SmsPlatformConvert.INSTANCE.convertList2(list); - smsPlatformCache.save(cacheList); - } - - return cacheList; - } - - @Override - public void save(SmsPlatformVO vo) { - SmsPlatformEntity entity = SmsPlatformConvert.INSTANCE.convert(vo); - - baseMapper.insert(entity); - - smsPlatformCache.delete(); - } - - @Override - public void update(SmsPlatformVO vo) { - SmsPlatformEntity entity = SmsPlatformConvert.INSTANCE.convert(vo); - - updateById(entity); - - smsPlatformCache.delete(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(List idList) { - removeByIds(idList); - - smsPlatformCache.delete(); - } - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/sms/service/SmsService.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/sms/service/SmsService.java deleted file mode 100644 index 5663f70..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/sms/service/SmsService.java +++ /dev/null @@ -1,108 +0,0 @@ -package net.maku.message.sms.service; - -import cn.hutool.core.map.MapUtil; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import net.maku.framework.common.constant.Constant; -import net.maku.framework.common.exception.ServerException; -import net.maku.framework.common.utils.ExceptionUtils; -import net.maku.framework.common.utils.JsonUtils; -import net.maku.message.entity.SmsLogEntity; -import net.maku.message.service.SmsLogService; -import net.maku.message.service.SmsPlatformService; -import net.maku.message.cache.SmsPlatformCache; -import net.maku.message.sms.SmsContext; -import net.maku.message.sms.config.SmsConfig; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Map; - -/** - * 短信服务 - * - * @author 阿沐 babamu@126.com - * MAKU - */ -@Slf4j -@Service -@AllArgsConstructor -public class SmsService { - private final SmsPlatformService smsPlatformService; - private final SmsLogService smsLogService; - private final SmsPlatformCache smsCacheService; - - /** - * 发送短信 - * @param mobile 手机号 - * @return 是否发送成功 - */ - public boolean send(String mobile){ - return this.send(mobile, MapUtil.newHashMap()); - } - - /** - * 发送短信 - * @param mobile 手机号 - * @param params 参数 - * @return 是否发送成功 - */ - public boolean send(String mobile, Map params){ - SmsConfig config = roundSmsConfig();; - - try { - // 发送短信 - new SmsContext(config).send(mobile, params); - - saveLog(config, mobile, params, null); - return true; - }catch (Exception e) { - log.error("短信发送失败,手机号:{}", mobile, e); - - saveLog(config, mobile, params, e); - - return false; - } - } - - /** - * 保存短信日志 - */ - public void saveLog(SmsConfig config, String mobile, Map params, Exception e) { - SmsLogEntity logEntity = new SmsLogEntity(); - logEntity.setPlatform(config.getPlatform()); - logEntity.setPlatformId(config.getId()); - logEntity.setMobile(mobile); - logEntity.setParams(JsonUtils.toJsonString(params)); - - if(e != null) { - String error = StringUtils.substring(ExceptionUtils.getExceptionMessage(e), 0, 2000); - logEntity.setStatus(Constant.FAIL); - logEntity.setError(error); - }else { - logEntity.setStatus(Constant.SUCCESS); - } - - smsLogService.save(logEntity); - } - - /** - * 通过轮询算法,获取短信平台的配置 - */ - private SmsConfig roundSmsConfig() { - List platformList = smsPlatformService.listByEnable(); - - // 是否有可用的短信平台 - int count = platformList.size(); - if(count == 0) { - throw new ServerException("没有可用的短信平台,请先添加"); - } - - // 采用轮询算法,发送短信 - long round = smsCacheService.getRoundValue(); - - return platformList.get((int)round % count); - } - -} diff --git a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/vo/SmsSendVO.java b/maku-boot-module/maku-module-message/src/main/java/net/maku/message/vo/SmsSendVO.java deleted file mode 100644 index 15b51b5..0000000 --- a/maku-boot-module/maku-module-message/src/main/java/net/maku/message/vo/SmsSendVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package net.maku.message.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; - -/** -* 短信发送 -* -* @author 阿沐 babamu@126.com -*/ -@Data -@Schema(description = "短信发送") -public class SmsSendVO implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(description = "id") - private Long id; - - @Schema(description = "手机号") - private String mobile; - - @Schema(description = "参数Key") - private String paramKey; - - @Schema(description = "参数Value") - private String paramValue; - -} \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/resources/mapper/SmsLogDao.xml b/maku-boot-module/maku-module-message/src/main/resources/mapper/SmsLogDao.xml deleted file mode 100644 index 4fbe9d4..0000000 --- a/maku-boot-module/maku-module-message/src/main/resources/mapper/SmsLogDao.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/maku-boot-module/maku-module-message/src/main/resources/mapper/SmsPlatformDao.xml b/maku-boot-module/maku-module-message/src/main/resources/mapper/SmsPlatformDao.xml deleted file mode 100644 index c0beb27..0000000 --- a/maku-boot-module/maku-module-message/src/main/resources/mapper/SmsPlatformDao.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file