no message

This commit is contained in:
cb 2025-07-11 18:55:44 +08:00
parent 9a3245380b
commit ce8015b836
5 changed files with 62 additions and 1 deletions

View File

@ -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());
}

View File

@ -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;
// 接单师傅

View File

@ -30,6 +30,9 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="deliveryImages" column="delivery_images"/>
<result property="deliveryRemark" column="delivery_remark"/>
<result property="confirmStartTime" column="confirm_start_time"/>
<result property="timeout" column="timeout_"/>
<result property="afterTimeout" column="after_timeout"/>
<result property="timeoutFineTimes" column="timeout_fine_times"/>
@ -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 @@
<if test="drawCashStatus != null">draw_cash_status = #{drawCashStatus},</if>
<if test="clockInLocation != null and clockInLocation != ''">clock_in_location = #{clockInLocation},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="deliveryImages != null">delivery_images = #{deliveryImages},</if>
<if test="deliveryRemark != null">delivery_remark = #{deliveryRemark},</if>
<if test="confirmStartTime != null">confirm_start_time = #{confirmStartTime},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="ledgerAccountStatus != null">ledger_account_status = #{ledgerAccountStatus},</if>
<if test="timeout != null">timeout_ = #{timeout},</if>
@ -412,6 +424,9 @@
<if test="workerId != null and workerId != 0">worker_id,</if>
<if test="revTime != null">rev_time,</if>
<if test="remark != null">remark,</if>
<if test="deliveryImages != null">delivery_images,</if>
<if test="deliveryRemark != null">delivery_remark,</if>
<if test="confirmStartTime != null">confirm_start_time,</if>
<if test="expectTimeStart != null">expect_time_start,</if>
<if test="expectTimeEnd != null">expect_time_end,</if>
<if test="workBeginTime != null">work_begin_time,</if>
@ -428,6 +443,9 @@
<if test="workerId != null and workerId != 0">#{workerId},</if>
<if test="revTime != null">#{revTime},</if>
<if test="remark != null">#{remark},</if>
<if test="deliveryImages != null">#{deliveryImages},</if>
<if test="deliveryRemark != null">#{deliveryRemark},</if>
<if test="confirmStartTime != null">#{confirmStartTime},</if>
<if test="expectTimeStart != null">#{expectTimeStart},</if>
<if test="expectTimeEnd != null">#{expectTimeEnd},</if>
<if test="workBeginTime != null">#{workBeginTime},</if>

View File

@ -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);

View File

@ -73,7 +73,7 @@ public class OrderTask {
*/
public void orderServerToFinishCheck() {
try {
orderService.AfterSalesAndShelveOrder();
orderService.orderServerToFinishCheck();
} catch (Exception e) {
log.error(e.getMessage(), e);
}