From 5f2abdabbe8fa597238f7cf142f66ab298745c18 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 30 May 2026 22:06:02 +0800 Subject: [PATCH] feat: 优化 IoT 告警模板选择 --- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java | 10 ++++++---- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java | 8 +++++--- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java | 8 +++++--- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.java | 6 ++++++ yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyTemplateMapper.java | 6 ++++++ yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java | 6 ++++++ yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.java | 8 ++++++++ yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImpl.java | 15 ++++++++++++--- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateService.java | 5 +++-- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImpl.java | 5 ++--- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateService.java | 5 +++-- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java | 4 ++-- yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImplTest.java | 17 +++++++++++++++++ yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImplTest.java | 18 ++++++++++++++++++ yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImplTest.java | 16 ++++++++++++++++ 15 files changed, 115 insertions(+), 22 deletions(-) diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java index 52ac150..2b8d586 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.controller.admin.mail; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -80,10 +81,11 @@ public class MailTemplateController { return success(BeanUtils.toBean(pageResult, MailTemplateRespVO.class)); } - @GetMapping({"/list-all-simple", "simple-list"}) - @Operation(summary = "获得邮件模版精简列表") - public CommonResult> getSimpleTemplateList() { - List list = mailTempleService.getMailTemplateList(); + @GetMapping({"/list-all-simple", "/simple-list"}) + @Operation(summary = "获得邮件模版精简列表", description = "只包含被开启的邮件模版,主要用于前端的下拉选项") + public CommonResult> getSimpleMailTemplateList() { + List list = mailTempleService.getMailTemplateListByStatus( + CommonStatusEnum.ENABLE.getStatus()); return success(BeanUtils.toBean(list, MailTemplateSimpleRespVO.class)); } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java index 6000dd0..0aed501 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.controller.admin.notify; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -88,9 +89,10 @@ public class NotifyTemplateController { } @GetMapping({"/list-all-simple", "/simple-list"}) - @Operation(summary = "获得站内信模版精简列表") - public CommonResult> getSimpleTemplateList() { - List list = notifyTemplateService.getNotifyTemplateList(); + @Operation(summary = "获得站内信模版精简列表", description = "只包含被开启的站内信模版,主要用于前端的下拉选项") + public CommonResult> getSimpleNotifyTemplateList() { + List list = notifyTemplateService.getNotifyTemplateListByStatus( + CommonStatusEnum.ENABLE.getStatus()); return success(BeanUtils.toBean(list, NotifyTemplateSimpleRespVO.class)); } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java index c7854e9..0bd3bcc 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.controller.admin.sms; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -90,9 +91,10 @@ public class SmsTemplateController { } @GetMapping({"/list-all-simple", "/simple-list"}) - @Operation(summary = "获得短信模板精简列表") - public CommonResult> getSimpleTemplateList() { - List list = smsTemplateService.getSmsTemplateList(); + @Operation(summary = "获得短信模板精简列表", description = "只包含被开启的短信模板,主要用于前端的下拉选项") + public CommonResult> getSimpleSmsTemplateList() { + List list = smsTemplateService.getSmsTemplateListByStatus( + CommonStatusEnum.ENABLE.getStatus()); return success(BeanUtils.toBean(list, SmsTemplateSimpleRespVO.class)); } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.java index 1730e58..24911df 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.system.controller.admin.mail.vo.template.MailTemp import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface MailTemplateMapper extends BaseMapperX { @@ -28,4 +30,8 @@ public interface MailTemplateMapper extends BaseMapperX { return selectOne(MailTemplateDO::getCode, code); } + default List selectListByStatus(Integer status) { + return selectList(MailTemplateDO::getStatus, status); + } + } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyTemplateMapper.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyTemplateMapper.java index 1fcb8ee..d5ea599 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyTemplateMapper.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyTemplateMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.Notify import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyTemplateDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface NotifyTemplateMapper extends BaseMapperX { @@ -23,4 +25,8 @@ public interface NotifyTemplateMapper extends BaseMapperX { .orderByDesc(NotifyTemplateDO::getId)); } + default List selectListByStatus(Integer status) { + return selectList(NotifyTemplateDO::getStatus, status); + } + } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java index a9a1ebb..af69597 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTempla import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface SmsTemplateMapper extends BaseMapperX { @@ -30,4 +32,8 @@ public interface SmsTemplateMapper extends BaseMapperX { return selectCount(SmsTemplateDO::getChannelId, channelId); } + default List selectListByStatus(Integer status) { + return selectList(SmsTemplateDO::getStatus, status); + } + } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.java index 0ee9e2b..49c846f 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.java @@ -70,6 +70,14 @@ public interface MailTemplateService { List getMailTemplateList(); /** + * 获取指定状态的邮件模版数组 + * + * @param status 状态 + * @return 邮件模版数组 + */ + List getMailTemplateListByStatus(Integer status); + + /** * 从缓存中获取邮件模版 * * @param code 模板编码 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImpl.java index 2ee46db..2c3f413 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImpl.java @@ -113,7 +113,9 @@ public class MailTemplateServiceImpl implements MailTemplateService { } @Override - public MailTemplateDO getMailTemplate(Long id) {return mailTemplateMapper.selectById(id);} + public MailTemplateDO getMailTemplate(Long id) { + return mailTemplateMapper.selectById(id); + } @Override @Cacheable(value = RedisKeyConstants.MAIL_TEMPLATE, key = "#code", unless = "#result == null") @@ -127,7 +129,14 @@ public class MailTemplateServiceImpl implements MailTemplateService { } @Override - public List getMailTemplateList() {return mailTemplateMapper.selectList();} + public List getMailTemplateList() { + return mailTemplateMapper.selectList(); + } + + @Override + public List getMailTemplateListByStatus(Integer status) { + return mailTemplateMapper.selectListByStatus(status); + } @Override public String formatMailTemplateContent(String content, Map params) { @@ -236,4 +245,4 @@ public class MailTemplateServiceImpl implements MailTemplateService { return ReUtil.findAllGroup1(PATTERN_PARAMS, content); } -} \ No newline at end of file +} diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateService.java index 4947c5c..0d9135b 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateService.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateService.java @@ -70,11 +70,12 @@ public interface NotifyTemplateService { PageResult getNotifyTemplatePage(NotifyTemplatePageReqVO pageReqVO); /** - * 获得启用状态的站内信模版列表 + * 获得指定状态的站内信模版列表 * + * @param status 状态 * @return 站内信模版列表 */ - List getNotifyTemplateList(); + List getNotifyTemplateListByStatus(Integer status); /** * 格式化站内信内容 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImpl.java index 4e19430..4b1b70d 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImpl.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.system.service.notify; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.system.controller.admin.notify.vo.template.NotifyTemplatePageReqVO; @@ -117,8 +116,8 @@ public class NotifyTemplateServiceImpl implements NotifyTemplateService { } @Override - public List getNotifyTemplateList() { - return notifyTemplateMapper.selectList(NotifyTemplateDO::getStatus, CommonStatusEnum.ENABLE.getStatus()); + public List getNotifyTemplateListByStatus(Integer status) { + return notifyTemplateMapper.selectListByStatus(status); } @VisibleForTesting diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateService.java index 320adc0..f26fe7b 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateService.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateService.java @@ -71,11 +71,12 @@ public interface SmsTemplateService { PageResult getSmsTemplatePage(SmsTemplatePageReqVO pageReqVO); /** - * 获得启用状态的短信模板列表 + * 获得指定状态的短信模板列表 * + * @param status 状态 * @return 短信模板列表 */ - List getSmsTemplateList(); + List getSmsTemplateListByStatus(Integer status); /** * 获得指定短信渠道下的短信模板数量 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java index b9661af..bf1dbb3 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java @@ -131,8 +131,8 @@ public class SmsTemplateServiceImpl implements SmsTemplateService { } @Override - public List getSmsTemplateList() { - return smsTemplateMapper.selectList(SmsTemplateDO::getStatus, CommonStatusEnum.ENABLE.getStatus()); + public List getSmsTemplateListByStatus(Integer status) { + return smsTemplateMapper.selectListByStatus(status); } @Override diff --git a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImplTest.java b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImplTest.java index fa9b709..af0211e 100755 --- a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImplTest.java +++ b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImplTest.java @@ -157,6 +157,23 @@ public class MailTemplateServiceImplTest extends BaseDbUnitTest { } @Test + public void testGetMailTemplateListByStatus() { + // mock 数据 + MailTemplateDO dbMailTemplate = randomPojo(MailTemplateDO.class, + o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus())); + mailTemplateMapper.insert(dbMailTemplate); + mailTemplateMapper.insert(cloneIgnoreId(dbMailTemplate, + o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); + + // 调用 + List list = mailTemplateService.getMailTemplateListByStatus( + CommonStatusEnum.ENABLE.getStatus()); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbMailTemplate, list.get(0)); + } + + @Test public void testGetMailTemplate() { // mock 数据 MailTemplateDO dbMailTemplate = randomPojo(MailTemplateDO.class); diff --git a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImplTest.java b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImplTest.java index ba1f98e..6217a6f 100644 --- a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImplTest.java +++ b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImplTest.java @@ -12,6 +12,7 @@ import org.springframework.context.annotation.Import; import jakarta.annotation.Resource; import java.util.HashMap; +import java.util.List; import java.util.Map; import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; @@ -137,6 +138,23 @@ public class NotifyTemplateServiceImplTest extends BaseDbUnitTest { } @Test + public void testGetNotifyTemplateListByStatus() { + // mock 数据 + NotifyTemplateDO dbNotifyTemplate = randomPojo(NotifyTemplateDO.class, + o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus())); + notifyTemplateMapper.insert(dbNotifyTemplate); + notifyTemplateMapper.insert(cloneIgnoreId(dbNotifyTemplate, + o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); + + // 调用 + List list = notifyTemplateService.getNotifyTemplateListByStatus( + CommonStatusEnum.ENABLE.getStatus()); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbNotifyTemplate, list.get(0)); + } + + @Test public void testGetNotifyTemplate() { // mock 数据 NotifyTemplateDO dbNotifyTemplate = randomPojo(NotifyTemplateDO.class); diff --git a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImplTest.java b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImplTest.java index 344f566..5847b79 100644 --- a/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImplTest.java +++ b/yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImplTest.java @@ -245,6 +245,22 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest { } @Test + public void testGetSmsTemplateListByStatus() { + // mock 数据 + SmsTemplateDO dbSmsTemplate = randomSmsTemplateDO(o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus())); + smsTemplateMapper.insert(dbSmsTemplate); + smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, + o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); + + // 调用 + List list = smsTemplateService.getSmsTemplateListByStatus( + CommonStatusEnum.ENABLE.getStatus()); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbSmsTemplate, list.get(0)); + } + + @Test public void testGetSmsTemplateCountByChannelId() { // mock 数据 SmsTemplateDO dbSmsTemplate = randomPojo(SmsTemplateDO.class, o -> o.setChannelId(1L)); -- libgit2 0.21.4