From 050c39cbc7cd5dec5d4e82ab67a4b8abfa2ccbc6 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Fri, 6 Feb 2026 23:38:13 +0800 Subject: [PATCH] refactor(ActionExecutor): correct input actions' type in ActionExecutor --- .../action/dispatcher/ActionDispatcher.java | 26 +++++++------------ .../dispatcher/executor/ActionExecutor.java | 11 +++++--- .../executor/entity/ActionExecutorInput.java | 10 ++++--- .../executor/ActionExecutorTest.java | 8 +++--- 4 files changed, 26 insertions(+), 29 deletions(-) diff --git a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/ActionDispatcher.java b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/ActionDispatcher.java index a4c7a659..8b001717 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/ActionDispatcher.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/ActionDispatcher.java @@ -16,8 +16,8 @@ import work.slhaf.partner.module.modules.action.dispatcher.executor.entity.Actio import work.slhaf.partner.module.modules.action.dispatcher.scheduler.ActionScheduler; import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext; -import java.util.ArrayList; -import java.util.List; +import java.util.HashSet; +import java.util.Set; import java.util.concurrent.ExecutorService; @AgentModule(name = "action_dispatcher", order = 7) @@ -32,7 +32,6 @@ public class ActionDispatcher extends PostRunningModule { private ActionScheduler actionScheduler; private ExecutorService executor; - private final AssemblyHelper assemblyHelper = new AssemblyHelper(); @Init public void init() { @@ -49,8 +48,8 @@ public class ActionDispatcher extends PostRunningModule { String userId = context.getUserId(); val preparedActions = actionCapability.listActions(ActionData.ActionStatus.PREPARE, userId); // 分类成PLANNING和IMMEDIATE两类 - List scheduledActions = new ArrayList<>(); - List immediateActions = new ArrayList<>(); + Set scheduledActions = new HashSet<>(); + Set immediateActions = new HashSet<>(); for (ActionData preparedAction : preparedActions) { if (preparedAction instanceof ScheduledActionData actionInfo) { scheduledActions.add(actionInfo); @@ -58,7 +57,11 @@ public class ActionDispatcher extends PostRunningModule { immediateActions.add(actionInfo); } } - actionExecutor.execute(assemblyHelper.buildExecutorInput(immediateActions, userId)); + val actionExecutorInput = ActionExecutorInput.builder() + .userId(userId) + .actions(immediateActions) + .build(); + actionExecutor.execute(actionExecutorInput); actionScheduler.execute(scheduledActions); }); } @@ -68,15 +71,4 @@ public class ActionDispatcher extends PostRunningModule { return false; } - @SuppressWarnings("InnerClassMayBeStatic") - private class AssemblyHelper { - - public ActionExecutorInput buildExecutorInput(List immediateActions, String userId) { - ActionExecutorInput input = new ActionExecutorInput(); - input.setImmediateActions(immediateActions); - input.setUserId(userId); - return input; - } - - } } diff --git a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java index a74d5f69..b659aadf 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java @@ -9,8 +9,11 @@ import work.slhaf.partner.api.agent.factory.module.annotation.InjectModule; import work.slhaf.partner.api.agent.runtime.interaction.flow.abstracts.AgentRunningSubModule; import work.slhaf.partner.core.action.ActionCapability; import work.slhaf.partner.core.action.ActionCore; -import work.slhaf.partner.core.action.entity.*; +import work.slhaf.partner.core.action.entity.ActionData; import work.slhaf.partner.core.action.entity.ActionData.ActionStatus; +import work.slhaf.partner.core.action.entity.MetaAction; +import work.slhaf.partner.core.action.entity.MetaActionInfo; +import work.slhaf.partner.core.action.entity.PhaserRecord; import work.slhaf.partner.core.action.runner.RunnerClient; import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.memory.MemoryCapability; @@ -63,10 +66,10 @@ public class ActionExecutor extends AgentRunningSubModule { if (actionData.getStatus() != ActionData.ActionStatus.PREPARE) { return; @@ -298,7 +301,7 @@ public class ActionExecutor extends AgentRunningSubModule immediateActions; + private Set actions; } diff --git a/Partner-Main/src/test/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutorTest.java b/Partner-Main/src/test/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutorTest.java index fb262f54..d3991d5a 100644 --- a/Partner-Main/src/test/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutorTest.java +++ b/Partner-Main/src/test/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutorTest.java @@ -369,10 +369,10 @@ class ActionExecutorTest { } private ActionExecutorInput buildInput(String userId, ImmediateActionData actionData) { - ActionExecutorInput input = new ActionExecutorInput(); - input.setUserId(userId); - input.setImmediateActions(List.of(actionData)); - return input; + return ActionExecutorInput.builder() + .userId(userId) + .actions(Set.of(actionData)) + .build(); } private ImmediateActionData buildActionData(Map> actionChain) {