Quellcode durchsuchen

自动确认收货任务

cup vor 3 Jahren
Ursprung
Commit
52891f02ac

+ 40 - 0
mp-quartz/src/main/java/com/qs/mp/quartz/task/ChannelOrderTask.java

@@ -1,12 +1,22 @@
 package com.qs.mp.quartz.task;
 
+import cn.hutool.core.date.LocalDateTimeUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.qs.mp.channel.domain.ChannelOrder;
 import com.qs.mp.channel.service.IChannelOrderService;
 import com.qs.mp.common.enums.ChannelOrderStatusEnum;
+import com.qs.mp.common.enums.DeliverOrderStatusEnum;
 import com.qs.mp.common.utils.DateUtils;
 import com.qs.mp.common.utils.LogUtil;
+
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+
+import com.qs.mp.user.domain.UserDeliverOrder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +36,36 @@ public class ChannelOrderTask {
 
   private final int PAGE_SIZE = 500;
 
+
+  /**
+   * x天前的待收货订单自动确认收货任务
+   */
+  public void confirm(int day) {
+    LogUtil.info(logger, "...渠道商订单自动确认收货任务开始...");
+    LocalDateTime now = LocalDateTimeUtil.now();
+    LocalDateTime deliveryTime = LocalDateTimeUtil.offset(now, -day, ChronoUnit.DAYS);
+
+    List<ChannelOrder> channelOrderList = channelOrderService.list(new LambdaQueryWrapper<ChannelOrder>()
+            .eq(ChannelOrder::getStatus, ChannelOrderStatusEnum.NOT_CONFIRM.getValue())
+            .le(ChannelOrder::getDeliveryTime, deliveryTime));
+
+    List<ChannelOrder> params = new ArrayList<>();
+    if (CollectionUtils.isNotEmpty(channelOrderList)) {
+      for (ChannelOrder channelOrder : channelOrderList) {
+        ChannelOrder param = new ChannelOrder();
+        param.setOrderId(channelOrder.getOrderId());
+        param.setConfirmTime(new Date());
+        param.setStatus(ChannelOrderStatusEnum.FINISHED);
+        params.add(param);
+      }
+    }
+    channelOrderService.updateBatchById(params);
+
+    LogUtil.info(logger, "...渠道商订单自动确认收货任务结束...");
+  }
+
+
+
   /**
    * 订单取消到期任务
    */

+ 2 - 2
mp-quartz/src/main/java/com/qs/mp/quartz/task/UserDeliverOrderTask.java

@@ -41,11 +41,11 @@ public class UserDeliverOrderTask {
     public void confirm(int day) {
         LogUtil.info(logger, "...用户提货订单自动确认收货任务开始...");
         LocalDateTime now = LocalDateTimeUtil.now();
-        LocalDateTime createdTime = LocalDateTimeUtil.offset(now, -day, ChronoUnit.DAYS);
+        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::getUpdatedTime, createdTime));
+                .le(UserDeliverOrder::getDeliveryTime, deliveryTime));
 
         List<UserDeliverOrder> params = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(userDeliverOrderList)) {

+ 4 - 0
mp-service/src/main/java/com/qs/mp/user/domain/UserDeliverOrder.java

@@ -119,6 +119,10 @@ public class UserDeliverOrder implements Serializable {
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private DeliverOrderStatusEnum status;
 
+  @TableField("delivery_time")
+  @ApiModelProperty("发货时间")
+  private Date deliveryTime;
+
   @TableField("confirm_Time")
   @ApiModelProperty("确认收货时间")
   private Date confirmTime;