From 51a551a7f8eae7654f973d45cd2fa2952774673d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 07 Aug 2026 10:56:55 +0800
Subject: [PATCH] perf(task): 优化巡查任务审核性能并添加详细日志记录
---
drone-service/drone-gd/src/main/java/org/sxkj/gd/xingtu/JianXingtuApiService.java | 49 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 37 insertions(+), 12 deletions(-)
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/xingtu/JianXingtuApiService.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/xingtu/JianXingtuApiService.java
index 1e506ec..bd8a4fc 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/xingtu/JianXingtuApiService.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/xingtu/JianXingtuApiService.java
@@ -1,6 +1,8 @@
package org.sxkj.gd.xingtu;
+import com.alibaba.fastjson.JSON;
import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
@@ -14,6 +16,7 @@
import org.sxkj.gd.workorder.dto.GdXingtuFlyTaskSaveDTO;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -23,6 +26,7 @@
* @Date 2026/1/26 15:22
* @Version 1.0
*/
+@Slf4j
@Service
public class JianXingtuApiService {
@@ -38,7 +42,8 @@
/**
* 获取星图登录token
- * @return token
+ *
+ * @return token
*/
@SneakyThrows
public String getToken() {
@@ -80,6 +85,7 @@
/**
* 设备列表-无人机
+ *
* @param name 名称
* @return 接口响应
*/
@@ -90,6 +96,7 @@
/**
* 设备列表-机巢
+ *
* @param name 名称
* @return 接口响应
*/
@@ -100,6 +107,7 @@
/**
* 新增飞行任务
+ *
* @param param 请求参数
* @return 接口响应
*/
@@ -121,23 +129,40 @@
if (StringUtil.isBlank(token) || "获取token失败".equals(token)) {
return R.fail("获取token失败");
}
- HttpHeaders headers = new HttpHeaders();
- headers.set("authorization", token);
-
- HttpEntity<Object> entity = new HttpEntity<>(body, headers);
- ResponseEntity<R> response = restTemplate.exchange(url, HttpMethod.POST, entity, R.class);
- if (response.getStatusCode().is2xxSuccessful()) {
- R responseBody = response.getBody();
- if (responseBody != null) {
- return responseBody;
+ try {
+ HttpHeaders headers = new HttpHeaders();
+ headers.set("authorization", token);
+ log.info("请求外部接口: {} {}", url, JSON.toJSONString(body));
+ HttpEntity<Object> entity = new HttpEntity<>(body, headers);
+ ResponseEntity<R> response = restTemplate.exchange(url, HttpMethod.POST, entity, R.class);
+ log.info("响应外部接口: {}", response);
+ if (response.getStatusCode().is2xxSuccessful()) {
+ R responseBody = response.getBody();
+ if (responseBody != null) {
+ // 检查接口内部返回的success状态
+ if (!responseBody.isSuccess()) {
+ // 提取错误信息,优先使用msg字段
+ String errorMsg = responseBody.getMsg();
+ if (StringUtil.isBlank(errorMsg)) {
+ errorMsg = "接口调用失败";
+ }
+ log.warn("外部接口返回失败: {}", errorMsg);
+ return R.fail(errorMsg);
+ }
+ return responseBody;
+ }
+ return R.fail("接口返回为空");
}
- return R.fail("接口返回为空");
+ return R.fail("请求外部接口失败,HTTP状态码: " + response.getStatusCode());
+ } catch (Exception e) {
+ log.error("请求外部接口异常: ", e);
+ return R.fail("请求外部接口异常: " + e.getMessage());
}
- return R.fail("请求外部接口失败");
}
/**
* 解析JSON字符串为Map
+ *
* @param input JSON字符串
* @return 解析后的Map
*/
--
Gitblit v1.9.3