From ca5eb11b97a6e845f75bba402127b331161a1c72 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 17 Jun 2021 14:18:16 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java | 52 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java b/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
index 45afca9..25405b9 100644
--- a/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
+++ b/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
@@ -6,6 +6,8 @@
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.dingtalk.api.response.OapiRobotSendResponse;
+import com.xcong.excoin.configurations.properties.ApplicationProperties;
+import com.xcong.excoin.utils.SpringContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
@@ -23,11 +25,14 @@
public class DingTalkUtils {
private static final String SECRET = "SECbc84fd6c2edb9f2f440f9f969981ca310ba553e7c7994cf68cf26e4607cc5943";
+ private static final String URL = "https://oapi.dingtalk.com/robot/send?access_token=54a0d627111f3667f7e98691c15becadb742c4da895e60f6d77392389e49658a";
- private static DingTalkClient initClient() throws Exception {
- String url = "https://oapi.dingtalk.com/robot/send?access_token=54a0d627111f3667f7e98691c15becadb742c4da895e60f6d77392389e49658a";
+ private static final String EXCEPTION_URL = "https://oapi.dingtalk.com/robot/send?access_token=da71769f2b21fe2004f00980a8d8e9c4b9db76a0b8025b6f4d957f55653fea39";
+ private static final String EXCEPTION_SECRET = "SECd9169511c38c3643bbda2440b1dcd1d3a57203656186fc2ceb7fcbef18c777ed";
+
+ private static DingTalkClient initClient(String url, String secret) throws Exception {
Long timestamp = System.currentTimeMillis();
- String sign = generateSign(timestamp);
+ String sign = generateSign(timestamp, secret);
url = url + "×tamp=" + timestamp + "&sign=" + sign;
return new DefaultDingTalkClient(url);
}
@@ -35,14 +40,15 @@
public static void sendActionCard(int type) {
log.info("send dingtalk");
+ ApplicationProperties properties = SpringContextHolder.getBean(ApplicationProperties.class);
try {
- DingTalkClient client = initClient();
+ DingTalkClient client = initClient(URL, SECRET);
OapiRobotSendRequest request = new OapiRobotSendRequest();
request.setMsgtype("actionCard");
OapiRobotSendRequest.Actioncard actionCard = new OapiRobotSendRequest.Actioncard();
- actionCard.setTitle(DingTalkType.getName(type));
+ actionCard.setTitle(properties.getProject() + "--" + DingTalkType.getName(type));
actionCard.setBtnOrientation("1");
- actionCard.setText(DingTalkType.getName(type));
+ actionCard.setText(properties.getProject() + "--" + DingTalkType.getName(type));
List<OapiRobotSendRequest.Btns> btns = new ArrayList<>();
OapiRobotSendRequest.Btns btn1 = new OapiRobotSendRequest.Btns();
btn1.setTitle("查看详情");
@@ -61,7 +67,7 @@
public static void sendMsg(String title, String msg, Long id) {
try {
String text = "### {} \n\n {}";
- DingTalkClient client = initClient();
+ DingTalkClient client = initClient(EXCEPTION_URL, EXCEPTION_SECRET);
OapiRobotSendRequest request = new OapiRobotSendRequest();
request.setMsgtype("actionCard");
@@ -69,7 +75,7 @@
actionCard.setTitle("异常消息");
actionCard.setBtnOrientation("0");
actionCard.setText(StrUtil.format(text, title, msg));
- actionCard.setSingleURL("http://123.60.45.251/common/getExceptionMsg?id=" + id);
+ actionCard.setSingleURL("http://api.topclouds.cc/common/getExceptionMsg?id=" + id);
actionCard.setSingleTitle("查询详情");
request.setActionCard(actionCard);
@@ -80,11 +86,35 @@
}
}
+ public static void sendOrderMsg() {
+ ApplicationProperties properties = SpringContextHolder.getBean(ApplicationProperties.class);
+ try {
+ DingTalkClient client = initClient(URL, SECRET);
+ OapiRobotSendRequest request = new OapiRobotSendRequest();
+ request.setMsgtype("actionCard");
+ OapiRobotSendRequest.Actioncard actionCard = new OapiRobotSendRequest.Actioncard();
+ actionCard.setTitle(properties.getProject() + "--" + "老板开门啊");
+ actionCard.setBtnOrientation("1");
+ actionCard.setText(properties.getProject() + "--" + "老板关门不好吧");
+ List<OapiRobotSendRequest.Btns> btns = new ArrayList<>();
+ OapiRobotSendRequest.Btns btn1 = new OapiRobotSendRequest.Btns();
+ btn1.setTitle("查看详情");
+ btn1.setActionURL("http://baidu.com");
+ btns.add(btn1);
+ actionCard.setBtns(btns);
- private static String generateSign(Long timestamp) throws Exception {
- String stringToToken = timestamp + "\n" + SECRET;
+ request.setActionCard(actionCard);
+ client.execute(request);
+ } catch (Exception e) {
+ log.error("#dingtalk send error#", e);
+ }
+ }
+
+
+ private static String generateSign(Long timestamp, String secret) throws Exception {
+ String stringToToken = timestamp + "\n" + secret;
Mac mac = Mac.getInstance("HmacSHA256");
- mac.init(new SecretKeySpec(SECRET.getBytes("UTF-8"), "HmacSHA256"));
+ mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));
byte[] signData = mac.doFinal(stringToToken.getBytes("UTF-8"));
String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8");
return sign;
--
Gitblit v1.9.1