k94314517
2023-11-03 93c42cfcfe12125c463563f191d6ade421ba9db5
server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -3,10 +3,14 @@
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;
@@ -24,6 +28,7 @@
 */
@Component
@EnableScheduling
@Slf4j
public class ScheduleTool {
@@ -36,6 +41,13 @@
    @Autowired
    private GoodsorderService goodsorderService;
    @Autowired
    private MemberRidesService memberRidesService;
    @Autowired
    private SitesService sitesService;
    /**
     * @throws Exception
     */
@@ -50,19 +62,36 @@
     * 測試
     * @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/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("=====================结束 站点车辆满架率预警=======================");
    }
}