| | |
| | | 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.sxkj.gd.workorder.dto.GdXingtuFlyTaskSaveDTO; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | |
| | |
| | | try { |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | headers.set("authorization", token); |
| | | log.info("请求外部接口: {} {}", url, body); |
| | | 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()); |