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 | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 167 insertions(+), 13 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 ad8077e..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,33 @@ package com.doumee.task; +import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; -import com.doumee.service.business.WxBillService; +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.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; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.Date; +import java.util.List; +import java.util.Objects; /** * 瀹氭椂浠诲姟 @@ -16,29 +37,162 @@ */ @Component @EnableScheduling +@Slf4j public class ScheduleTool { - - @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired + private RefundService refundService; + + @Autowired + private SystemDictDataService systemDictDataService; + + @Autowired private WxBillService wxBillService; - /** - * @throws Exception - */ - @Scheduled(cron = "0 0 11 * * ? ") - public void syncStudent() throws Exception { - wxBillService.getWxBill(); + @Autowired + private GoodsorderService goodsorderService; - } + @Autowired + private MemberRidesService memberRidesService; + + @Autowired + private SitesService sitesService; + /** * @throws Exception */ - @Scheduled(fixedDelay = 1000*60) + @Scheduled(cron = "0 0 10 * * ? ") + public void getWxBill() throws Exception { + //鍓嶄竴澶╃殑鏁告摎 + Date ydate = DateUtil.addDaysToDate(new Date(), -1); + wxBillService.getWxBill(ydate); + } + + + + + /** + * 娓│ + * @throws Exception + */ + @Scheduled(cron = "0 0 21 * * ? ") public void getYesterdayBill() throws Exception { - wxBillService.getWxBill(); - + 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