From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 09 十月 2025 11:16:43 +0800
Subject: [PATCH] 优化

---
 server/platform/src/main/java/com/doumee/task/ScheduleTool.java |  170 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 150 insertions(+), 20 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
index fe11644..e755ee9 100644
--- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -1,12 +1,24 @@
 package com.doumee.task;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.Constants;
+import com.doumee.core.dingding.DingDingNotice;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.mqtt.config.MqttClientInit;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.wx.WxPayProperties;
 import com.doumee.dao.business.model.Goodsorder;
-import com.doumee.service.business.GoodsorderService;
-import com.doumee.service.business.WxBillService;
+import com.doumee.dao.business.model.Sites;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.service.business.*;
+import com.doumee.service.system.SystemDictDataService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.util.ThreadContext;
+import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -15,6 +27,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 瀹氭椂浠诲姟
@@ -24,45 +37,162 @@
  */
 @Component
 @EnableScheduling
+@Slf4j
 public class ScheduleTool {
-
-
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private RefundService refundService;
+
+    @Autowired
+    private SystemDictDataService systemDictDataService;
 
     @Autowired
     private WxBillService wxBillService;
 
     @Autowired
     private GoodsorderService goodsorderService;
+
+    @Autowired
+    private MemberRidesService memberRidesService;
+
+    @Autowired
+    private SitesService sitesService;
+
     /**
      * @throws Exception
      */
-    @Scheduled(cron = "0 0 11 * * ? ")
-    public void syncStudent() throws Exception {
+    @Scheduled(cron = "0 0 10 * * ? ")
+    public void getWxBill() throws Exception {
         //鍓嶄竴澶╃殑鏁告摎
         Date ydate = DateUtil.addDaysToDate(new Date(), -1);
         wxBillService.getWxBill(ydate);
-
     }
+
+
+
+
     /**
      * 娓│
      * @throws Exception
      */
-//    @Scheduled(fixedDelay = 1000*60)
+    @Scheduled(cron = "0 0 21 * * ? ")
     public void getYesterdayBill() throws Exception {
-
-        Goodsorder goodsorder = new Goodsorder();
-        goodsorder.setIsdeleted(Constants.ZERO);
-        goodsorder.setStatus(Constants.goodsorderStatus.pay);
-        List<Goodsorder> list = goodsorderService.findList(goodsorder);
-        if (!CollectionUtils.isEmpty(list)){
-            list.forEach(s->{
-                goodsorderService.closerGoodsorder(s.getId());
-            });
-
-        }
-
+        log.info("=====================寮�濮嬫瘡澶╄嚜鍔ㄧ粨绠�=======================");
+        goodsorderService.autoCloseOrder();
+        log.info("=====================缁撴潫姣忓ぉ鑷姩缁撶畻=======================");
     }
+
+    /**
+     * 瀹氭椂鍒锋柊楠戣涓殑鏁板厖鍊兼湭寮�閿佸け璐�
+     * 30 绉掑埛鏂颁竴娆�
+     * @throws Exception
+     */
+    @Scheduled(cron = "0/15 * * * * ? ")
+    public void autoRefreshLockStatus() throws Exception {
+        log.info("=====================寮�濮嬪畾鏃跺埛鏂伴獞琛屼腑鐨勬暟鍏呭�兼湭寮�閿佸け璐�=======================");
+       memberRidesService.autoRefreshLockStatus();
+        log.info("=====================缁撴潫瀹氭椂鍒锋柊楠戣涓殑鏁板厖鍊兼湭寮�閿佸け璐�=======================");
+    }
+
+
+    /**
+     * 瀹氭椂鍏抽棴 瓒呮椂鏈敮浠樼殑璁㈠崟
+     * 30 绉掑埛鏂颁竴娆�
+     * @throws Exception
+     */
+    @Scheduled(cron = "0/15 * * * * ? ")
+    public void autCancel() throws Exception {
+        log.info("=====================寮�濮嬪畾鏃跺埛鏂板叧闂秴鏃舵湭鏀粯鐨勮鍗�=======================");
+        goodsorderService.autCancel();
+        log.info("=====================缁撴潫瀹氭椂鍒锋柊鍏抽棴瓒呮椂鏈敮浠樼殑璁㈠崟=======================");
+    }
+
+    /**
+     * 绔欑偣杞﹁締婊℃灦鐜囬璀�
+     * @throws Exception
+     */
+    @Scheduled(fixedDelay = 1000L * 60L * 10L)
+    public void siteReserves() throws Exception {
+        log.info("=====================寮�濮� 绔欑偣杞﹁締婊℃灦鐜囬璀�=======================");
+        sitesService.siteReservesNotice();;
+        log.info("=====================缁撴潫 绔欑偣杞﹁締婊℃灦鐜囬璀�=======================");
+    }
+    /**
+     * 妫�鏌ラ�氫俊寮傚父鐨勭珯鐐瑰彂閫氱煡
+     * @throws Exception
+     */
+    @Scheduled(fixedDelay = 1000L * 60L * 5)
+    public void noticeNoLinkList() throws Exception {
+        log.info("=====================寮�濮� 妫�鏌ラ�氫俊寮傚父鐨勭珯鐐瑰彂閫氱煡=======================");
+        sitesService.noticeNoLinkList(new Sites());;
+        log.info("=====================缁撴潫 妫�鏌ラ�氫俊寮傚父鐨勭珯鐐瑰彂閫氱煡=======================");
+    }
+
+    @Autowired
+    private WxPayProperties wxPayProperties;
+
+    /**
+     * 鏇存柊寰俊 ACCESS_TOKEN
+     */
+//    @Scheduled(fixedDelay = 1000L * 60L * 90L)
+    public void updAccessToken(){
+        DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
+        ThreadContext.bind(manager);
+        String appId = wxPayProperties.getAppId();
+        String appSecret = wxPayProperties.getAppSecret();
+        if(wxPayProperties.getExistsSub() ==1){
+            //濡傛灉鏄湇鍔″晢鏀粯,鍙栧瓙鍟嗘埛淇℃伅
+             appId = StringUtils.trimToNull(wxPayProperties.getSubAppId());
+            appSecret =StringUtils.trimToNull(wxPayProperties.getSubAppSecret());
+        }
+        //鐢熸垚寰俊token
+        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret;
+        String response = HttpsUtil.get(url,false);
+        JSONObject json = JSONObject.parseObject(response);
+        SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.ACCESS_TOKEN);
+        if(!Objects.isNull(systemDictData)){
+            systemDictData.setCode(json.getString("access_token"));
+            systemDictData.setUpdateTime(new Date());
+            systemDictDataService.updateById(systemDictData);
+        }
+    }
+    /**
+     * 鏇存柊寰俊 ACCESS_TOKEN
+     */
+    @Scheduled(fixedDelay = 1000L * 60L * 90L)
+    public void updAccessDingdingToken() throws Exception {
+        DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
+        ThreadContext.bind(manager);
+        String token = DingDingNotice.getToken(systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_APPKEY).getCode()
+                ,systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode());
+        if(StringUtils.isNotBlank(token)){
+            SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_TOKEN);
+            if(!Objects.isNull(systemDictData)){
+                systemDictData.setCode(token);
+                systemDictData.setUpdateTime(new Date());
+                systemDictDataService.updateById(systemDictData);
+            }
+        }
+    }
+    /**
+     * 鏇存柊寰俊 ACCESS_TOKEN
+     */
+    @Scheduled(fixedDelay = 1000L * 60L )
+    public void autoCancelRefunOrder(){
+        log.info("=====================寮�濮� 鑷嫊鍙栨秷鏈帹閫侀��娆剧姸鎬佺殑閫�娆惧崟鐘舵��=======================");
+        goodsorderService.autoCancelRefunOrder();;
+        log.info("=====================缁撴潫 鑷嫊鍙栨秷鏈帹閫侀��娆剧姸鎬佺殑閫�娆惧崟鐘舵��=======================");
+    }
+
+
+    @Scheduled(fixedDelay = 1000L * 60L )
+    public void autCancelGoodsOrder(){
+        log.info("=====================寮�濮� 鑷嫊鍙栨秷鏈敮浠樿鍗曠姸鎬�=======================");
+        goodsorderService.autoCancelRefunOrder();;
+        log.info("=====================缁撴潫 鑷嫊鍙栨秷鏈敮浠樿鍗曠姸鎬�=======================");
+    }
+
+
 }

--
Gitblit v1.9.3