feat: 系统消息支持跳转

This commit is contained in:
2024-03-21 14:40:22 +08:00
parent 23edc0d888
commit 022dbac006
11 changed files with 33 additions and 10 deletions
@@ -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);
}
@@ -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";
@@ -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){