From 24681c81c09022f584a57006f2534b5f74723414 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 30 六月 2026 09:27:31 +0800
Subject: [PATCH] 初始化项目
---
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/action/IotAlertTriggerSceneRuleAction.java | 37 ++++++++++++++++++++++++++++++++-----
1 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/action/IotAlertTriggerSceneRuleAction.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/action/IotAlertTriggerSceneRuleAction.java
index bc26436..937b8f6 100644
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/action/IotAlertTriggerSceneRuleAction.java
+++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/action/IotAlertTriggerSceneRuleAction.java
@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.iot.service.rule.scene.action;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
@@ -79,30 +80,38 @@
}
Map<String, Object> templateParams = buildTemplateParams(config, deviceMessage, device);
config.getReceiveUserIds().forEach(userId ->
- config.getReceiveTypes().forEach(receiveType -> sendAlertMessageToUser(userId, receiveType, templateParams)));
+ config.getReceiveTypes().forEach(receiveType ->
+ sendAlertMessageToUser(userId, receiveType, config, templateParams)));
}
/**
* 鎸夋寚瀹氭帴鏀舵柟寮忥紝缁欏崟涓敤鎴峰彂閫佸憡璀︽秷鎭�
*/
- private void sendAlertMessageToUser(Long userId, Integer receiveType, Map<String, Object> templateParams) {
+ private void sendAlertMessageToUser(Long userId, Integer receiveType, IotAlertConfigDO config,
+ Map<String, Object> templateParams) {
IotAlertReceiveTypeEnum typeEnum = IotAlertReceiveTypeEnum.of(receiveType);
if (typeEnum == null) {
return;
+ }
+ String templateCode = resolveTemplateCode(config, typeEnum);
+ if (StrUtil.isBlank(templateCode)) {//涓轰簡鍏煎鑰佺殑缁撴瀯
+ templateCode=typeEnum.getTemplateCode();
+ log.warn("[sendAlertMessageToUser][閰嶇疆({}) 鐢ㄦ埛({}) 鎺ユ敹鏂瑰紡({}) 鏈厤缃ā鏉匡紝浣跨敤榛樿妯℃澘锛坽}锛塢",
+ config.getId(), userId, typeEnum,templateCode);
}
try {
switch (typeEnum) {
case SMS:
smsSendApi.sendSingleSmsToAdmin(new SmsSendSingleToUserReqDTO().setUserId(userId)
- .setTemplateCode(typeEnum.getTemplateCode()).setTemplateParams(templateParams));
+ .setTemplateCode(templateCode).setTemplateParams(templateParams));
break;
case MAIL:
mailSendApi.sendSingleMailToAdmin(new MailSendSingleToUserReqDTO().setUserId(userId)
- .setTemplateCode(typeEnum.getTemplateCode()).setTemplateParams(templateParams));
+ .setTemplateCode(templateCode).setTemplateParams(templateParams));
break;
case NOTIFY:
notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO().setUserId(userId)
- .setTemplateCode(typeEnum.getTemplateCode()).setTemplateParams(templateParams));
+ .setTemplateCode(templateCode).setTemplateParams(templateParams));
break;
}
} catch (Exception ex) {
@@ -111,6 +120,24 @@
}
}
+ private String resolveTemplateCode(IotAlertConfigDO config, IotAlertReceiveTypeEnum typeEnum) {
+ String templateCode = null;
+ switch (typeEnum) {
+ case SMS:
+ templateCode = config.getSmsTemplateCode();
+ break;
+ case MAIL:
+ templateCode = config.getMailTemplateCode();
+ break;
+ case NOTIFY:
+ templateCode = config.getNotifyTemplateCode();
+ break;
+ default:
+ break;
+ }
+ return StrUtil.blankToDefault(templateCode, typeEnum.getTemplateCode());
+ }
+
private Map<String, Object> buildTemplateParams(IotAlertConfigDO config,
@Nullable IotDeviceMessage deviceMessage,
@Nullable IotDeviceDO device) {
--
Gitblit v1.9.3