From 718d14e162a328387566a6d0d8b0fdd96948e166 Mon Sep 17 00:00:00 2001 From: lzh Date: Wed, 25 Mar 2026 14:26:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(ops):=20=E6=B4=BE=E5=8D=95=E9=93=BE?= =?UTF-8?q?=E8=B7=AF=E5=85=A8=E7=A8=8B=E4=BC=A0=E9=80=92=20assigneeName=20?= =?UTF-8?q?=E5=92=8C=20assigneePhone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AssigneeRecommendation、OrderDispatchContext、OrderTransitionRequest 新增 assigneePhone 字段;DispatchEngineImpl 在三条派单路径中传递 phone;EventPublishHandler 将 assigneeName 和 assigneePhone 写入 事件 payload,修复下游监听器取不到 assigneeName 的问题。 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../viewsh/module/ops/core/dispatch/DispatchEngineImpl.java | 4 ++++ .../ops/core/dispatch/model/AssigneeRecommendation.java | 5 +++++ .../ops/core/dispatch/model/OrderDispatchContext.java | 5 +++++ .../ops/core/lifecycle/handler/EventPublishHandler.java | 6 ++++++ .../ops/core/lifecycle/model/OrderTransitionRequest.java | 5 +++++ 5 files changed, 25 insertions(+) diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/DispatchEngineImpl.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/DispatchEngineImpl.java index f109557..23cf034 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/DispatchEngineImpl.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/DispatchEngineImpl.java @@ -108,6 +108,7 @@ public class DispatchEngineImpl implements DispatchEngine { Long assigneeId = recommendation.getAssigneeId(); context.setRecommendedAssigneeId(assigneeId); context.setRecommendedAssigneeName(recommendation.getAssigneeName()); + context.setRecommendedAssigneePhone(recommendation.getAssigneePhone()); log.info("分配决策完成: orderId={}, assigneeId={}, assigneeName={}, reason={}", context.getOrderId(), assigneeId, recommendation.getAssigneeName(), recommendation.getReason()); @@ -371,6 +372,7 @@ public class DispatchEngineImpl implements DispatchEngine { .targetStatus(WorkOrderStatusEnum.DISPATCHED) .assigneeId(assigneeId) .assigneeName(context.getRecommendedAssigneeName()) + .assigneePhone(context.getRecommendedAssigneePhone()) .queueId(queueDTO != null ? queueDTO.getId() : null) .operatorType(OperatorTypeEnum.SYSTEM) .operatorId(assigneeId) @@ -421,6 +423,7 @@ public class DispatchEngineImpl implements DispatchEngine { .orderId(context.getOrderId()) .assigneeId(assigneeId) .assigneeName(context.getRecommendedAssigneeName()) + .assigneePhone(context.getRecommendedAssigneePhone()) .operatorType(OperatorTypeEnum.SYSTEM) .operatorId(assigneeId) .reason("执行人忙碌,任务入队") @@ -451,6 +454,7 @@ public class DispatchEngineImpl implements DispatchEngine { .orderId(context.getOrderId()) .assigneeId(assigneeId) .assigneeName(context.getRecommendedAssigneeName()) + .assigneePhone(context.getRecommendedAssigneePhone()) .operatorType(OperatorTypeEnum.SYSTEM) .operatorId(assigneeId) .reason("执行人忙碌,任务入队") diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/AssigneeRecommendation.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/AssigneeRecommendation.java index bb820ed..ee3883b 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/AssigneeRecommendation.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/AssigneeRecommendation.java @@ -28,6 +28,11 @@ public class AssigneeRecommendation { */ private String assigneeName; + /** + * 推荐的执行人手机号 + */ + private String assigneePhone; + /** * 推荐评分(0-100) *

diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/OrderDispatchContext.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/OrderDispatchContext.java index 6b1d6ba..fe82514 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/OrderDispatchContext.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/dispatch/model/OrderDispatchContext.java @@ -67,6 +67,11 @@ public class OrderDispatchContext { */ private String recommendedAssigneeName; + /** + * 推荐的执行人手机号 + */ + private String recommendedAssigneePhone; + /** * 分配的设备ID(冗余字段) *

diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/handler/EventPublishHandler.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/handler/EventPublishHandler.java index ae2810c..6a7c8d3 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/handler/EventPublishHandler.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/handler/EventPublishHandler.java @@ -41,6 +41,12 @@ public class EventPublishHandler extends TransitionHandler { if (request.getAssigneeId() != null) { payload.put("assigneeId", request.getAssigneeId()); } + if (request.getAssigneeName() != null) { + payload.put("assigneeName", request.getAssigneeName()); + } + if (request.getAssigneePhone() != null) { + payload.put("assigneePhone", request.getAssigneePhone()); + } // 添加 urgentOrderId(P0打断场景) if (request.getUrgentOrderId() != null) { payload.put("urgentOrderId", request.getUrgentOrderId()); diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/model/OrderTransitionRequest.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/model/OrderTransitionRequest.java index 2fc46e3..688d590 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/model/OrderTransitionRequest.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/core/lifecycle/model/OrderTransitionRequest.java @@ -45,6 +45,11 @@ public class OrderTransitionRequest { */ private String assigneeName; + /** + * 执行人手机号(可选) + */ + private String assigneePhone; + /** * 操作人类型(可选) */