Explorar o código

重点工程推送图片,header添加cookie

liuyuqiang hai 1 ano
pai
achega
58ba7fbc40

+ 21 - 18
src/main/java/com/sooka/sponest/dataexchange/sendChange/controller/EngineeringController.java

@@ -1,6 +1,8 @@
 package com.sooka.sponest.dataexchange.sendChange.controller;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.file.FilePrefixUtils;
@@ -19,6 +21,7 @@ import com.sooka.sponest.dataexchange.util.RestUtil;
 import com.sooka.sponest.dataexchange.util.spring.SpringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Controller;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -71,6 +74,17 @@ public class EngineeringController {
     @PostMapping("/receiveEngineeringData")
     @ResponseBody
     public R<?> receiveEngineeringData(@RequestBody List<CenterdataTKeyProjectsPictures> list) {
+        // 获取token
+        JSONObject params = new JSONObject();
+        params.put("username", "tsgz");
+        params.put("password", "Tsgz@123");
+        JSONObject result;
+        try {
+            result = RestUtil.post("http://192.168.7.72:18880/api/getToken", params);
+        } catch (Exception e) {
+            log.info("获取token报错:" + e.getMessage());
+            return R.fail("获取token报错");
+        }
         log.info("List<CenterdataTKeyProjectsPictures>:{}",list);
         R<String> appUrl = remoteConfigService.remotegetConfigKey("appUrl");
         List<CenterdataTKeyProjectsPictures> requestList = new ArrayList<>();
@@ -84,28 +98,17 @@ public class EngineeringController {
             centerdataTKeyProjectsPictures.setSchedulePictures(pictureList);
             requestList.add(var);
         }
-        // 获取token
-        JSONObject params = new JSONObject();
-        params.put("username", "tsgz");
-        params.put("password", "Tsgz@123");
-        JSONObject result = new JSONObject();
-        try {
-            result = RestUtil.post("http://192.168.7.72:18880/api/getToken", params);
-        } catch (Exception e) {
-            log.info("获取token报错");
-        }
         // TODO: 2024/1/16 0016 待修改
-        JSONObject headers = new JSONObject();
-        headers.put("cookie", result.getString("data"));
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("", requestList);
+        JSONObject variables = new JSONObject();
+        variables.put(HttpHeaders.COOKIE, result.getString("data"));
         try {
-            result = RestUtil.post("http://192.168.7.72:18880/api/receiveEngineeringPictures", headers, jsonObject);
-            log.info(result+"");
+            JSONArray array = JSONArray.parseArray(JSON.toJSONString(requestList));
+            result = RestUtil.post("http://192.168.7.72:18880/api/receiveEngineeringPictures", variables, array);
         } catch (Exception e) {
-            log.info("重点工程报错");
+            log.info("重点工程报错:" + e.getMessage());
+            return R.fail("重点工程报错");
         }
-        return R.ok(null,"接收成功");
+        return R.ok(result,"接收成功");
     }
 
     /**

+ 43 - 1
src/main/java/com/sooka/sponest/dataexchange/util/RestUtil.java

@@ -1,5 +1,6 @@
 package com.sooka.sponest.dataexchange.util;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.sooka.sponest.dataexchange.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -71,7 +72,7 @@ public class RestUtil {
      * 发送 Post 请求
      */
     public static JSONObject post(String url) {
-        return postNative(url, null, null).getBody();
+        return postNative(url, null, new JSONObject()).getBody();
     }
 
     /**
@@ -84,11 +85,25 @@ public class RestUtil {
     /**
      * 发送 Post 请求
      */
+    public static JSONObject post(String url, JSONArray params) {
+        return postNative(url, null, params).getBody();
+    }
+
+    /**
+     * 发送 Post 请求
+     */
     public static JSONObject post(String url, JSONObject variables, JSONObject params) {
         return postNative(url, variables, params).getBody();
     }
 
     /**
+     * 发送 Post 请求
+     */
+    public static JSONObject post(String url, JSONObject variables, JSONArray params) {
+        return postNative(url, variables, params).getBody();
+    }
+
+    /**
      * 发送 POST 请求,返回原生 ResponseEntity 对象
      */
     public static ResponseEntity<JSONObject> postNative(String url, JSONObject variables, JSONObject params) {
@@ -96,6 +111,13 @@ public class RestUtil {
     }
 
     /**
+     * 发送 POST 请求,返回原生 ResponseEntity 对象
+     */
+    public static ResponseEntity<JSONObject> postNative(String url, JSONObject variables, JSONArray params) {
+        return request(url, HttpMethod.POST, variables, params);
+    }
+
+    /**
      * 发送 put 请求
      */
     public static JSONObject put(String url) {
@@ -153,6 +175,13 @@ public class RestUtil {
 
     /**
      * 发送请求
+     */
+    public static ResponseEntity<JSONObject> request(String url, HttpMethod method, JSONObject variables, JSONArray params) {
+        return request(url, method, getHeaderApplicationJson(variables), variables, params, JSONObject.class);
+    }
+
+    /**
+     * 发送请求
      *
      * @param url          请求地址
      * @param method       请求方式
@@ -179,6 +208,8 @@ public class RestUtil {
             if (params instanceof JSONObject) {
                 body = ((JSONObject) params).toJSONString();
 
+            } else if (params instanceof JSONArray) {
+                body = ((JSONArray) params).toJSONString();
             } else {
                 body = params.toString();
             }
@@ -200,6 +231,17 @@ public class RestUtil {
     }
 
     /**
+     * 获取JSON请求头
+     */
+    public static HttpHeaders getHeaderApplicationJson(JSONObject jsonObject) {
+        HttpHeaders headers = getHeader(MediaType.APPLICATION_JSON_UTF8_VALUE);
+        if (null != jsonObject && null != jsonObject.getString(HttpHeaders.COOKIE)) {
+            headers.add(HttpHeaders.COOKIE, jsonObject.getString(HttpHeaders.COOKIE));
+        }
+        return headers;
+    }
+
+    /**
      * 获取请求头
      */
     public static HttpHeaders getHeader(String mediaType) {