فهرست منبع

新增预约订单只能在期待送达时间前1小时内进行接单;

codingliang 1 سال پیش
والد
کامیت
2aaf23497f
1فایلهای تغییر یافته به همراه10 افزوده شده و 0 حذف شده
  1. 10 0
      src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

+ 10 - 0
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -90,6 +90,7 @@ import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -1548,6 +1549,15 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
                 return Result.success();
             }
 
+            String reservationFlag = tbOrder.getReservationFlag();
+            if (StrUtil.equals(reservationFlag, Constant.YES)) {
+                Date now = new Date();
+                Date expectDeliveryTime = tbOrder.getExpectDeliveryTime();
+                if (ChronoUnit.SECONDS.between(now.toInstant(), expectDeliveryTime.toInstant()) > 3600) {
+                    throw new SqxException("预约订单只能在期望送达时间前1小时内进行接单!");
+                }
+            }
+
             // 修改订单状态
             order.setStatus(6);
             //商家接单