From 442f8cf748c2191213ed93ccdd2633ac4f02e038 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 08 Jul 2026 10:50:59 +0800
Subject: [PATCH] feat(device): 添加设备使用年限和维护状态功能
---
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
index f189b8a..d974e9e 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
@@ -325,7 +325,8 @@
entity.setInsureExpiredTime(parseInsuranceDate(item.getInsuranceInfo()));
entity.setAreaCode(extractAreaCode(item.getRegionCode()));
entity.setIsWithDock(item.getIsWithDock());
- entity.setCreateDept(item.getDeptId());
+ entity.setCreateDept(parseDeptId(item.getDeptId()));
+ entity.setMaintenanceState(item.getMaintenanceState());
entity.setDevicePayload(
Optional.ofNullable(item.getLoadList())
.orElse(Collections.emptyList())
@@ -364,7 +365,8 @@
entity.setInsureExpiredTime(parseInsuranceDate(item.getInsuranceInfo()));
entity.setAreaCode(extractAreaCode(item.getRegionCode()));
entity.setHeight(item.getHeight());
- entity.setCreateDept(item.getDeptId());
+ entity.setCreateDept(parseDeptId(item.getDeptId()));
+ entity.setMaintenanceState(item.getMaintenanceState());
return entity;
}
@@ -463,6 +465,30 @@
}
/**
+ * 解析部门ID字符串,处理逗号分隔的情况
+ * 星图接口可能返回逗号分隔的多个部门ID,这里只取第一个
+ *
+ * @param deptIdStr 部门ID字符串,可能包含逗号分隔的多个ID
+ * @return 第一个部门ID,解析失败返回null
+ */
+ private Long parseDeptId(String deptIdStr) {
+ // 1. 参数校验
+ if (StringUtil.isBlank(deptIdStr)) {
+ return null;
+ }
+ try {
+ // 2. 处理逗号分隔的情况,只取第一个ID
+ String firstDeptId = deptIdStr.split(",")[0].trim();
+ // 3. 转换为Long类型
+ return Long.valueOf(firstDeptId);
+ } catch (NumberFormatException e) {
+ // 4. 记录日志并返回null
+ log.warn("解析部门ID失败,deptIdStr: {}", deptIdStr, e);
+ return null;
+ }
+ }
+
+ /**
* 解析星图接口返回的列表数据
*
* @param response 接口响应
--
Gitblit v1.9.3