From 3e6cd2231fc99a855129d1a293b8d65adf1683b5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 04 二月 2026 10:55:11 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java | 15 +++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java | 6 +-
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java | 41 ++++++++++++++++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java | 10 +++-
zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java | 2 +
zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java | 21 ++++++++++
6 files changed, 88 insertions(+), 7 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
index f1e1ee0..289941d 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
@@ -12,6 +12,8 @@
public static final String LIMIT_ONE = "limit 1";
+ public static final String RCS = "RCS";
+
/**
* 榛樿鎴愬姛鐮�
*/
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java
new file mode 100644
index 0000000..cf1fcb5
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java
@@ -0,0 +1,15 @@
+package com.zy.acs.manager.core.domain.type;
+
+public enum NamespaceType {
+
+ RCS_TASK_REPORT("浠诲姟瀹屾垚涓婃姤"),
+
+ ;
+
+ public String name;
+
+ NamespaceType(String name) {
+ this.name = name;
+ }
+
+}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
index 4a8c61e..b3bf360 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
@@ -10,6 +10,7 @@
import com.zy.acs.manager.core.integrate.dto.OpenBusSubmitParam;
import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.manager.entity.Bus;
+import com.zy.acs.manager.manager.entity.IntegrationRecord;
import com.zy.acs.manager.manager.entity.Task;
import com.zy.acs.manager.manager.enums.TaskStsType;
import com.zy.acs.manager.manager.service.BusService;
@@ -41,6 +42,26 @@
@PostMapping("/bus/submit")
@OperationLog("generate task from open api")
public R submit(@RequestBody OpenBusSubmitParam param) {
+ IntegrationRecord integrationRecord = new IntegrationRecord(
+ null, // 缂栧彿
+ null, // 鍚嶇О绌洪棿
+ null, // 鎺ュ彛鍦板潃
+ null, // 骞冲彴瀵嗛挜
+ null, // 璋冪敤鏂规爣璇�
+ null, // 鏂瑰悜[闈炵┖]
+ null, // 鏃堕棿鎴�
+ null, // 瀹㈡埛绔疘P
+ null, // 璇锋眰鍐呭
+ null, // 鍝嶅簲鍐呭
+ null, // 寮傚父鍐呭
+ null, // 缁撴灉
+ null, // 鑰楁椂
+ null, // 鐘舵��
+ null, // 娣诲姞鏃堕棿[闈炵┖]
+ null, // 淇敼鏃堕棿[闈炵┖]
+ null // 澶囨敞
+ );
+
mainService.generateBusAndTask(param, null);
return R.ok("generate tasks success");
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
index 4947200..b1238d2 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
@@ -4,16 +4,23 @@
import com.alibaba.fastjson.TypeReference;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
+import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.common.config.UplinkProperties;
+import com.zy.acs.manager.common.constant.Constants;
import com.zy.acs.manager.common.utils.HttpGo;
+import com.zy.acs.manager.core.domain.type.NamespaceType;
import com.zy.acs.manager.core.integrate.dto.HttpResult;
import com.zy.acs.manager.core.integrate.dto.TaskUplinkParam;
import com.zy.acs.manager.core.service.ThreadPoolRegulator;
import com.zy.acs.manager.manager.entity.Bus;
+import com.zy.acs.manager.manager.entity.IntegrationRecord;
import com.zy.acs.manager.manager.entity.Task;
+import com.zy.acs.manager.manager.enums.IntegrationDirectionType;
+import com.zy.acs.manager.manager.enums.StatusType;
import com.zy.acs.manager.manager.enums.TaskStsType;
import com.zy.acs.manager.manager.enums.TaskUplinkStateType;
import com.zy.acs.manager.manager.service.BusService;
+import com.zy.acs.manager.manager.service.IntegrationRecordService;
import com.zy.acs.manager.manager.service.TaskService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +28,7 @@
import javax.annotation.PostConstruct;
import java.time.Duration;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@@ -37,6 +45,10 @@
private ThreadPoolRegulator threadPoolRegulator;
@Autowired
private BusService busService;
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private IntegrationRecordService integrationRecordService;
private HttpGo http;
@@ -68,7 +80,7 @@
) {
return false;
}
-
+ Date now = new Date();
// block
// Future<R> future = threadPoolRegulator.getInstance().submit(() -> {
// mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true);
@@ -96,9 +108,30 @@
param.setTaskNo(task.getSeqNum());
param.setTimestamp(null == task.getEndTime() ? System.currentTimeMillis() : task.getEndTime().getTime());
+ IntegrationRecord integrationRecord = new IntegrationRecord(
+ String.valueOf(snowflakeIdWorker.nextId()).substring(3), // 缂栧彿
+ NamespaceType.RCS_TASK_REPORT.name, // 鍚嶇О绌洪棿
+ uplinkProperties.getUrl(), // 鎺ュ彛鍦板潃
+ null, // 骞冲彴瀵嗛挜
+ Constants.RCS, // 璋冪敤鏂规爣璇�
+ IntegrationDirectionType.OUTBOUND.value, // 鏂瑰悜[闈炵┖]
+ String.valueOf(now.getTime()), // 鏃堕棿鎴�
+ uplinkProperties.getHost(), // 瀹㈡埛绔疘P
+ JSON.toJSONString(param), // 璇锋眰鍐呭
+ null, // 鍝嶅簲鍐呭
+ null, // 寮傚父鍐呭
+ 0, // 缁撴灉
+ null, // 鑰楁椂
+ StatusType.ENABLE.val, // 鐘舵��
+ now, // 娣诲姞鏃堕棿[闈炵┖]
+ now, // 淇敼鏃堕棿[闈炵┖]
+ null // 澶囨敞
+ );
HttpResult<?> result;
try {
result = postForResult(url, headers, param);
+ integrationRecord.setResponse(JSON.toJSONString(result));
+
Integer code = result.getCode();
if (null == code || 200 != code) {
return false;
@@ -107,11 +140,17 @@
// if (Cools.isEmpty(data)) {
// return false;
// }
+
+ integrationRecord.setResult(1);
} catch (Exception e) {
log.error("Uplink report failed, taskId={}",
JSON.toJSONString(task),
e);
+ integrationRecord.setErr(e.getMessage());
return false;
+ } finally {
+ integrationRecord.setCostMs((int) (System.currentTimeMillis() - now.getTime()));
+ integrationRecordService.syncRecord(integrationRecord);
}
return true;
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java
index 31fbd14..626cefa 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java
@@ -2,9 +2,9 @@
public enum IntegrationDirectionType {
- NONE(0),
- INBOUND(1),
- OUTBOUND(2),
+ NONE(0), // 鏈煡
+ INBOUND(1), // 鎺ユ敹
+ OUTBOUND(2), // 璋冪敤
;
public int value;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java
index fc6cdc3..5c9f300 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java
@@ -1,16 +1,19 @@
package com.zy.acs.manager.manager.service.impl;
+import com.alibaba.fastjson.JSON;
import com.zy.acs.framework.common.R;
import com.zy.acs.manager.core.service.ThreadPoolRegulator;
import com.zy.acs.manager.manager.mapper.IntegrationRecordMapper;
import com.zy.acs.manager.manager.entity.IntegrationRecord;
import com.zy.acs.manager.manager.service.IntegrationRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.concurrent.CompletableFuture;
+@Slf4j
@Service("integrationRecordService")
public class IntegrationRecordServiceImpl extends ServiceImpl<IntegrationRecordMapper, IntegrationRecord> implements IntegrationRecordService {
@@ -21,14 +24,15 @@
public Boolean syncRecord(IntegrationRecord record) {
CompletableFuture<?> completableFuture = CompletableFuture.supplyAsync(() -> {
-
-
+ if (!this.save(record)) {
+ log.error("failed to save record {}", JSON.toJSONString(record));
+ }
// mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true);
// avoidWaveCalculator.calcDynamicNodeByVehicle(agv, null);
return R.ok();
}, threadPoolRegulator.getInstance());
- return false;
+ return true;
}
}
--
Gitblit v1.9.1