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 13f5e9f6..8b241844 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
@@ -420,6 +420,39 @@ public class OrderController extends BaseController {
od.setOrderType(om.getOrderType());
if (request.getIsQuicklyDelivery()!=null&&request.getIsQuicklyDelivery()==1){
od.setOrderStatus(OrderStatus.SERVER.code());
+
+ // 立即发货时,计算确认截止时间并设置到confirmStartTime字段
+ Date now = new Date();
+ long waitTimeMillis;
+ String logType;
+
+ // 根据发货类型判断等待时间
+ if (om.getDeliveryType() != null) {
+ if (om.getDeliveryType() == 2 || om.getDeliveryType() == 3) {
+ // 送货上门或自提:8小时
+ waitTimeMillis = 8 * 60 * 60 * 1000L; // 8小时的毫秒数
+ logType = om.getDeliveryType() == 2 ? "送货上门" : "自提";
+ } else if (om.getDeliveryType() == 1) {
+ // 发快递/物流:4天
+ waitTimeMillis = 4 * 24 * 60 * 60 * 1000L; // 4天的毫秒数
+ logType = "发快递/物流";
+ } else {
+ // 未知发货类型,默认8小时
+ waitTimeMillis = 8 * 60 * 60 * 1000L;
+ logType = "未知类型(默认8小时)";
+ logger.warn("订单[{}]发货类型未知[{}],使用默认8小时", od.getCode(), om.getDeliveryType());
+ }
+
+ // 计算确认截止时间
+ Date confirmDeadlineTime = new Date(now.getTime() + waitTimeMillis);
+ od.setConfirmStartTime(confirmDeadlineTime);
+
+ logger.info("立即发货订单[{}]发货类型[{}],确认截止时间:{}",
+ od.getCode(), logType,
+ com.ghy.common.utils.DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", confirmDeadlineTime));
+ } else {
+ logger.warn("订单[{}]发货类型为null,未设置确认截止时间", od.getCode());
+ }
}else{
od.setOrderStatus(request.getWorkerId().equals(om.getWorkerId()) ? OrderStatus.GOING.code() : OrderStatus.RECEIVE.code());
}
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 429d5020..bed70f97 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
@@ -73,6 +73,15 @@ public class OrderDetail extends BaseEntity {
private String orderImgs;
+ @Excel(name = "交货图片", cellType = Excel.ColumnType.STRING)
+ private String deliveryImages;
+
+ @Excel(name = "交货备注", cellType = Excel.ColumnType.STRING)
+ private String deliveryRemark;
+
+ @Excel(name = "进入确认中时间", cellType = Excel.ColumnType.STRING)
+ private Date confirmStartTime;
+
// 商品归属师傅
private Worker goodsWorker;
// 接单师傅
diff --git a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml
index 2b76168a..a45ab7f2 100644
--- a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml
+++ b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml
@@ -30,6 +30,9 @@
+
+
+
@@ -60,6 +63,9 @@
create_time,
update_time,
remark,
+ delivery_images,
+ delivery_remark,
+ confirm_start_time,
timeout_,
timeout_fine_times,
after_timeout
@@ -91,6 +97,9 @@
od.create_time,
od.update_time,
od.remark,
+ od.delivery_images,
+ od.delivery_remark,
+ od.confirm_start_time,
od.draw_cash_status,
od.timeout_,
od.timeout_fine_times,
@@ -354,6 +363,9 @@
draw_cash_status = #{drawCashStatus},
clock_in_location = #{clockInLocation},
remark = #{remark},
+ delivery_images = #{deliveryImages},
+ delivery_remark = #{deliveryRemark},
+ confirm_start_time = #{confirmStartTime},
update_by = #{updateBy},
ledger_account_status = #{ledgerAccountStatus},
timeout_ = #{timeout},
@@ -412,6 +424,9 @@
worker_id,
rev_time,
remark,
+ delivery_images,
+ delivery_remark,
+ confirm_start_time,
expect_time_start,
expect_time_end,
work_begin_time,
@@ -428,6 +443,9 @@
#{workerId},
#{revTime},
#{remark},
+ #{deliveryImages},
+ #{deliveryRemark},
+ #{confirmStartTime},
#{expectTimeStart},
#{expectTimeEnd},
#{workBeginTime},
diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java
index afcf4412..ef6f2fce 100644
--- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java
+++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java
@@ -1428,6 +1428,7 @@ public class OrderServiceImpl implements OrderService {
// 计算应该转为确认中的时间
Date targetTime = new Date(updateTime.getTime() + waitTimeMillis);
+ orderDetail.setConfirmStartTime(targetTime);
// 检查是否到达目标时间
if (now.after(targetTime)) {
log.info("订单[{}]发货类型[{}]已到达等待时间,开始转为确认中状态", orderDetail.getCode(), logType);
diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/task/OrderTask.java b/ghy-quartz/src/main/java/com/ghy/quartz/task/OrderTask.java
index 437e132e..4bdae57c 100644
--- a/ghy-quartz/src/main/java/com/ghy/quartz/task/OrderTask.java
+++ b/ghy-quartz/src/main/java/com/ghy/quartz/task/OrderTask.java
@@ -73,7 +73,7 @@ public class OrderTask {
*/
public void orderServerToFinishCheck() {
try {
- orderService.AfterSalesAndShelveOrder();
+ orderService.orderServerToFinishCheck();
} catch (Exception e) {
log.error(e.getMessage(), e);
}