增加子单立即发货

This commit is contained in:
cb 2025-09-12 11:30:28 +08:00
parent c3f89a3a4f
commit c8825f1c16
3 changed files with 47 additions and 0 deletions

View File

@ -1708,6 +1708,7 @@ public class OrderController extends BaseController {
&& master.getWorkerId() != null; && master.getWorkerId() != null;
logger.info("是否为监控单{}主单id{}", condition, master); logger.info("是否为监控单{}主单id{}", condition, master);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setGoods(goods);
orderListResponse.setIsNeedBill(master.getIsNeedBill()); orderListResponse.setIsNeedBill(master.getIsNeedBill());
orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder()); orderListResponse.setIsMonitoredOrder(master.getIsMonitoredOrder());
orderListResponse.setOrderImages(master.getOrderImages()); orderListResponse.setOrderImages(master.getOrderImages());
@ -1893,6 +1894,7 @@ public class OrderController extends BaseController {
// List<AfterServiceRecord> afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); // List<AfterServiceRecord> afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setGoods(goods);
orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand()); orderListResponse.setGoodsBrand(orderMaster.getGoodsBrand());
orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification()); orderListResponse.setGoodsSpecification(orderMaster.getGoodsSpecification());
orderListResponse.setOrderDetailId(detail.getId()); orderListResponse.setOrderDetailId(detail.getId());

View File

@ -297,4 +297,7 @@ public class OrderDetail extends BaseEntity {
*/ */
@Excel(name = "快递单号") @Excel(name = "快递单号")
private String trackingNumber; private String trackingNumber;
//是否立即发货
private Integer isQuicklyDelivery;
} }

View File

@ -144,6 +144,48 @@ public class OrderDetailServiceImpl implements OrderDetailService {
// 修改状态的时候需要清除超时状态 // 修改状态的时候需要清除超时状态
orderDetail.setTimeout(0); 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); int result = orderDetailMapper.updateOrderDetail(orderDetail);
// 查询主单关联商品 // 查询主单关联商品
List<OrderGoods> masterOrderGoodsList = orderGoodsService.selectByOrderMasterId(originOrderDetail.getOrderMasterId()); List<OrderGoods> masterOrderGoodsList = orderGoodsService.selectByOrderMasterId(originOrderDetail.getOrderMasterId());