diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 13378577..97f4c43d 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -1708,6 +1708,7 @@ public class OrderController extends BaseController { && master.getWorkerId() != null; logger.info("是否为监控单{}主单id{}", condition, master); // 编辑返回属性 + orderListResponse.setGoods(goods); orderListResponse.setIsNeedBill(master.getIsNeedBill()); orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder()); orderListResponse.setOrderImages(master.getOrderImages()); @@ -1893,6 +1894,7 @@ public class OrderController extends BaseController { // List afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); // 编辑返回属性 + orderListResponse.setGoods(goods); orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand()); orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification()); orderListResponse.setOrderDetailId(detail.getId()); diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java index 31af8712..fb91cf10 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java @@ -297,4 +297,7 @@ public class OrderDetail extends BaseEntity { */ @Excel(name = "快递单号") private String trackingNumber; + + //是否立即发货 + private Integer isQuicklyDelivery; } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 0782fc82..a182eaaf 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -144,6 +144,48 @@ public class OrderDetailServiceImpl implements OrderDetailService { // 修改状态的时候需要清除超时状态 orderDetail.setTimeout(0); } + + // 判断是否为立即发货订单 + if (orderDetail.getIsQuicklyDelivery() != null && orderDetail.getIsQuicklyDelivery() == 1) { + // 查询主单信息获取发货类型 + + + orderDetail.setOrderStatus(OrderStatus.SERVER.code()); + + // 立即发货时,计算确认截止时间并设置到confirmStartTime字段 + Date now = new Date(); + long waitTimeMillis; + String logType; + + // 根据发货类型判断等待时间 + if (orderDetail.getDeliveryType() != null) { + if (orderDetail.getDeliveryType() == 2 || orderDetail.getDeliveryType() == 3) { + // 送货上门或自提:8小时 + waitTimeMillis = 8 * 60 * 60 * 1000L; // 8小时的毫秒数 + logType = orderDetail.getDeliveryType() == 2 ? "送货上门" : "自提"; + } else if (orderDetail.getDeliveryType() == 1) { + // 发快递/物流:4天 + waitTimeMillis = 4 * 24 * 60 * 60 * 1000L; // 4天的毫秒数 + logType = "发快递/物流"; + } else { + // 未知发货类型,默认8小时 + waitTimeMillis = 8 * 60 * 60 * 1000L; + logType = "未知类型(默认8小时)"; + logger.warn("订单[{}]发货类型未知[{}],使用默认8小时", orderDetail.getCode(), orderDetail.getDeliveryType()); + } + + // 计算确认截止时间 + Date confirmDeadlineTime = new Date(now.getTime() + waitTimeMillis); + orderDetail.setConfirmStartTime(confirmDeadlineTime); + + logger.info("立即发货订单[{}]发货类型[{}],确认截止时间:{}", + orderDetail.getCode(), logType, + com.ghy.common.utils.DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", confirmDeadlineTime)); + } else { + logger.warn("订单[{}]发货类型为null,未设置确认截止时间", orderDetail.getCode()); + } + } + int result = orderDetailMapper.updateOrderDetail(orderDetail); // 查询主单关联商品 List masterOrderGoodsList = orderGoodsService.selectByOrderMasterId(originOrderDetail.getOrderMasterId());