fix(ops): 修复直接派单场景事件发布问题并统一日志规范
Some checks failed
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled

1. 修复 QueueSyncHandler 在直接派单场景下提前返回的问题
2. 修复 EventPublishHandler 日志级别便于排查
3. 统一 LogType.eventType 为大写下划线格式

Co-Authored-By: Claude (MiniMax-M2.1) <noreply@anthropic.com>
This commit is contained in:
lzh
2026-01-29 19:01:27 +08:00
parent f44f422ba8
commit d8fd0aa389
4 changed files with 14 additions and 12 deletions

View File

@@ -146,7 +146,7 @@ public class OrderLifecycleManagerImpl implements OrderLifecycleManager {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public OrderTransitionResult dispatch(OrderTransitionRequest request) { public OrderTransitionResult dispatch(OrderTransitionRequest request) {
log.info("工单派发: orderId={}, queueId={}", request.getOrderId(), request.getQueueId()); log.info("工单派发: orderId={}, queueId={}, assigneeId={}", request.getOrderId(), request.getQueueId(), request.getAssigneeId());
// 设置目标状态 // 设置目标状态
request.setTargetStatus(WorkOrderStatusEnum.DISPATCHED); request.setTargetStatus(WorkOrderStatusEnum.DISPATCHED);

View File

@@ -30,7 +30,8 @@ public class EventPublishHandler extends TransitionHandler {
WorkOrderStatusEnum targetStatus = request.getTargetStatus(); WorkOrderStatusEnum targetStatus = request.getTargetStatus();
WorkOrderStatusEnum oldStatus = context.getOldStatus(); WorkOrderStatusEnum oldStatus = context.getOldStatus();
log.debug("事件发布处理器: orderId={}, {} -> {}", context.getOrder().getId(), oldStatus, targetStatus); log.info("事件发布处理器: orderId={}, {} -> {}, assigneeId={}",
context.getOrder().getId(), oldStatus, targetStatus, request.getAssigneeId());
try { try {
// 构建事件 payload包含 assigneeId // 构建事件 payload包含 assigneeId

View File

@@ -103,7 +103,8 @@ public class QueueSyncHandler extends TransitionHandler {
Long queueId = request.getQueueId(); Long queueId = request.getQueueId();
if (queueId == null) { if (queueId == null) {
log.warn("派发时缺少队列ID: orderId={}", context.getOrder().getId()); // 直接派单场景(无队列记录),跳过队列同步,继续执行后续处理器
log.debug("直接派单无队列记录,跳过队列同步: orderId={}", context.getOrder().getId());
return; return;
} }

View File

@@ -10,42 +10,42 @@ public enum LogType {
/** /**
* 派单日志 * 派单日志
*/ */
DISPATCH("dispatch", "派单"), DISPATCH("ORDER_DISPATCHED", "派单"),
/** /**
* 状态转换日志 * 状态转换日志
*/ */
TRANSITION("transition", "状态转换"), TRANSITION("ORDER_STATUS_CHANGED", "状态转换"),
/** /**
* 生命周期日志 * 生命周期日志
*/ */
LIFECYCLE("lifecycle", "生命周期"), LIFECYCLE("ORDER_LIFECYCLE", "生命周期"),
/** /**
* 队列日志 * 队列日志
*/ */
QUEUE("queue", "队列"), QUEUE("ORDER_QUEUE_CHANGED", "队列"),
/** /**
* 保洁员<EFBFBD><EFBFBD> * 保洁员
*/ */
CLEANER("cleaner", "保洁员"), CLEANER("CLEANER_ACTION", "保洁员"),
/** /**
* 设备日志 * 设备日志
*/ */
DEVICE("device", "设备"), DEVICE("DEVICE_ACTION", "设备"),
/** /**
* 通知日志 * 通知日志
*/ */
NOTIFICATION("notification", "通知"), NOTIFICATION("NOTIFICATION_SENT", "通知"),
/** /**
* 系统日志 * 系统日志
*/ */
SYSTEM("system", "系统"); SYSTEM("SYSTEM_EVENT", "系统");
private final String code; private final String code;
private final String description; private final String description;