jiangping
2025-02-21 1147614053efae0314a36c15293a6a5ed4e6d737
server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -4,11 +4,14 @@
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.dao.business.model.Sites;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.*;
import com.doumee.service.system.SystemDictDataService;
@@ -60,12 +63,16 @@
    /**
     * @throws Exception
     */
    @Scheduled(cron = "0 0 10 * * ? ")
    public void getWxBill() throws Exception {
        //前一天的數據
        Date ydate = DateUtil.addDaysToDate(new Date(), -1);
        wxBillService.getWxBill(ydate);
    }
    /**
     * 測試
     * @throws Exception
@@ -82,10 +89,10 @@
     * 30 秒刷新一次
     * @throws Exception
     */
    @Scheduled(cron = "0/30 * * * * ? ")
    @Scheduled(cron = "0/15 * * * * ? ")
    public void autoRefreshLockStatus() throws Exception {
        log.info("=====================开始定时刷新骑行中的数充值未开锁失败=======================");
        memberRidesService.autoRefreshLockStatus();
       memberRidesService.autoRefreshLockStatus();
        log.info("=====================结束定时刷新骑行中的数充值未开锁失败=======================");
    }
@@ -100,7 +107,16 @@
        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;
@@ -108,7 +124,7 @@
    /**
     * 更新微信 ACCESS_TOKEN
     */
    @Scheduled(fixedDelay = 1000L * 60L * 90L)
//    @Scheduled(fixedDelay = 1000L * 60L * 90L)
    public void updAccessToken(){
        DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
        ThreadContext.bind(manager);
@@ -121,7 +137,7 @@
        }
        //生成微信token
        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret;
        String response = HttpsUtil.doGet(url,null);
        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)){
@@ -133,6 +149,24 @@
    /**
     * 更新微信 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("=====================开始 自動取消未推送退款状态的退款单状态=======================");
@@ -141,4 +175,12 @@
    }
    @Scheduled(fixedDelay = 1000L * 60L )
    public void autCancelGoodsOrder(){
        log.info("=====================开始 自動取消未支付订单状态=======================");
        goodsorderService.autoCancelRefunOrder();;
        log.info("=====================结束 自動取消未支付订单状态=======================");
    }
}