chen 2 лет назад
Родитель
Сommit
28d8e53a65

+ 1 - 1
src/main/java/org/springblade/app/AppApiController.java

@@ -188,7 +188,7 @@ public class AppApiController {
 		if(productEntity==null){
 			return R.fail("NG的产品不存在");
 		}
-		if(productEntity.getStatus()!=-1){
+		if(productEntity.getStatus()!=2 && (productEntity.getAiStatus()==0 || productEntity.getAiStatus()==1)){
 			return R.fail("当前产品状态无法操作");
 		}
 		if("0".equals(isNg)){

+ 226 - 0
src/main/java/org/springblade/common/utils/PostGet.java

@@ -0,0 +1,226 @@
+package org.springblade.common.utils;
+
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.List;
+import java.util.Map;
+
+
+@Slf4j
+public class PostGet {
+	public static void main(String a[]){
+		try {
+			getResult("http://127.0.0.1:1111/restservice/web/approval/accpet","{name:111}",true);
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+	public static String getResult(String url,String param,Boolean postType) throws Exception {
+	   	 String content = "";
+			HttpURLConnection connection = null;
+			try {
+				URL restURL  = null;
+				try {
+					restURL  = new URL(url);
+				} catch (Exception me) {
+					log.error("请求路径:"+url);
+					log.error("请求异常",me);
+					me.printStackTrace();
+				}
+				if(restURL != null){
+		 			connection = (HttpURLConnection) restURL.openConnection();
+
+		 			connection.setConnectTimeout(60000);    //设置连接超时
+		 			connection.setReadTimeout(60000);        //设置响应超时
+		 			connection.setDoOutput(true);
+		 			if(postType){
+		 				connection.setRequestMethod("POST");
+		 			}else{
+		 				connection.setRequestMethod("GET");
+		 			}
+		 			connection.setRequestProperty("Content-Type", "application/json");
+		 			if ((param != null) && (param.length() > 1)) {
+		 				connection.setRequestMethod("POST");
+		 				connection.setDoOutput(true);
+		 				OutputStreamWriter outer = new OutputStreamWriter(
+		 						connection.getOutputStream(), "UTF-8");
+		 				outer.write(param);
+		 				outer.flush();
+		 				outer.close();
+		 			}
+		 			connection.connect();
+		 			InputStream ips = connection.getInputStream();
+		 			content = inputStreamToString(ips, "UTF-8");
+		 			ips.close();
+		 			connection.disconnect();
+				}
+			} catch (Exception e) {
+				log.error("请求路径:"+url);
+				log.error("请求异常",e);
+				e.printStackTrace();
+				throw new Exception(e.getMessage());
+			}
+			finally{
+				if(connection != null){
+					connection.disconnect();
+				}
+			}
+			return content;
+	    }
+
+	public static String inputStreamToString(InputStream is, String charSet)
+			throws IOException {
+		BufferedReader in = new BufferedReader(new InputStreamReader(is,
+				charSet));
+		StringBuffer buffer = new StringBuffer();
+		String line = "";
+		while ((line = in.readLine()) != null) {
+			buffer.append(line);
+			buffer.append("\r\n");
+		}
+		in.close();
+		return buffer.toString();
+	}
+
+	/**
+     * 向指定 URL 发送POST方法的请求
+     *
+     * @param url
+     *            发送请求的 URL
+     * @param param
+     *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendPost(String url, String param) {
+    	PrintWriter out = null;
+        BufferedReader in = null;
+        String result = "";
+        try {
+            URL realUrl = new URL(url);
+            // 打开和URL之间的连接
+            URLConnection conn = realUrl.openConnection();
+            // 设置通用的请求属性
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent",
+                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Accept-Charset", "utf-8");
+            conn.setRequestProperty("contentType", "utf-8");
+            conn.setConnectTimeout(60000);    //设置连接超时
+ 			conn.setReadTimeout(60000);        //设置响应超时
+            // 发送POST请求必须设置如下两行
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+            // 获取URLConnection对象对应的输出流
+            out = new PrintWriter(conn.getOutputStream());
+            // 发送请求参数
+            out.print(param);
+            // flush输出流的缓冲
+            out.flush();
+            // 定义BufferedReader输入流来读取URL的响应
+            in = new BufferedReader(
+                    new InputStreamReader(conn.getInputStream(),"utf-8"));
+            String line;
+            while ((line = in.readLine()) != null) {
+                result += line;
+            }
+
+        } catch (Exception e) {
+            System.out.println("发送 POST 请求出现异常!"+e);
+            log.error("请求路径:"+url);
+            log.error("异常",e);
+            e.printStackTrace();
+        }
+        //使用finally块来关闭输出流、输入流
+        finally{
+            try{
+                if(out!=null){
+                    out.close();
+                }
+                if(in!=null){
+                    in.close();
+                }
+            }
+            catch(IOException ex){
+            	log.error("请求路径:"+url);
+                log.error("异常",ex);
+                ex.printStackTrace();
+            }
+        }
+
+        return result;
+    }
+
+
+    /**
+     * 向指定URL发送GET方法的请求
+     *
+     * @param url
+     *            发送请求的URL
+     * @param param
+     *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return URL 所代表远程资源的响应结果
+     */
+    public static String sendGet(String url, String param) {
+        String result = "";
+        BufferedReader in = null;
+
+        try {
+            String urlNameString = url + "?" + param;
+            System.out.println(urlNameString);
+            URL realUrl = new URL(urlNameString);
+            // 打开和URL之间的连接
+            URLConnection connection = realUrl.openConnection();
+            // 设置通用的请求属性
+            connection.setRequestProperty("accept", "*/*");
+            connection.setRequestProperty("connection", "Keep-Alive");
+            connection.setRequestProperty("user-agent",
+                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            connection.setRequestProperty("Accept-Charset", "utf-8");
+            connection.setRequestProperty("contentType", "utf-8");
+            connection.setConnectTimeout(60000);    //设置连接超时
+ 			connection.setReadTimeout(60000);        //设置响应超时
+            // 建立实际的连接
+            connection.connect();
+            // 获取所有响应头字段
+            Map<String, List<String>> map = connection.getHeaderFields();
+            // 遍历所有的响应头字段
+            for (String key : map.keySet()) {
+                System.out.println(key + "--->" + map.get(key));
+            }
+            // 定义 BufferedReader输入流来读取URL的响应
+            in = new BufferedReader(new InputStreamReader(
+                    connection.getInputStream(),"utf-8"));
+            String line;
+            while ((line = in.readLine()) != null) {
+                result += line;
+            }
+
+        } catch (Exception e) {
+
+            System.out.println("发送GET请求出现异常!" + e);
+            log.error("请求路径:"+url);
+            log.error("异常",e);
+            e.printStackTrace();
+        }
+        // 使用finally块来关闭输入流
+        finally {
+            try {
+                if (in != null) {
+                    in.close();
+                }
+            } catch (Exception e2) {
+                e2.printStackTrace();
+            }
+        }
+        System.out.println(result);
+        return result;
+    }
+
+}

+ 7 - 6
src/main/java/org/springblade/modules/pl/product/service/impl/ProductImageRecordServiceImpl.java

@@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import liquibase.pro.packaged.E;
 import org.apache.http.client.utils.HttpClientUtils;
+import org.springblade.common.utils.PostGet;
 import org.springblade.core.http.util.HttpUtil;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.tool.utils.DateUtil;
@@ -127,7 +128,7 @@ public class ProductImageRecordServiceImpl extends BaseServiceImpl<ProductImageR
 							param.put("path",bladeFile.getLink());
 
 //							String result = HttpUtil.postJson("http://127.0.0.1:3300/ws_init",param.toJSONString());
-							String result = HttpUtil.postJson(aiUrl+"/ws_init",param.toJSONString());
+							String result = PostGet.getResult(aiUrl+"/ws_init",param.toJSONString(),true);
 							JSONObject jsonObject = JSONObject.parseObject(result);
 							if(jsonObject.get("status")!=null && jsonObject.getInteger("status")==200){
 								String filePath = jsonObject.getString("path");
@@ -205,12 +206,12 @@ public class ProductImageRecordServiceImpl extends BaseServiceImpl<ProductImageR
 		return productImageRecordVO;
 	}
 
-	public static void main(String[] args) {
-		Map<String,Object> param = new HashMap<>();
+	public static void main(String[] args) throws Exception {
+		Map<String,String> param = new HashMap<>();
 		param.put("action","detect");
-		param.put("type","origin-background");
-		param.put("path","/home/data/product-line/upload/20240326/003a0e875923d3e87c1e9184cb092ac1.jpg");
-		String result = HttpUtil.post("http://127.0.0.1/pl/camera/api/ws_init",param);
+		param.put("type","294AD-250A-0");
+		param.put("path","https://ai.my-123.cn/pic/product-line/upload/cs/20240329/000020009528-010010142308/a14cb318fc9a82a4f873fcde9d607226.jpg");
+		String result = PostGet.getResult("http://124.220.190.147:3300/ws_init",JSONObject.toJSONString(param),true);
 		System.out.println(result);
 	}
 }