fix: hiwork消息链接不跳转
This commit is contained in:
+4
-4
@@ -82,7 +82,7 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
|
|
||||||
log.info("发送Hiwork钉钉消息: {}", JSONObject.toJSONString(hiworkDingDingMsg));
|
log.info("发送Hiwork钉钉消息: {}", JSONObject.toJSONString(hiworkDingDingMsg));
|
||||||
|
|
||||||
hiworkPostUtil.postDingDingMsg(hiworkDingDingMsg);
|
// hiworkPostUtil.postDingDingMsg(hiworkDingDingMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -107,8 +107,6 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
hiworkSystemMsg.setSendCode(loginUser.getUsername());
|
hiworkSystemMsg.setSendCode(loginUser.getUsername());
|
||||||
// 发送人员姓名
|
// 发送人员姓名
|
||||||
hiworkSystemMsg.setSendName(loginUser.getRealname());
|
hiworkSystemMsg.setSendName(loginUser.getRealname());
|
||||||
// 消息类型
|
|
||||||
hiworkSystemMsg.setMessageType(messageType);
|
|
||||||
// 消息标题
|
// 消息标题
|
||||||
hiworkSystemMsg.setTitle(title);
|
hiworkSystemMsg.setTitle(title);
|
||||||
|
|
||||||
@@ -134,15 +132,17 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
textJsonObject.put(CONTENT, content);
|
textJsonObject.put(CONTENT, content);
|
||||||
if (StrUtil.isBlank(messageUrl)) {
|
if (StrUtil.isBlank(messageUrl)) {
|
||||||
msgJsonObject.put(MSG_TYPE, TEXT);
|
msgJsonObject.put(MSG_TYPE, TEXT);
|
||||||
|
hiworkSystemMsg.setMessageType("01");
|
||||||
} else {
|
} else {
|
||||||
msgJsonObject.put(MSG_TYPE, LINK);
|
msgJsonObject.put(MSG_TYPE, LINK);
|
||||||
textJsonObject.put("messageUrl", messageUrl);
|
textJsonObject.put("messageUrl", messageUrl);
|
||||||
|
hiworkSystemMsg.setMessageType("04");
|
||||||
}
|
}
|
||||||
msgJsonObject.put(TEXT, textJsonObject);
|
msgJsonObject.put(TEXT, textJsonObject);
|
||||||
hiworkSystemMsg.setMsg(msgJsonObject);
|
hiworkSystemMsg.setMsg(msgJsonObject);
|
||||||
|
|
||||||
log.info("发送Hiwork系统消息: {}", JSONObject.toJSONString(hiworkSystemMsg));
|
log.info("发送Hiwork系统消息: {}", JSONObject.toJSONString(hiworkSystemMsg));
|
||||||
|
|
||||||
hiworkPostUtil.postSystemMsg(hiworkSystemMsg);
|
// hiworkPostUtil.postSystemMsg(hiworkSystemMsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+26
-26
@@ -53,17 +53,17 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
|||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void sendMessage(SendMessageDTO sendMessageDTO) {
|
public void sendMessage(SendMessageDTO sendMessageDTO) {
|
||||||
if(StringUtils.isEmpty(sendMessageDTO.getToUserId())){
|
if (StringUtils.isEmpty(sendMessageDTO.getToUserId())) {
|
||||||
throw new JeroBootException("消息接收人id不能为空");
|
throw new JeroBootException("消息接收人id不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtils.isEmpty(sendMessageDTO.getTemplateCode())){
|
if (StringUtils.isEmpty(sendMessageDTO.getTemplateCode())) {
|
||||||
throw new JeroBootException("消息模板编码不能为空!");
|
throw new JeroBootException("消息模板编码不能为空!");
|
||||||
}
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<SysMessageTemplate> query = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysMessageTemplate> query = new LambdaQueryWrapper<>();
|
||||||
query.eq(SysMessageTemplate::getTemplateCode,sendMessageDTO.getTemplateCode());
|
query.eq(SysMessageTemplate::getTemplateCode, sendMessageDTO.getTemplateCode());
|
||||||
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.list(query);
|
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.list(query);
|
||||||
if(CollectionUtils.isEmpty(sysSmsTemplates)){
|
if (CollectionUtils.isEmpty(sysSmsTemplates)) {
|
||||||
throw new JeroBootException("消息模板不存在");
|
throw new JeroBootException("消息模板不存在");
|
||||||
}
|
}
|
||||||
SysMessageTemplate sysMessageTemplate = sysSmsTemplates.get(0);
|
SysMessageTemplate sysMessageTemplate = sysSmsTemplates.get(0);
|
||||||
@@ -73,9 +73,9 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// 替换模板内容
|
// 替换模板内容
|
||||||
if(!Objects.isNull(sendMessageDTO.getMap())){
|
if (!Objects.isNull(sendMessageDTO.getMap())) {
|
||||||
Map<String,String> map = sendMessageDTO.getMap();
|
Map<String, String> map = sendMessageDTO.getMap();
|
||||||
map.forEach((k,v)-> sysMessageTemplate.setTemplateContent(
|
map.forEach((k, v) -> sysMessageTemplate.setTemplateContent(
|
||||||
sysMessageTemplate.getTemplateContent().replace("${" + k + "}", v)));
|
sysMessageTemplate.getTemplateContent().replace("${" + k + "}", v)));
|
||||||
if (null != map.get("openType")) {
|
if (null != map.get("openType")) {
|
||||||
openType = map.get("openType");
|
openType = map.get("openType");
|
||||||
@@ -96,26 +96,13 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
|||||||
String finalOpenType = openType;
|
String finalOpenType = openType;
|
||||||
String finalOpenPage = openPage;
|
String finalOpenPage = openPage;
|
||||||
typeList.forEach(type -> {
|
typeList.forEach(type -> {
|
||||||
log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(),sysMessageTemplate.getTemplateContent(), type);
|
log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), type);
|
||||||
ISendMsgHandle sendMsgHandle;
|
ISendMsgHandle sendMsgHandle;
|
||||||
if ("5".equals(type)) {
|
if ("5".equals(type)) {
|
||||||
// Hiwork钉钉消息
|
// Hiwork钉钉消息
|
||||||
sendMsgHandle = new DingDingSendMsgHandle();
|
sendMsgHandle = new DingDingSendMsgHandle();
|
||||||
} else if ("6".equals(type)) {
|
if (isHiworkDingDingSend) {
|
||||||
// Hiwork系统消息
|
String messageUrl = hiworkUrlPrefix + finalOpenPage;
|
||||||
sendMsgHandle = new SystemSendMsgHandle();
|
|
||||||
} else if ("4".equals(type)) {
|
|
||||||
// 普通系统消息
|
|
||||||
sendMsgHandle = new SmsSendMsgHandle();
|
|
||||||
if (!isSend) {
|
|
||||||
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (isHiworkDingDingSend) {
|
|
||||||
String messageUrl = hiworkUrlPrefix + finalOpenPage;
|
|
||||||
if (sendMsgHandle instanceof DingDingSendMsgHandle) {
|
|
||||||
// 将tempUrl编码
|
// 将tempUrl编码
|
||||||
String encodeUrl = null;
|
String encodeUrl = null;
|
||||||
try {
|
try {
|
||||||
@@ -124,12 +111,25 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
|||||||
throw new JeroBootException("钉钉消息跳转url编码异常", e);
|
throw new JeroBootException("钉钉消息跳转url编码异常", e);
|
||||||
}
|
}
|
||||||
messageUrl = dingdingUrlPrefix + encodeUrl + "&pc_slide=true";
|
messageUrl = dingdingUrlPrefix + encodeUrl + "&pc_slide=true";
|
||||||
|
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, messageUrl);
|
||||||
|
}
|
||||||
|
} else if ("6".equals(type)) {
|
||||||
|
// Hiwork系统消息
|
||||||
|
sendMsgHandle = new SystemSendMsgHandle();
|
||||||
|
if (isHiworkDingDingSend) {
|
||||||
|
String messageUrl = hiworkUrlPrefix + finalOpenPage;
|
||||||
|
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, messageUrl);
|
||||||
|
}
|
||||||
|
} else if ("4".equals(type)) {
|
||||||
|
// 普通系统消息
|
||||||
|
sendMsgHandle = new SmsSendMsgHandle();
|
||||||
|
if (isSend) {
|
||||||
|
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage);
|
||||||
}
|
}
|
||||||
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, messageUrl);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (Exception e){
|
} catch (Exception e) {
|
||||||
log.error("发送消息异常",e);
|
log.error("发送消息异常", e);
|
||||||
throw new JeroBootException("发送消息异常");
|
throw new JeroBootException("发送消息异常");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user