Browse Source

移除钉钉工具类

tianboguang 3 years ago
parent
commit
f971fa9dfa

+ 5 - 1
4dkankan-center-modeling/pom.xml

@@ -87,7 +87,11 @@
 			<groupId>com.fdkankan</groupId>
 			<version>2.0.0</version>
 		</dependency>
-
+		<dependency>
+			<groupId>com.fdkankan</groupId>
+			<artifactId>4dkankan-utils-dingtalk</artifactId>
+			<version>2.0.0</version>
+		</dependency>
 
 	</dependencies>
 

+ 7 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/constants/SysConstants.java

@@ -13,6 +13,13 @@ public class SysConstants {
     public static String hostName;
     public static int modelTimeOut;
 
+    public static final String DINGTALK_MSG_PATTERN = "**环境**: %s\n\n" +
+            "**服务器名称**: %s\n\n" +
+            "**失败原因**: %s\n\n" +
+            "**num**: %s\n\n" +
+            "**server-path**: %s\n\n" +
+            "**algorithm-log**: [https://4dkk.4dage.com/build_log/%s/console.log](https://4dkk.4dage.com/build_log/%s/console.log)";
+
     @Value("${hostName.filePath:/opt/hosts/hosts.txt}")
     public void setHostName(String filePath){
         try {

+ 9 - 2
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneMQListener.java

@@ -8,10 +8,10 @@ import com.fdkankan.common.constant.ConstantFilePath;
 import com.fdkankan.common.constant.ConstantUrl;
 import com.fdkankan.common.util.*;
 import com.fdkankan.common.util.ComputerUtil;
+import com.fdkankan.dingtalk.DingTalkSendUtils;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
 import com.fdkankan.modeling.constants.SysConstants;
 import com.fdkankan.push.PushMessageConfig;
-import com.fdkankan.modeling.utils.DingDingUtils;
 import com.fdkankan.mq.message.BuildSceneMqMessage;
 import com.fdkankan.mq.message.BuildSceneResultMqMessage;
 import com.fdkankan.mq.util.RocketMQProducer;
@@ -85,6 +85,12 @@ public class BuildSceneMQListener implements RocketMQListener<String> {
     @Value("${rocketmq.build-scene-result.topicName.topic-modeling-a}")
     private String buildSceneResultTopic;
 
+    @Value("${environment:dev}")
+    private String environment;
+
+    @Autowired
+    private DingTalkSendUtils dingTalkSendUtils;
+
     @Override
     public void onMessage(String message) {
         log.info("开始处理消息,消费者组:{},主题名:{}, 消息内容:{}", consumerGroup, topicName, message);
@@ -653,7 +659,8 @@ public class BuildSceneMQListener implements RocketMQListener<String> {
         redisTemplate.delete(RedisKey.SCENE_BUILDING + num);
         CompletableFuture.runAsync(() -> {
             try {
-                DingDingUtils.sendMsgToDingRobot(reason,serverPath,num);
+                String content = String.format(SysConstants.DINGTALK_MSG_PATTERN,environment, SysConstants.hostName,reason,num,serverPath,num,num);
+                dingTalkSendUtils.sendActioncardMsgToDingRobot(content,"场景计算失败");
             } catch (ApiException | UnsupportedEncodingException | NoSuchAlgorithmException | InvalidKeyException apiException) {
                 apiException.printStackTrace();
             }

+ 0 - 91
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/utils/DingDingUtils.java

@@ -1,91 +0,0 @@
-package com.fdkankan.modeling.utils;
-
-import com.dingtalk.api.DefaultDingTalkClient;
-import com.dingtalk.api.DingTalkClient;
-import com.dingtalk.api.request.OapiRobotSendRequest;
-import com.dingtalk.api.response.OapiRobotSendResponse;
-import com.fdkankan.common.util.Base64Converter;
-import com.fdkankan.modeling.constants.SysConstants;
-import com.taobao.api.ApiException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-
-@Component
-public class DingDingUtils {
-
-    private static final Logger log = LoggerFactory.getLogger(DingDingUtils.class);
-
-    private static String environment;
-
-    private static String token;
-
-    private static String secret="SECca5af660ed882a67d8bda469095bf8454831528bd25bc7b1a3ff5f686109b9e5";
-
-    @Value("${environment:dev}")
-    public void setEnvironment(String environment){
-        DingDingUtils.environment = environment;
-    }
-
-    @Value("${dingtalk.token:e712c41d917b303e21c1550ad9966b33dad874043f2f73fb347dce67a0a201bc}")
-    public void setToken(String token) {
-        DingDingUtils.token = token;
-    }
-
-    @Value("${dingtalk.secret:SECca5af660ed882a67d8bda469095bf8454831528bd25bc7b1a3ff5f686109b9e5}")
-    public void setSign(String secret) {
-        DingDingUtils.secret = secret;
-    }
-
-    private static String msgPattern = "**环境**: %s\n\n" +
-            "**服务器名称**: %s\n\n" +
-            "**失败原因**: %s\n\n" +
-            "**num**: %s\n\n" +
-            "**server-path**: %s\n\n" +
-            "**algorithm-log**: [https://4dkk.4dage.com/build_log/%s/console.log](https://4dkk.4dage.com/build_log/%s/console.log)";
-
-
-    public static void sendMsgToDingRobot(String reason,String serverPath,String num) throws ApiException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
-        String content = String.format(msgPattern,environment, SysConstants.hostName,reason,num,serverPath,num,num);
-        //sendMsgToDingRobot(content);
-    }
-
-    public static void sendMsgToDingRobot(String content) throws ApiException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
-        Long timestamp = System.currentTimeMillis();
-        String sign = getSign(timestamp);
-        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?" +
-                "access_token="+token +
-                "&timestamp=".concat(String.valueOf(timestamp)).concat("&sign=").concat(sign));
-        OapiRobotSendRequest request = new OapiRobotSendRequest();
-        request.setMsgtype("actionCard");
-        OapiRobotSendRequest.Actioncard actioncard = new OapiRobotSendRequest.Actioncard();
-        actioncard.setTitle("场景计算失败");
-        actioncard.setText(content);
-        request.setActionCard(actioncard);
-        OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
-        at.setAtMobiles(new ArrayList<>(0));
-        // isAtAll类型如果不为Boolean,请升级至最新SDK
-        at.setIsAtAll(true);
-        request.setAt(at);
-        OapiRobotSendResponse re = client.execute(request);
-        System.out.println(re.getBody());
-    }
-
-    public static String getSign(Long timestamp) throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
-        String stringToSign = timestamp + "\n" + secret;
-        Mac mac = Mac.getInstance("HmacSHA256");
-        mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));
-        byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));
-        System.out.println(new String(signData));
-        return URLEncoder.encode(Base64Converter.encode(signData));
-    }
-}