package com.doumee.task; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.Constants; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.model.Goodsorder; import com.doumee.service.business.GoodsorderService; import com.doumee.service.business.MemberRidesService; import com.doumee.service.business.SitesService; import com.doumee.service.business.WxBillService; import lombok.extern.slf4j.Slf4j; 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; /** * 定时任务 * @author jiangping * @date 2021-10-10 14:40:35 * https://www.bejson.com/othertools/cron/ cron 表达式生成地址 */ @Component @EnableScheduling @Slf4j public class ScheduleTool { @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private WxBillService wxBillService; @Autowired private GoodsorderService goodsorderService; @Autowired private MemberRidesService memberRidesService; @Autowired private SitesService sitesService; /** * @throws Exception */ 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 { log.info("=====================开始每天自动结算======================="); goodsorderService.autoCloseOrder(); log.info("=====================结束每天自动结算======================="); } /** * 定时刷新骑行中的数充值未开锁失败 * 30 秒刷新一次 * @throws Exception */ @Scheduled(cron = "0/30 * * * * ? ") public void autoRefreshLockStatus() throws Exception { log.info("=====================开始定时刷新骑行中的数充值未开锁失败======================="); memberRidesService.autoRefreshLockStatus(); log.info("=====================结束定时刷新骑行中的数充值未开锁失败======================="); } /** * 站点车辆满架率预警 * @throws Exception */ @Scheduled(fixedDelay = 1000L * 60L * 10L) public void siteReserves() throws Exception { log.info("=====================开始 站点车辆满架率预警======================="); sitesService.siteReservesNotice();; log.info("=====================结束 站点车辆满架率预警======================="); } }