mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
1、sonarqube质量修复;2、短信模板增删查询移除短信渠道相关内容;
This commit is contained in:
-3
@@ -32,9 +32,6 @@ public class SmsTemplatePageReqVO extends PageParam {
|
||||
@Schema(description = "短信 API 的模板编号,模糊匹配", example = "4383920")
|
||||
private String apiTemplateId;
|
||||
|
||||
@Schema(description = "短信渠道编号", example = "10")
|
||||
private Long channelId;
|
||||
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@Schema(description = "创建时间")
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
-9
@@ -53,15 +53,6 @@ public class SmsTemplateRespVO {
|
||||
@ExcelProperty("短信 API 的模板编号")
|
||||
private String apiTemplateId;
|
||||
|
||||
@Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@ExcelProperty("短信渠道编号")
|
||||
private Long channelId;
|
||||
|
||||
@Schema(description = "短信渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ALIYUN")
|
||||
@ExcelProperty(value = "短信渠道编码", converter = DictConvert.class)
|
||||
@DictFormat(DictTypeConstants.SMS_CHANNEL_CODE)
|
||||
private String channelCode;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
-4
@@ -44,8 +44,4 @@ public class SmsTemplateSaveReqVO {
|
||||
@Length(min = 1, max = 64, message = "短信 API 的模板编号长度不能超过64个字符")
|
||||
private String apiTemplateId;
|
||||
|
||||
@Schema(description = "短信渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@NotNull(message = "短信渠道编号不能为空")
|
||||
private Long channelId;
|
||||
|
||||
}
|
||||
|
||||
-1
@@ -21,7 +21,6 @@ public interface SmsTemplateMapper extends BaseMapperX<SmsTemplateDO> {
|
||||
.likeIfPresent(SmsTemplateDO::getCode, reqVO.getCode())
|
||||
.likeIfPresent(SmsTemplateDO::getContent, reqVO.getContent())
|
||||
.likeIfPresent(SmsTemplateDO::getApiTemplateId, reqVO.getApiTemplateId())
|
||||
.eqIfPresent(SmsTemplateDO::getChannelId, reqVO.getChannelId())
|
||||
.betweenIfPresent(SmsTemplateDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(SmsTemplateDO::getId));
|
||||
}
|
||||
|
||||
+7
-14
@@ -2,6 +2,7 @@ package com.cf.imes.module.system.service.sms;
|
||||
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
||||
@@ -30,8 +31,6 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
|
||||
/**
|
||||
* 短信模板 Service 实现类
|
||||
*
|
||||
@@ -55,17 +54,14 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
|
||||
|
||||
@Override
|
||||
public Long createSmsTemplate(SmsTemplateSaveReqVO createReqVO) {
|
||||
// 校验短信渠道
|
||||
SmsChannelDO channelDO = validateSmsChannel(createReqVO.getChannelId());
|
||||
// 校验短信编码是否重复
|
||||
validateSmsTemplateCodeDuplicate(null, createReqVO.getCode());
|
||||
// 校验短信模板
|
||||
validateApiTemplate(createReqVO.getChannelId(), createReqVO.getApiTemplateId());
|
||||
validateApiTemplate(createReqVO.getApiTemplateId());
|
||||
|
||||
// 插入
|
||||
SmsTemplateDO template = BeanUtils.toBean(createReqVO, SmsTemplateDO.class);
|
||||
template.setParams(parseTemplateContentParams(template.getContent()));
|
||||
template.setChannelCode(channelDO.getCode());
|
||||
smsTemplateMapper.insert(template);
|
||||
// 返回
|
||||
return template.getId();
|
||||
@@ -77,17 +73,14 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
|
||||
public void updateSmsTemplate(SmsTemplateSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateSmsTemplateExists(updateReqVO.getId());
|
||||
// 校验短信渠道
|
||||
SmsChannelDO channelDO = validateSmsChannel(updateReqVO.getChannelId());
|
||||
// 校验短信编码是否重复
|
||||
validateSmsTemplateCodeDuplicate(updateReqVO.getId(), updateReqVO.getCode());
|
||||
// 校验短信模板
|
||||
validateApiTemplate(updateReqVO.getChannelId(), updateReqVO.getApiTemplateId());
|
||||
validateApiTemplate(updateReqVO.getApiTemplateId());
|
||||
|
||||
// 更新
|
||||
SmsTemplateDO updateObj = BeanUtils.toBean(updateReqVO, SmsTemplateDO.class);
|
||||
updateObj.setParams(parseTemplateContentParams(updateObj.getContent()));
|
||||
updateObj.setChannelCode(channelDO.getCode());
|
||||
smsTemplateMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@@ -159,14 +152,14 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
|
||||
/**
|
||||
* 校验 API 短信平台的模板是否有效
|
||||
*
|
||||
* @param channelId 渠道编号
|
||||
* @param apiTemplateId API 模板编号
|
||||
*/
|
||||
@VisibleForTesting
|
||||
void validateApiTemplate(Long channelId, String apiTemplateId) {
|
||||
void validateApiTemplate(String apiTemplateId) {
|
||||
// 获得短信模板
|
||||
SmsClient smsClient = smsChannelService.getSmsClient();
|
||||
Assert.notNull(smsClient, String.format("短信客户端(%d) 不存在", channelId));
|
||||
if (ObjectUtil.isNull(smsClient)) {
|
||||
throw ServiceExceptionUtil.exception(ErrorCodeConstants.SMS_CHANNEL_NOT_EXISTS);
|
||||
}
|
||||
SmsTemplateRespDTO template;
|
||||
try {
|
||||
template = smsClient.getSmsTemplate(apiTemplateId);
|
||||
|
||||
+2
-17
@@ -84,14 +84,8 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
o.setType(randomEle(SmsTemplateTypeEnum.values()).getType()); // 保证 type 的 范围
|
||||
}).setId(null); // 防止 id 被赋值
|
||||
// mock Channel 的方法
|
||||
SmsChannelDO channelDO = randomPojo(SmsChannelDO.class, o -> {
|
||||
o.setId(reqVO.getChannelId());
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 保证 status 开启,创建必须处于这个状态
|
||||
});
|
||||
when(smsChannelService.getSmsChannel(eq(channelDO.getId()))).thenReturn(channelDO);
|
||||
// mock 获得 API 短信模板成功
|
||||
when(smsChannelService.getSmsClient(eq(reqVO.getChannelId()))).thenReturn(smsClient);
|
||||
when(smsChannelService.getSmsClient()).thenReturn(smsClient);
|
||||
when(smsClient.getSmsTemplate(eq(reqVO.getApiTemplateId()))).thenReturn(
|
||||
randomPojo(SmsTemplateRespDTO.class, o -> o.setAuditStatus(SmsTemplateAuditStatusEnum.SUCCESS.getStatus())));
|
||||
|
||||
@@ -103,7 +97,6 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
SmsTemplateDO smsTemplate = smsTemplateMapper.selectById(smsTemplateId);
|
||||
assertPojoEquals(reqVO, smsTemplate, "id");
|
||||
assertEquals(Lists.newArrayList("operation", "code"), smsTemplate.getParams());
|
||||
assertEquals(channelDO.getCode(), smsTemplate.getChannelCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -119,14 +112,8 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
||||
o.setType(randomEle(SmsTemplateTypeEnum.values()).getType()); // 保证 type 的 范围
|
||||
});
|
||||
// mock 方法
|
||||
SmsChannelDO channelDO = randomPojo(SmsChannelDO.class, o -> {
|
||||
o.setId(reqVO.getChannelId());
|
||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 保证 status 开启,创建必须处于这个状态
|
||||
});
|
||||
when(smsChannelService.getSmsChannel(eq(channelDO.getId()))).thenReturn(channelDO);
|
||||
// mock 获得 API 短信模板成功
|
||||
when(smsChannelService.getSmsClient(eq(reqVO.getChannelId()))).thenReturn(smsClient);
|
||||
when(smsChannelService.getSmsClient()).thenReturn(smsClient);
|
||||
when(smsClient.getSmsTemplate(eq(reqVO.getApiTemplateId()))).thenReturn(
|
||||
randomPojo(SmsTemplateRespDTO.class, o -> o.setAuditStatus(SmsTemplateAuditStatusEnum.SUCCESS.getStatus())));
|
||||
|
||||
@@ -136,7 +123,6 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
SmsTemplateDO smsTemplate = smsTemplateMapper.selectById(reqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(reqVO, smsTemplate);
|
||||
assertEquals(Lists.newArrayList("operation", "code"), smsTemplate.getParams());
|
||||
assertEquals(channelDO.getCode(), smsTemplate.getChannelCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -233,7 +219,6 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
reqVO.setCode("tu");
|
||||
reqVO.setContent("晨丰");
|
||||
reqVO.setApiTemplateId("yu");
|
||||
reqVO.setChannelId(1L);
|
||||
reqVO.setCreateTime(buildBetweenTime(2021, 11, 1, 2021, 12, 1));
|
||||
|
||||
// 调用
|
||||
|
||||
Reference in New Issue
Block a user