Преглед на файлове

修改益寿缘兔灵erp订单同步接口

cgp преди 2 седмици
родител
ревизия
ccaa90cb08

+ 1 - 1
fs-service/src/main/java/com/fs/erp/http/JstErpHttpService.java

@@ -84,5 +84,5 @@ public interface JstErpHttpService {
      * @param request 请求参数
      * @return CommonResponse<AfterSaleResponseDTO>
      */
-    TlCreateOrderResponse syncOrderToJst(TlCreateOrderRequest request);
+    CommonResponse<TlCreateOrderResponse> syncOrderToJst(TlCreateOrderRequest request);
 }

+ 32 - 21
fs-service/src/main/java/com/fs/erp/http/JstErpHttpServiceImpl.java

@@ -329,13 +329,16 @@ public class JstErpHttpServiceImpl implements JstErpHttpService {
     }
 
     @Override
-    public TlCreateOrderResponse syncOrderToJst(TlCreateOrderRequest request) {
+    public CommonResponse<TlCreateOrderResponse> syncOrderToJst(TlCreateOrderRequest request) {
         try {
             String corpId = request.getCorpId();
             List<?> rawData = request.getData();
 
             if (rawData == null || rawData.isEmpty()) {
-                throw new IllegalArgumentException("订单数据不能为空");
+                return new CommonResponse<TlCreateOrderResponse>()
+                        .setCode(-1)
+                        .setMsg("订单数据不能为空")
+                        .setData(null);
             }
 
             List<Map<String, Object>> dataAsMaps = new ArrayList<>();
@@ -350,19 +353,14 @@ public class JstErpHttpServiceImpl implements JstErpHttpService {
             String signSource = secretKey + corpId + sortedDataJson + timestamp;
             String sign = DigestUtils.md5Hex(signSource).toLowerCase();
 
-            // 构建 URL
             String url = jstApiBaseUrl + "/v1/mp/sync/order/jst/create?sign=" + sign + "&t=" + timestamp;
-
-            // 请求体
             String requestBody = objectMapper.writeValueAsString(request);
 
-            //打印关键调试信息
-            log.info("【聚水潭】请求URL: {}", url);
-            log.info("【聚水潭】请求Body: {}", requestBody);
-            log.info("【聚水潭】sign = MD5({})", signSource);
-            log.info("【聚水潭】最终 sign: {}, t: {}", sign, timestamp);
+            log.info("【兔灵】请求URL: {}", url);
+            log.info("【兔灵】请求Body: {}", requestBody);
+            log.info("【兔灵】sign = MD5({})", signSource);
+            log.info("【兔灵】最终 sign: {}, t: {}", sign, timestamp);
 
-            // 发起请求
             HttpHeaders headers = new HttpHeaders();
             headers.setContentType(MediaType.APPLICATION_JSON);
             HttpEntity<String> entity = new HttpEntity<>(requestBody, headers);
@@ -374,21 +372,34 @@ public class JstErpHttpServiceImpl implements JstErpHttpService {
                     TlCreateOrderResponse.class
             );
 
-            log.info("【聚水潭】响应状态: {}, body: {}", response.getStatusCode(), response.getBody());
-            if (response.getStatusCode() == HttpStatus.OK) {
-                log.info("订单同步成功");
-            }else {
-                log.error("订单同步失败:{}", response);
-                throw new RuntimeException("订单同步失败");
+            log.info("【兔灵】响应状态: {}, body: {}", response.getStatusCode(), response.getBody());
+
+            if (response.getStatusCode() == HttpStatus.OK && response.getBody() != null) {
+                return new CommonResponse<TlCreateOrderResponse>()
+                        .setCode(0)
+                        .setMsg("success")
+                        .setData(response.getBody());
+            } else {
+                String errorMsg = "HTTP状态码非200或响应体为空";
+                log.error("订单同步失败: {}", errorMsg);
+                return new CommonResponse<TlCreateOrderResponse>()
+                        .setCode(-1)
+                        .setMsg(errorMsg)
+                        .setData(null);
             }
-            return response.getBody();
 
         } catch (JsonProcessingException e) {
             log.error("JSON 序列化失败", e);
-            throw new RuntimeException("订单数据格式异常", e);
+            return new CommonResponse<TlCreateOrderResponse>()
+                    .setCode(-2)
+                    .setMsg("订单数据格式异常: " + e.getMessage())
+                    .setData(null);
         } catch (Exception e) {
-            log.error("调用同步聚水潭订单接口失败", e);
-            throw new RuntimeException("同步订单到聚水潭失败: " + e.getMessage(), e);
+            log.error("调用同步兔灵(聚水潭)订单接口失败", e);
+            return new CommonResponse<TlCreateOrderResponse>()
+                    .setCode(-3)
+                    .setMsg("同步订单到兔灵(聚水潭)失败: " + e.getMessage())
+                    .setData(null);
         }
     }