From 022dbac006780e602032899146cc6a00f7b9a05b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 21 Mar 2024 14:16:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=B3=BB=E7=BB=9F=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/prod/2024-3-18-变更.sql | 4 ++++ .../message/entity/SysMessageTemplate.java | 6 ++++++ .../modules/message/handle/ISendMsgHandle.java | 2 +- .../message/handle/impl/EmailSendMsgHandle.java | 2 +- .../message/handle/impl/SmsSendMsgHandle.java | 4 +++- .../message/handle/impl/WxSendMsgHandle.java | 2 +- .../modules/system/controller/job/SendMsgJob.java | 2 +- .../system/service/impl/SysBaseApiImpl.java | 2 +- .../hiwork/handle/DingDingSendMsgHandle.java | 2 +- .../hiwork/handle/SystemSendMsgHandle.java | 2 +- .../service/impl/SendMessageServiceImpl.java | 15 +++++++++++++-- 11 files changed, 33 insertions(+), 10 deletions(-) diff --git a/db/prod/2024-3-18-变更.sql b/db/prod/2024-3-18-变更.sql index 02b97c4a..1fbd0f6a 100644 --- a/db/prod/2024-3-18-变更.sql +++ b/db/prod/2024-3-18-变更.sql @@ -38,6 +38,10 @@ INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by, create_time, is_tag_dict, is_read_only, del_flag) VALUES ('1769605071110258690', '1769604615294271489', 'D', '4', '', 4, 1, 'admin', '2024-03-18 14:01:41', 0, 0, 0); INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, `status`, create_by, create_time, is_tag_dict, is_read_only, del_flag) VALUES ('1769605104899571714', '1769604615294271489', 'E', '5', '', 5, 1, 'admin', '2024-03-18 14:01:49', 0, 0, 0); +# 消息模板添加跳转相关参数 +ALTER TABLE `sys_sms_template` + ADD COLUMN `open_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '打开方式(组件:component 路由:url)' AFTER `update_by`, + ADD COLUMN `open_page` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件/路由 地址' AFTER `open_type`; -- 2024 0318 菜单:专项项目库 -> 法规评估库 diff --git a/laws-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java b/laws-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java index 89979b98..f2a06143 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java @@ -37,4 +37,10 @@ public class SysMessageTemplate extends JeroEntity { @Excel(name = "模板类型", width = 15) @Dict(dicCode = "msgType") private java.lang.String templateType; + + /**打开方式(组件:component 路由:url)*/ + private java.lang.String openType; + + /**组件/路由 地址*/ + private java.lang.String openPage; } diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java index 94e994ec..364addf0 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java @@ -2,5 +2,5 @@ package com.jero.modules.message.handle; public interface ISendMsgHandle { - void SendMsg(String esReceiver, String esTitle, String esContent); + void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage); } diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java index 4ac5421f..874d275b 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java @@ -18,7 +18,7 @@ public class EmailSendMsgHandle implements ISendMsgHandle { } @Override - public void SendMsg(String esReceiver, String esTitle, String esContent) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { JavaMailSender mailSender = (JavaMailSender) SpringContextUtils.getBean("mailSender"); MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = null; diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java index dd292369..c5af6f0a 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java @@ -16,7 +16,7 @@ import java.util.Date; public class SmsSendMsgHandle implements ISendMsgHandle { @Override - public void SendMsg(String esReceiver, String esTitle, String esContent) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { ISysAnnouncementService bean = SpringContextUtils.getBean(ISysAnnouncementService.class); String id = UUIDUtils.randomUUID20(); SysAnnouncement sysAnnouncement = new SysAnnouncement(); @@ -37,6 +37,8 @@ public class SmsSendMsgHandle implements ISendMsgHandle { sysAnnouncement.setSendTime(new Date()); sysAnnouncement.setDelFlag("0"); sysAnnouncement.setUserIds(esReceiver); + sysAnnouncement.setOpenType(openType); + sysAnnouncement.setOpenPage(openPage); log.info("发送Local系统消息: {}", JSONObject.toJSONString(sysAnnouncement)); diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java index 6e50283f..7dfdbe61 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java @@ -6,7 +6,7 @@ import com.jero.modules.message.handle.ISendMsgHandle; public class WxSendMsgHandle implements ISendMsgHandle { @Override - public void SendMsg(String esReceiver, String esTitle, String esContent) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { // TODO Auto-generated method stub log.info("发微信消息模板"); } diff --git a/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java b/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java index 8a5ea52d..23d50453 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java @@ -58,7 +58,7 @@ public class SendMsgJob implements Job { throw new NullPointerException(); } sendMsgHandle.SendMsg(sysMessage.getEsReceiver(), sysMessage.getEsTitle(), - sysMessage.getEsContent()); + sysMessage.getEsContent(), null, null); // 发送消息成功 sysMessage.setEsSendStatus(SendMsgStatusEnum.SUCCESS.getCode()); } catch (Exception e) { diff --git a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index eea285b8..a8e77be2 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -1050,7 +1050,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public void sendEmailMsg(String email, String title, String content) { EmailSendMsgHandle emailHandle=new EmailSendMsgHandle(); - emailHandle.SendMsg(email, title, content); + emailHandle.SendMsg(email, title, content, null, null); } /** diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java index 297ff3d1..ddb05f3e 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java @@ -22,7 +22,7 @@ public class DingDingSendMsgHandle implements ISendMsgHandle { * @Description: Hiwork钉钉消息 **/ @Override - public void SendMsg(String esReceiver, String esTitle, String esContent) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class); hiworkMsgService.sendDingDingMsg(Arrays.asList(esReceiver.split(",")), esTitle, esContent); } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java index 07154e02..a9afc53e 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java @@ -11,7 +11,7 @@ import java.util.Arrays; public class SystemSendMsgHandle implements ISendMsgHandle { @Override - public void SendMsg(String esReceiver, String esTitle, String esContent) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class); // TODO 先写死 01 消息类型(暂未确定) String messageType = "01"; diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java index 6ccb259d..9956a8f0 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java @@ -58,15 +58,26 @@ public class SendMessageServiceImpl implements SendMessageAPI { } SysMessageTemplate sysMessageTemplate = sysSmsTemplates.get(0); + String openType = sysMessageTemplate.getOpenType(); + String openPage = sysMessageTemplate.getOpenPage(); + try { // 替换模板内容 if(!Objects.isNull(sendMessageDTO.getMap())){ Map map = sendMessageDTO.getMap(); map.forEach((k,v)-> sysMessageTemplate.setTemplateContent( sysMessageTemplate.getTemplateContent().replace("${" + k + "}", v))); + if (null != map.get("openType")) { + openType = map.get("openType"); + } + if (null != map.get("openPage")) { + openPage = map.get("openPage"); + } } List typeList = Arrays.asList(sysMessageTemplate.getTemplateType().split(",")); + String finalOpenType = openType; + String finalOpenPage = openPage; typeList.forEach(type -> { log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(),sysMessageTemplate.getTemplateContent(), type); ISendMsgHandle sendMsgHandle; @@ -80,13 +91,13 @@ public class SendMessageServiceImpl implements SendMessageAPI { // 普通系统消息 sendMsgHandle = new SmsSendMsgHandle(); if (!isSend) { - sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent()); + sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage); } } else { return; } if (isSend) { - sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent()); + sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage); } }); } catch (Exception e){