|
|
|
|
@ -1,7 +1,12 @@
|
|
|
|
|
package cn.iocoder.yudao.module.system.service.sms;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
|
|
|
|
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
|
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SmsLogExportReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SmsLogPageReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsLogDO;
|
|
|
|
|
@ -10,11 +15,6 @@ import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsLogMapper;
|
|
|
|
|
import cn.iocoder.yudao.module.system.enums.sms.SmsReceiveStatusEnum;
|
|
|
|
|
import cn.iocoder.yudao.module.system.enums.sms.SmsSendStatusEnum;
|
|
|
|
|
import cn.iocoder.yudao.module.system.enums.sms.SmsTemplateTypeEnum;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
|
|
|
|
|
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.springframework.context.annotation.Import;
|
|
|
|
|
|
|
|
|
|
@ -27,7 +27,6 @@ import java.util.function.Consumer;
|
|
|
|
|
import static cn.hutool.core.util.RandomUtil.randomBoolean;
|
|
|
|
|
import static cn.hutool.core.util.RandomUtil.randomEle;
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildLocalDateTime;
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
|
|
|
|
|
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
|
|
|
|
|
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
|
@ -44,47 +43,49 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testGetSmsLogPage() {
|
|
|
|
|
// mock 数据
|
|
|
|
|
SmsLogDO dbSmsLog = randomSmsLogDO(o -> { // 等会查询到
|
|
|
|
|
o.setChannelId(1L);
|
|
|
|
|
o.setTemplateId(10L);
|
|
|
|
|
o.setMobile("15601691300");
|
|
|
|
|
o.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
|
|
|
|
|
o.setSendTime(buildLocalDateTime(2020, 11, 11));
|
|
|
|
|
o.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
|
|
|
|
|
o.setReceiveTime(buildLocalDateTime(2021, 11, 11));
|
|
|
|
|
});
|
|
|
|
|
smsLogMapper.insert(dbSmsLog);
|
|
|
|
|
// 测试 channelId 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setChannelId(2L)));
|
|
|
|
|
// 测试 templateId 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setTemplateId(20L)));
|
|
|
|
|
// 测试 mobile 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setMobile("18818260999")));
|
|
|
|
|
// 测试 sendStatus 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendStatus(SmsSendStatusEnum.IGNORE.getStatus())));
|
|
|
|
|
// 测试 sendTime 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendTime(buildLocalDateTime(2020, 12, 12))));
|
|
|
|
|
// 测试 receiveStatus 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveStatus(SmsReceiveStatusEnum.SUCCESS.getStatus())));
|
|
|
|
|
// 测试 receiveTime 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildLocalDateTime(2021, 12, 12))));
|
|
|
|
|
// 准备参数
|
|
|
|
|
SmsLogPageReqVO reqVO = new SmsLogPageReqVO();
|
|
|
|
|
reqVO.setChannelId(1L);
|
|
|
|
|
reqVO.setTemplateId(10L);
|
|
|
|
|
reqVO.setMobile("156");
|
|
|
|
|
reqVO.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
|
|
|
|
|
reqVO.setSendTime((new LocalDateTime[]{buildLocalDateTime(2020, 11, 1), buildLocalDateTime(2020, 11, 30)}));
|
|
|
|
|
reqVO.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
|
|
|
|
|
reqVO.setReceiveTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1), buildLocalDateTime(2021, 11, 30)}));
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
PageResult<SmsLogDO> pageResult = smsLogService.getSmsLogPage(reqVO);
|
|
|
|
|
// 断言
|
|
|
|
|
assertEquals(1, pageResult.getTotal());
|
|
|
|
|
assertEquals(1, pageResult.getList().size());
|
|
|
|
|
assertPojoEquals(dbSmsLog, pageResult.getList().get(0));
|
|
|
|
|
// mock 数据
|
|
|
|
|
SmsLogDO dbSmsLog = randomSmsLogDO(o -> { // 等会查询到
|
|
|
|
|
o.setChannelId(1L);
|
|
|
|
|
o.setTemplateId(10L);
|
|
|
|
|
o.setMobile("15601691300");
|
|
|
|
|
o.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
|
|
|
|
|
o.setSendTime(buildLocalDateTime(2020, 11, 11));
|
|
|
|
|
o.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
|
|
|
|
|
o.setReceiveTime(buildLocalDateTime(2021, 11, 11));
|
|
|
|
|
});
|
|
|
|
|
smsLogMapper.insert(dbSmsLog);
|
|
|
|
|
// 测试 channelId 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setChannelId(2L)));
|
|
|
|
|
// 测试 templateId 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setTemplateId(20L)));
|
|
|
|
|
// 测试 mobile 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setMobile("18818260999")));
|
|
|
|
|
// 测试 sendStatus 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendStatus(SmsSendStatusEnum.IGNORE.getStatus())));
|
|
|
|
|
// 测试 sendTime 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setSendTime(buildLocalDateTime(2020, 12, 12))));
|
|
|
|
|
// 测试 receiveStatus 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveStatus(SmsReceiveStatusEnum.SUCCESS.getStatus())));
|
|
|
|
|
// 测试 receiveTime 不匹配
|
|
|
|
|
smsLogMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsLog, o -> o.setReceiveTime(buildLocalDateTime(2021, 12, 12))));
|
|
|
|
|
// 准备参数
|
|
|
|
|
SmsLogPageReqVO reqVO = new SmsLogPageReqVO();
|
|
|
|
|
reqVO.setChannelId(1L);
|
|
|
|
|
reqVO.setTemplateId(10L);
|
|
|
|
|
reqVO.setMobile("156");
|
|
|
|
|
reqVO.setSendStatus(SmsSendStatusEnum.INIT.getStatus());
|
|
|
|
|
reqVO.setSendTime((new LocalDateTime[]{buildLocalDateTime(2020, 11, 1),
|
|
|
|
|
buildLocalDateTime(2020, 11, 30)}));
|
|
|
|
|
reqVO.setReceiveStatus(SmsReceiveStatusEnum.INIT.getStatus());
|
|
|
|
|
reqVO.setReceiveTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1),
|
|
|
|
|
buildLocalDateTime(2021, 11, 30)}));
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
PageResult<SmsLogDO> pageResult = smsLogService.getSmsLogPage(reqVO);
|
|
|
|
|
// 断言
|
|
|
|
|
assertEquals(1, pageResult.getTotal());
|
|
|
|
|
assertEquals(1, pageResult.getList().size());
|
|
|
|
|
assertPojoEquals(dbSmsLog, pageResult.getList().get(0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
@ -126,11 +127,11 @@ public class SmsLogServiceTest extends BaseDbUnitTest {
|
|
|
|
|
reqVO.setReceiveTime((new LocalDateTime[]{buildLocalDateTime(2021, 11, 1),
|
|
|
|
|
buildLocalDateTime(2021, 11, 30)}));
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
List<SmsLogDO> list = smsLogService.getSmsLogList(reqVO);
|
|
|
|
|
// 断言
|
|
|
|
|
assertEquals(1, list.size());
|
|
|
|
|
assertPojoEquals(dbSmsLog, list.get(0));
|
|
|
|
|
// 调用
|
|
|
|
|
List<SmsLogDO> list = smsLogService.getSmsLogList(reqVO);
|
|
|
|
|
// 断言
|
|
|
|
|
assertEquals(1, list.size());
|
|
|
|
|
assertPojoEquals(dbSmsLog, list.get(0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|