feat: hiwork消息跳转&钉钉消息跳转
This commit is contained in:
+2
-3
@@ -6,7 +6,6 @@ import com.jero.modules.message.handle.ISendMsgHandle;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
@@ -22,9 +21,9 @@ public class DingDingSendMsgHandle implements ISendMsgHandle {
|
|||||||
* @Description: Hiwork钉钉消息
|
* @Description: Hiwork钉钉消息
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) {
|
public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String messageUrl) {
|
||||||
IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class);
|
IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class);
|
||||||
hiworkMsgService.sendDingDingMsg(Arrays.asList(esReceiver.split(",")), esTitle, esContent);
|
hiworkMsgService.sendDingDingMsg(Arrays.asList(esReceiver.split(",")), esTitle, esContent, messageUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ public class SystemSendMsgHandle implements ISendMsgHandle {
|
|||||||
IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class);
|
IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class);
|
||||||
// TODO 先写死 01 消息类型(暂未确定)
|
// TODO 先写死 01 消息类型(暂未确定)
|
||||||
String messageType = "01";
|
String messageType = "01";
|
||||||
hiworkMsgService.sendSystemMsg(Arrays.asList(esReceiver.split(",")), messageType, esTitle, esContent);
|
hiworkMsgService.sendSystemMsg(Arrays.asList(esReceiver.split(",")), messageType, esTitle, esContent, openPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@ public interface IHiworkMsgService {
|
|||||||
* title:消息标题
|
* title:消息标题
|
||||||
* content:文本内容
|
* content:文本内容
|
||||||
**/
|
**/
|
||||||
void sendDingDingMsg(List<String> senderIdList, String title, String content);
|
void sendDingDingMsg(List<String> senderIdList, String title, String content, String messageUrl);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
@@ -29,5 +29,5 @@ public interface IHiworkMsgService {
|
|||||||
* title:消息标题
|
* title:消息标题
|
||||||
* content:消息内容
|
* content:消息内容
|
||||||
**/
|
**/
|
||||||
void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content);
|
void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content, String messageUrl);
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-4
@@ -1,5 +1,7 @@
|
|||||||
package com.jero.modules.docking.hiwork.service.impl;
|
package com.jero.modules.docking.hiwork.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.annotation.Link;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
@@ -38,6 +40,7 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
|
|
||||||
private final static String TEXT = "text"; // 消息类型-文本
|
private final static String TEXT = "text"; // 消息类型-文本
|
||||||
|
private final static String LINK = "link"; // 消息类型-文本
|
||||||
private final static String MSG_TYPE = "msgtype"; // 消息类型
|
private final static String MSG_TYPE = "msgtype"; // 消息类型
|
||||||
private final static String CONTENT = "content"; // 消息内容
|
private final static String CONTENT = "content"; // 消息内容
|
||||||
|
|
||||||
@@ -49,7 +52,7 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
* content:文本内容
|
* content:文本内容
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void sendDingDingMsg(List<String> senderIdList, String title, String content) {
|
public void sendDingDingMsg(List<String> senderIdList, String title, String content, String messageUrl) {
|
||||||
HiworkDingDingMsg hiworkDingDingMsg = new HiworkDingDingMsg();
|
HiworkDingDingMsg hiworkDingDingMsg = new HiworkDingDingMsg();
|
||||||
// 异步系统标识
|
// 异步系统标识
|
||||||
hiworkDingDingMsg.setSysCode(HiworkPostUtil.getSysCode());
|
hiworkDingDingMsg.setSysCode(HiworkPostUtil.getSysCode());
|
||||||
@@ -66,9 +69,14 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
|
|
||||||
// 消息体
|
// 消息体
|
||||||
JSONObject msgJsonObject = new JSONObject();
|
JSONObject msgJsonObject = new JSONObject();
|
||||||
msgJsonObject.put(MSG_TYPE, TEXT);
|
|
||||||
JSONObject textJsonObject = new JSONObject();
|
JSONObject textJsonObject = new JSONObject();
|
||||||
textJsonObject.put(CONTENT, content);
|
textJsonObject.put(CONTENT, content);
|
||||||
|
if (StrUtil.isBlank(messageUrl)) {
|
||||||
|
msgJsonObject.put(MSG_TYPE, TEXT);
|
||||||
|
} else {
|
||||||
|
msgJsonObject.put(MSG_TYPE, LINK);
|
||||||
|
textJsonObject.put("messageUrl", messageUrl);
|
||||||
|
}
|
||||||
msgJsonObject.put(TEXT, textJsonObject);
|
msgJsonObject.put(TEXT, textJsonObject);
|
||||||
hiworkDingDingMsg.setMsg(msgJsonObject);
|
hiworkDingDingMsg.setMsg(msgJsonObject);
|
||||||
|
|
||||||
@@ -88,7 +96,7 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
* content:消息内容
|
* content:消息内容
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content) {
|
public void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content, String messageUrl) {
|
||||||
HiworkSystemMsg hiworkSystemMsg = new HiworkSystemMsg();
|
HiworkSystemMsg hiworkSystemMsg = new HiworkSystemMsg();
|
||||||
|
|
||||||
// 异步系统标识
|
// 异步系统标识
|
||||||
@@ -122,9 +130,14 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
|
|||||||
|
|
||||||
// 消息体
|
// 消息体
|
||||||
JSONObject msgJsonObject = new JSONObject();
|
JSONObject msgJsonObject = new JSONObject();
|
||||||
msgJsonObject.put(MSG_TYPE, TEXT);
|
|
||||||
JSONObject textJsonObject = new JSONObject();
|
JSONObject textJsonObject = new JSONObject();
|
||||||
textJsonObject.put(CONTENT, content);
|
textJsonObject.put(CONTENT, content);
|
||||||
|
if (StrUtil.isBlank(messageUrl)) {
|
||||||
|
msgJsonObject.put(MSG_TYPE, TEXT);
|
||||||
|
} else {
|
||||||
|
msgJsonObject.put(MSG_TYPE, LINK);
|
||||||
|
textJsonObject.put("messageUrl", messageUrl);
|
||||||
|
}
|
||||||
msgJsonObject.put(TEXT, textJsonObject);
|
msgJsonObject.put(TEXT, textJsonObject);
|
||||||
hiworkSystemMsg.setMsg(msgJsonObject);
|
hiworkSystemMsg.setMsg(msgJsonObject);
|
||||||
|
|
||||||
|
|||||||
+23
-2
@@ -17,6 +17,10 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.CharsetEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -35,6 +39,12 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
|||||||
private ISysMessageTemplateService sysMessageTemplateService;
|
private ISysMessageTemplateService sysMessageTemplateService;
|
||||||
@Value("${hiwork.isSend}")
|
@Value("${hiwork.isSend}")
|
||||||
private Boolean isSend;
|
private Boolean isSend;
|
||||||
|
@Value("${hiwork.isHiworkDingDingSend}")
|
||||||
|
private Boolean isHiworkDingDingSend;
|
||||||
|
@Value("${hiwork.dingdingUrlPrefix}")
|
||||||
|
private String dingdingUrlPrefix;
|
||||||
|
@Value("${hiwork.hiworkUrlPrefix}")
|
||||||
|
private String hiworkUrlPrefix;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
@@ -103,8 +113,19 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
|||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (isSend) {
|
if (isHiworkDingDingSend) {
|
||||||
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage);
|
String messageUrl = hiworkUrlPrefix + finalOpenPage;
|
||||||
|
if (sendMsgHandle instanceof DingDingSendMsgHandle) {
|
||||||
|
// 将tempUrl编码
|
||||||
|
String encodeUrl = null;
|
||||||
|
try {
|
||||||
|
encodeUrl = URLEncoder.encode(messageUrl, StandardCharsets.UTF_8.name());
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
throw new JeroBootException("钉钉消息跳转url编码异常", e);
|
||||||
|
}
|
||||||
|
messageUrl = dingdingUrlPrefix + encodeUrl + "&pc_slide=true";
|
||||||
|
}
|
||||||
|
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, messageUrl);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (Exception e){
|
} catch (Exception e){
|
||||||
|
|||||||
@@ -416,6 +416,12 @@ hiwork:
|
|||||||
#hiwork单点登录
|
#hiwork单点登录
|
||||||
appkey: dingshfclphtivrd0r7k
|
appkey: dingshfclphtivrd0r7k
|
||||||
appsecret: dqhom_17n6BC8pmLeaf5wNp4aV_4XSt_aYn-dNBo8z__-79NjVvZhDJ_M2REdxRc
|
appsecret: dqhom_17n6BC8pmLeaf5wNp4aV_4XSt_aYn-dNBo8z__-79NjVvZhDJ_M2REdxRc
|
||||||
|
# dingding和Hiwork是否发送消息
|
||||||
|
isHiworkDingDingSend: false
|
||||||
|
#hiwork消息跳转前缀
|
||||||
|
hiworkUrlPrefix: "http://srms-test.sinotruk.com"
|
||||||
|
#hiwork钉钉消息跳转前缀
|
||||||
|
dingdingUrlPrefix: "dingtalk://dingtalkclient/page/link?url="
|
||||||
|
|
||||||
# 汽车标准数字化平台ASMS
|
# 汽车标准数字化平台ASMS
|
||||||
asms:
|
asms:
|
||||||
|
|||||||
@@ -388,6 +388,12 @@ hiwork:
|
|||||||
url: https://iam.sinotruk.com:7011/idp/oauth2/authorize?&state=123&client_id=SRMS&response_type=code&redirect_uri=
|
url: https://iam.sinotruk.com:7011/idp/oauth2/authorize?&state=123&client_id=SRMS&response_type=code&redirect_uri=
|
||||||
fontUrl: http://srms.sinotruk.com{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontUrl: http://srms.sinotruk.com{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
fontAppUrl: http://222.175.158.138:8120/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontAppUrl: http://222.175.158.138:8120/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
|
# dingding和Hiwork是否发送消息
|
||||||
|
isHiworkDingDingSend: false
|
||||||
|
#hiwork消息跳转前缀
|
||||||
|
hiworkUrlPrefix: "http://srms-test.sinotruk.com"
|
||||||
|
#hiwork钉钉消息跳转前缀
|
||||||
|
dingdingUrlPrefix: "dingtalk://dingtalkclient/page/link?url="
|
||||||
|
|
||||||
# 汽车标准数字化平台ASMS
|
# 汽车标准数字化平台ASMS
|
||||||
asms:
|
asms:
|
||||||
|
|||||||
@@ -388,6 +388,12 @@ hiwork:
|
|||||||
url: https://iam-uat.sinotruk.com:7011/idp/oauth2/authorize?&state=123&client_id=SRMS&response_type=code&redirect_uri=
|
url: https://iam-uat.sinotruk.com:7011/idp/oauth2/authorize?&state=123&client_id=SRMS&response_type=code&redirect_uri=
|
||||||
fontUrl: http://srms-test.sinotruk.com{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontUrl: http://srms-test.sinotruk.com{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
fontAppUrl: http://222.175.158.140:8120/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontAppUrl: http://222.175.158.140:8120/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
|
# dingding和Hiwork是否发送消息
|
||||||
|
isHiworkDingDingSend: true
|
||||||
|
#hiwork消息跳转前缀
|
||||||
|
hiworkUrlPrefix: "http://srms-test.sinotruk.com"
|
||||||
|
#hiwork钉钉消息跳转前缀
|
||||||
|
dingdingUrlPrefix: "dingtalk://dingtalkclient/page/link?url="
|
||||||
|
|
||||||
# 汽车标准数字化平台ASMS
|
# 汽车标准数字化平台ASMS
|
||||||
asms:
|
asms:
|
||||||
|
|||||||
Reference in New Issue
Block a user