From 0cd9d911b8e8634ec04cb82ea07696bb09260b03 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 26 十二月 2023 13:48:06 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server

---
 ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java b/ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java
new file mode 100644
index 0000000..ede2249
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java
@@ -0,0 +1,83 @@
+package com.ycl.timer;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ycl.common.dingding.DingCommon;
+import com.ycl.entity.message.DingMessage;
+import com.ycl.mapper.message.DingMessageMapper;
+import com.ycl.service.message.IDingMessageService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.event.ContextRefreshedEvent;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Slf4j
+@Component
+public class SendDingMsg implements ApplicationListener<ContextRefreshedEvent> {
+    @Autowired
+    private DingMessageMapper dingMessageMapper;
+    @Autowired
+    private DingCommon dingCommon;
+    @Autowired
+    private IDingMessageService dingMessageService;
+    @Value("${spring.profiles.active}")
+    private String env;
+
+    public final static Short STATE_READY = 0;
+    public final static Short STATE_SUCCESS = 1;
+    public final static Short STATE_FAILURE = 2;
+    public final static Short SCAN_READY = 0;
+    public final static Short SCAN_FINISH = 1;
+
+    @Scheduled(cron = "0 0/2 * * * ?")
+    public void runAction() {
+        if ("online".equals(env)) {
+            QueryWrapper<DingMessage> wrapper = new QueryWrapper<>();
+            wrapper.eq("state", STATE_READY);
+            wrapper.eq("if_scan", SCAN_READY);
+            List<DingMessage> dingMessages = dingMessageMapper.selectList(wrapper);
+            if (CollectionUtils.isNotEmpty(dingMessages)) {
+                int size = dingMessages.size();
+                log.info("鏈夊緟鍙戦�佹秷鎭瘂}鏉�", size);
+                for (DingMessage dingMessage : dingMessages) {
+                    String baseCaseCode = dingMessage.getBaseCaseCode();
+                    Long accountId = dingMessage.getAccountId();
+                    Long messageId = dingMessage.getId();
+                    String text = "閬傛槍浜戞墽娉曪細鏈夊緟澶勭悊鐨勪换鍔n" +
+                            "路鎮ㄦ湁1鏉″緟澶勭悊浜嬩欢銆備簨浠剁紪鍙�:\n" +
+                            baseCaseCode;
+                    String title = "鎮ㄦ湁涓�鏉″伐浣滈�氱煡";
+                    try {
+                        dingMessage.setIfScan(SCAN_FINISH);
+                        dingMessage.setSendTime(new Date());
+                        dingCommon.sendDingMsgStr(accountId + "", text);
+                        log.info("鍙戦�佷竴鏉″伐浣滈�氱煡锛屾秷鎭痠d{}", messageId);
+                        dingMessage.setState(STATE_SUCCESS);
+                    } catch (Exception e) {
+                        log.error("鍙戦�侀拤閽夋秷鎭嚭鐜板紓甯�,娑堟伅id{}", messageId, e);
+                        dingMessage.setState(STATE_FAILURE);
+                        size--;
+                    }
+                }
+                dingMessageService.updateBatchById(dingMessages);
+                log.info("鍙戦�佹垚鍔焮}鏉★紝澶辫触{}鏉�", size, dingMessages.size() - size);
+            }
+        }
+    }
+
+
+    @Override
+    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
+        if (contextRefreshedEvent.getApplicationContext().getParent() == null) {
+//            runAction();
+        }
+    }
+}

--
Gitblit v1.8.0