feat: 系统消息支持跳转
This commit is contained in:
@@ -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 菜单:专项项目库 -> 法规评估库
|
||||
|
||||
+6
@@ -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;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+3
-1
@@ -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));
|
||||
|
||||
|
||||
+1
-1
@@ -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("发微信消息模板");
|
||||
}
|
||||
|
||||
+1
-1
@@ -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) {
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
|
||||
+1
-1
@@ -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";
|
||||
|
||||
+13
-2
@@ -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<String,String> 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<String> 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){
|
||||
|
||||
Reference in New Issue
Block a user