From 3a633a83c866feed08d192c74c7d86cc66440916 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 01 四月 2026 00:02:13 +0800
Subject: [PATCH] #入库同步串行请求
---
src/main/java/com/zy/core/plugin/store/StoreInTaskPolicy.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/core/plugin/store/StoreInTaskPolicy.java b/src/main/java/com/zy/core/plugin/store/StoreInTaskPolicy.java
index 7549ec5..a0e481f 100644
--- a/src/main/java/com/zy/core/plugin/store/StoreInTaskPolicy.java
+++ b/src/main/java/com/zy/core/plugin/store/StoreInTaskPolicy.java
@@ -7,6 +7,7 @@
import com.zy.common.model.StartupDto;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.model.StationObjModel;
+import com.zy.core.model.protocol.StationProtocol;
import java.util.List;
@@ -37,10 +38,6 @@
return RedisKeyType.GENERATE_IN_TASK_LIMIT.key + context.getStationObjModel().getStationId();
}
- default int getSubmitLockSeconds(StoreInTaskContext context) {
- return 2;
- }
-
default int getRetryLockSeconds(StoreInTaskContext context) {
return 2;
}
@@ -66,19 +63,60 @@
default void afterTaskCreated(StoreInTaskContext context, WrkMast wrkMast) {
}
- default void onApplySubmitted(StoreInTaskContext context) {
- context.getStationProtocol().setSystemWarning("璇锋眰鍏ュ簱涓�");
+ default void setSystemWarning(StoreInTaskContext context, String warning) {
+ if (context == null || context.getStationProtocol() == null) {
+ return;
+ }
+ context.getStationProtocol().setSystemWarning(warning);
+ syncWarningToBackStation(context, warning);
}
- default void onApplyFailed(StoreInTaskContext context, AsyncInTaskResult result) {
- context.getStationProtocol().setSystemWarning("璇锋眰鍏ュ簱澶辫触锛學MS杩斿洖=" + buildFailureMessage(result));
+ default void clearSystemWarning(StoreInTaskContext context) {
+ setSystemWarning(context, "");
}
- default String buildFailureMessage(AsyncInTaskResult result) {
+ default void onApplyFailed(StoreInTaskContext context, InTaskApplyResult result) {
+ String warning = "璇锋眰鍏ュ簱澶辫触锛學MS杩斿洖=" + buildFailureMessage(result);
+ setSystemWarning(context, warning);
+ }
+
+ default String buildFailureMessage(InTaskApplyResult result) {
if (!Cools.isEmpty(result.getResponse())) {
return result.getResponse();
}
return result.getMessage();
}
+ default void syncWarningToBackStation(StoreInTaskContext context, String warning) {
+ if (context == null || context.getStationObjModel() == null || context.getStationThread() == null) {
+ return;
+ }
+ StationObjModel backStation = context.getStationObjModel().getBackStation();
+ if (backStation == null || backStation.getStationId() == null) {
+ return;
+ }
+ if (backStation.getStationId().equals(context.getStationProtocol().getStationId())) {
+ return;
+ }
+
+ List<StationProtocol> stations = context.getStationThread().getStatus();
+ if (stations != null) {
+ for (StationProtocol station : stations) {
+ if (station != null && backStation.getStationId().equals(station.getStationId())) {
+ station.setSystemWarning(warning);
+ return;
+ }
+ }
+ }
+
+ java.util.Map<Integer, StationProtocol> stationMap = context.getStationThread().getStatusMap();
+ if (stationMap == null) {
+ return;
+ }
+ StationProtocol backStationProtocol = stationMap.get(backStation.getStationId());
+ if (backStationProtocol != null) {
+ backStationProtocol.setSystemWarning(warning);
+ }
+ }
+
}
--
Gitblit v1.9.1