|
@@ -0,0 +1,66 @@
|
|
|
+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(int day) {
|
|
|
+ LogUtil.info(logger, "...用户提货订单自动确认收货任务开始...");
|
|
|
+ LocalDateTime now = LocalDateTimeUtil.now();
|
|
|
+ LocalDateTime createdTime = LocalDateTimeUtil.offset(now, -day, ChronoUnit.DAYS);
|
|
|
+
|
|
|
+ List<UserDeliverOrder> userDeliverOrderList = userDeliverOrderService.list(new LambdaQueryWrapper<UserDeliverOrder>()
|
|
|
+ .eq(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.NOT_CONFIRM.getValue())
|
|
|
+ .le(UserDeliverOrder::getUpdatedTime, createdTime));
|
|
|
+
|
|
|
+ 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, "...用户提货订单自动确认收货任务结束...");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|