123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.qs.mp.quartz.task;
- import cn.hutool.core.date.LocalDateTimeUtil;
- import cn.hutool.core.date.TemporalUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
- import com.qs.mp.common.enums.DeliverOrderStatusEnum;
- import com.qs.mp.common.utils.LogUtil;
- import com.qs.mp.user.domain.UserDeliverOrder;
- import com.qs.mp.user.service.IUserDeliverOrderService;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import org.springframework.transaction.annotation.Transactional;
- import java.time.LocalDateTime;
- import java.time.temporal.ChronoUnit;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * 用户提货订单任务
- * @author Cup
- * @date 2022/4/20
- */
- @Component("userDeliverOrderTask")
- public class UserDeliverOrderTask {
- protected final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
- @Autowired
- private IUserDeliverOrderService userDeliverOrderService;
- /**
- * x天前的待收货订单自动确认收货任务
- */
- public void confirm(Integer day) {
- LogUtil.info(logger, "...用户提货订单自动确认收货任务开始...");
- LocalDateTime now = LocalDateTimeUtil.now();
- LocalDateTime deliveryTime = LocalDateTimeUtil.offset(now, -day, ChronoUnit.DAYS);
- List<UserDeliverOrder> userDeliverOrderList = userDeliverOrderService.list(new LambdaQueryWrapper<UserDeliverOrder>()
- .eq(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.NOT_CONFIRM.getValue())
- .le(UserDeliverOrder::getDeliveryTime, deliveryTime));
- List<UserDeliverOrder> params = new ArrayList<>();
- if (CollectionUtils.isNotEmpty(userDeliverOrderList)) {
- for (UserDeliverOrder userDeliverOrder : userDeliverOrderList) {
- UserDeliverOrder param = new UserDeliverOrder();
- param.setOrderId(userDeliverOrder.getOrderId());
- param.setConfirmTime(new Date());
- param.setStatus(DeliverOrderStatusEnum.FINISHED);
- params.add(param);
- }
- }
- userDeliverOrderService.updateBatchById(params);
- LogUtil.info(logger, "...用户提货订单自动确认收货任务结束...");
- }
- }
|