mirror of
https://gitee.com/yudaocode/yudao-boot-mini.git
synced 2026-10-06 06:12:58 +08:00
feat: 优化 IoT 告警模板选择
- 后端 mail/sms/notify 模板 simple-list 仅返回启用模板精简字段 - 前端补充 mail/sms/notify 模板 simple-list API 封装 - vue3 与 vben antd/ele 在各自 system 模块封装模板选择组件 - IoT 告警配置按接收类型动态选择短信、邮件、站内信模板 - 补充前端 IotAlertReceiveTypeEnum,替换表单内裸常量
This commit is contained in:
+6
-4
@@ -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<List<MailTemplateSimpleRespVO>> getSimpleTemplateList() {
|
||||
List<MailTemplateDO> list = mailTempleService.getMailTemplateList();
|
||||
@GetMapping({"/list-all-simple", "/simple-list"})
|
||||
@Operation(summary = "获得邮件模版精简列表", description = "只包含被开启的邮件模版,主要用于前端的下拉选项")
|
||||
public CommonResult<List<MailTemplateSimpleRespVO>> getSimpleMailTemplateList() {
|
||||
List<MailTemplateDO> list = mailTempleService.getMailTemplateListByStatus(
|
||||
CommonStatusEnum.ENABLE.getStatus());
|
||||
return success(BeanUtils.toBean(list, MailTemplateSimpleRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -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<List<NotifyTemplateSimpleRespVO>> getSimpleTemplateList() {
|
||||
List<NotifyTemplateDO> list = notifyTemplateService.getNotifyTemplateList();
|
||||
@Operation(summary = "获得站内信模版精简列表", description = "只包含被开启的站内信模版,主要用于前端的下拉选项")
|
||||
public CommonResult<List<NotifyTemplateSimpleRespVO>> getSimpleNotifyTemplateList() {
|
||||
List<NotifyTemplateDO> list = notifyTemplateService.getNotifyTemplateListByStatus(
|
||||
CommonStatusEnum.ENABLE.getStatus());
|
||||
return success(BeanUtils.toBean(list, NotifyTemplateSimpleRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -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<List<SmsTemplateSimpleRespVO>> getSimpleTemplateList() {
|
||||
List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList();
|
||||
@Operation(summary = "获得短信模板精简列表", description = "只包含被开启的短信模板,主要用于前端的下拉选项")
|
||||
public CommonResult<List<SmsTemplateSimpleRespVO>> getSimpleSmsTemplateList() {
|
||||
List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateListByStatus(
|
||||
CommonStatusEnum.ENABLE.getStatus());
|
||||
return success(BeanUtils.toBean(list, SmsTemplateSimpleRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
+6
@@ -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<MailTemplateDO> {
|
||||
|
||||
@@ -28,4 +30,8 @@ public interface MailTemplateMapper extends BaseMapperX<MailTemplateDO> {
|
||||
return selectOne(MailTemplateDO::getCode, code);
|
||||
}
|
||||
|
||||
default List<MailTemplateDO> selectListByStatus(Integer status) {
|
||||
return selectList(MailTemplateDO::getStatus, status);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -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<NotifyTemplateDO> {
|
||||
|
||||
@@ -23,4 +25,8 @@ public interface NotifyTemplateMapper extends BaseMapperX<NotifyTemplateDO> {
|
||||
.orderByDesc(NotifyTemplateDO::getId));
|
||||
}
|
||||
|
||||
default List<NotifyTemplateDO> selectListByStatus(Integer status) {
|
||||
return selectList(NotifyTemplateDO::getStatus, status);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -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<SmsTemplateDO> {
|
||||
|
||||
@@ -30,4 +32,8 @@ public interface SmsTemplateMapper extends BaseMapperX<SmsTemplateDO> {
|
||||
return selectCount(SmsTemplateDO::getChannelId, channelId);
|
||||
}
|
||||
|
||||
default List<SmsTemplateDO> selectListByStatus(Integer status) {
|
||||
return selectList(SmsTemplateDO::getStatus, status);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+8
@@ -69,6 +69,14 @@ public interface MailTemplateService {
|
||||
*/
|
||||
List<MailTemplateDO> getMailTemplateList();
|
||||
|
||||
/**
|
||||
* 获取指定状态的邮件模版数组
|
||||
*
|
||||
* @param status 状态
|
||||
* @return 邮件模版数组
|
||||
*/
|
||||
List<MailTemplateDO> getMailTemplateListByStatus(Integer status);
|
||||
|
||||
/**
|
||||
* 从缓存中获取邮件模版
|
||||
*
|
||||
|
||||
+12
-3
@@ -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<MailTemplateDO> getMailTemplateList() {return mailTemplateMapper.selectList();}
|
||||
public List<MailTemplateDO> getMailTemplateList() {
|
||||
return mailTemplateMapper.selectList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MailTemplateDO> getMailTemplateListByStatus(Integer status) {
|
||||
return mailTemplateMapper.selectListByStatus(status);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String formatMailTemplateContent(String content, Map<String, Object> params) {
|
||||
@@ -236,4 +245,4 @@ public class MailTemplateServiceImpl implements MailTemplateService {
|
||||
return ReUtil.findAllGroup1(PATTERN_PARAMS, content);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -70,11 +70,12 @@ public interface NotifyTemplateService {
|
||||
PageResult<NotifyTemplateDO> getNotifyTemplatePage(NotifyTemplatePageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得启用状态的站内信模版列表
|
||||
* 获得指定状态的站内信模版列表
|
||||
*
|
||||
* @param status 状态
|
||||
* @return 站内信模版列表
|
||||
*/
|
||||
List<NotifyTemplateDO> getNotifyTemplateList();
|
||||
List<NotifyTemplateDO> getNotifyTemplateListByStatus(Integer status);
|
||||
|
||||
/**
|
||||
* 格式化站内信内容
|
||||
|
||||
+2
-3
@@ -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<NotifyTemplateDO> getNotifyTemplateList() {
|
||||
return notifyTemplateMapper.selectList(NotifyTemplateDO::getStatus, CommonStatusEnum.ENABLE.getStatus());
|
||||
public List<NotifyTemplateDO> getNotifyTemplateListByStatus(Integer status) {
|
||||
return notifyTemplateMapper.selectListByStatus(status);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
||||
+3
-2
@@ -71,11 +71,12 @@ public interface SmsTemplateService {
|
||||
PageResult<SmsTemplateDO> getSmsTemplatePage(SmsTemplatePageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得启用状态的短信模板列表
|
||||
* 获得指定状态的短信模板列表
|
||||
*
|
||||
* @param status 状态
|
||||
* @return 短信模板列表
|
||||
*/
|
||||
List<SmsTemplateDO> getSmsTemplateList();
|
||||
List<SmsTemplateDO> getSmsTemplateListByStatus(Integer status);
|
||||
|
||||
/**
|
||||
* 获得指定短信渠道下的短信模板数量
|
||||
|
||||
+2
-2
@@ -131,8 +131,8 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SmsTemplateDO> getSmsTemplateList() {
|
||||
return smsTemplateMapper.selectList(SmsTemplateDO::getStatus, CommonStatusEnum.ENABLE.getStatus());
|
||||
public List<SmsTemplateDO> getSmsTemplateListByStatus(Integer status) {
|
||||
return smsTemplateMapper.selectListByStatus(status);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+17
@@ -156,6 +156,23 @@ public class MailTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
assertEquals(dbMailTemplate02, list.get(1));
|
||||
}
|
||||
|
||||
@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<MailTemplateDO> list = mailTemplateService.getMailTemplateListByStatus(
|
||||
CommonStatusEnum.ENABLE.getStatus());
|
||||
// 断言
|
||||
assertEquals(1, list.size());
|
||||
assertPojoEquals(dbMailTemplate, list.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMailTemplate() {
|
||||
// mock 数据
|
||||
|
||||
+18
@@ -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;
|
||||
@@ -136,6 +137,23 @@ public class NotifyTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
assertPojoEquals(dbNotifyTemplate, pageResult.getList().get(0));
|
||||
}
|
||||
|
||||
@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<NotifyTemplateDO> list = notifyTemplateService.getNotifyTemplateListByStatus(
|
||||
CommonStatusEnum.ENABLE.getStatus());
|
||||
// 断言
|
||||
assertEquals(1, list.size());
|
||||
assertPojoEquals(dbNotifyTemplate, list.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetNotifyTemplate() {
|
||||
// mock 数据
|
||||
|
||||
+16
@@ -244,6 +244,22 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
||||
assertPojoEquals(dbSmsTemplate, pageResult.getList().get(0));
|
||||
}
|
||||
|
||||
@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<SmsTemplateDO> list = smsTemplateService.getSmsTemplateListByStatus(
|
||||
CommonStatusEnum.ENABLE.getStatus());
|
||||
// 断言
|
||||
assertEquals(1, list.size());
|
||||
assertPojoEquals(dbSmsTemplate, list.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSmsTemplateCountByChannelId() {
|
||||
// mock 数据
|
||||
|
||||
Reference in New Issue
Block a user