Browse Source

起步、停靠

ZhangNing 7 tháng trước cách đây
mục cha
commit
d56c2d30ba

+ 3 - 3
pom.xml

@@ -9,10 +9,10 @@
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>com.xyhy</groupId>
-    <artifactId>chargPileMQTTCluster</artifactId>
+    <artifactId>xingshenMQTTCluster</artifactId>
     <version>0.0.1-SNAPSHOT</version>
-    <name>chargPileMQTTCluster</name>
-    <description>chargPileMQTTCluster</description>
+    <name>xingshenMQTTCluster</name>
+    <description>xingshenMQTTCluster</description>
 
 
     <properties>

+ 124 - 0
src/main/java/com/xyhy/xingshenmqttcluster/common/HttpRequest.java

@@ -0,0 +1,124 @@
+package com.xyhy.xingshenmqttcluster.common;
+
+import org.springframework.stereotype.Component;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class HttpRequest {
+    /**
+     * 向指定URL发送GET方法的请求
+     *
+     * @param url   发送请求的URL
+     * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return URL 所代表远程资源的响应结果
+     */
+    public static Object sendGet(String url, String param) {
+        String result = "";
+        BufferedReader in = null;
+        try {
+            String urlNameString = url + "?" + param;
+            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.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()));
+            String line;
+            while ((line = in.readLine()) != null) {
+                result += line;
+            }
+        } catch (Exception e) {
+            System.out.println("发送GET请求出现异常!" + e);
+            e.printStackTrace();
+        }
+        // 使用finally块来关闭输入流
+        finally {
+            try {
+                if (in != null) {
+                    in.close();
+                }
+            } catch (Exception e2) {
+                e2.printStackTrace();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * 向指定 URL 发送POST方法的请求
+     *
+     * @param url   发送请求的 URL
+     * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return 所代表远程资源的响应结果
+     */
+    public static Object 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)");
+            // 发送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()));
+            String line;
+            while ((line = in.readLine()) != null) {
+                result += line;
+            }
+
+        } catch (Exception e) {
+            System.out.println("发送 POST 请求出现异常!" + e);
+            e.printStackTrace();
+        }
+        //使用finally块来关闭输出流、输入流
+        finally {
+            try {
+                if (out != null) {
+                    out.close();
+                }
+                if (in != null) {
+                    in.close();
+                }
+            } catch (IOException ex) {
+                ex.printStackTrace();
+            }
+        }
+        return result;
+    }
+}

+ 20 - 1
src/main/java/com/xyhy/xingshenmqttcluster/common/message/MessageHandle.java

@@ -1,6 +1,8 @@
 package com.xyhy.xingshenmqttcluster.common.message;
 
 import com.alibaba.fastjson.JSONObject;
+import com.xyhy.xingshenmqttcluster.common.Common;
+import com.xyhy.xingshenmqttcluster.common.HttpRequest;
 
 public class MessageHandle {
 
@@ -20,8 +22,25 @@ public class MessageHandle {
 
     }
 
-    public static void arriveStationRequest(String s, JSONObject msg){
+    public static void vehicleStart(String s, JSONObject msg){
+        String capacityResourceObjectId = msg.getString("capacityResourceObjectId");
+        String url = Common.getConfigByName("charging.interface.api.url.test") + "/tcpcarControl";
+        String param = "ivCapacityResourceld" + "=" + capacityResourceObjectId + "&" + "messageType" + "=" + "2";
+        Object o = HttpRequest.sendPost(url, param);
+        System.out.println("=============\n" + o);
+    }
 
+    public static void arriveStationRequest(String s, JSONObject msg){
+        String capacityResourceObjectId = msg.getString("capacityResourceObjectId");
+        JSONObject data = JSONObject.parseObject(msg.getString("data"));
+        JSONObject station = JSONObject.parseObject(data.getString("station"));
+        String stationId = station.getString("stationId");
+        String url = Common.getConfigByName("charging.interface.api.url.test") + "/tcpcarControl";
+        String param = "ivCapacityResourceld" + "=" + capacityResourceObjectId + "&" +
+                       "ivParkPointId" + "=" + stationId + "&" +
+                       "messageType" + "=" + "1";
+        Object o = HttpRequest.sendPost(url, param);
+        System.out.println("=============\n" + o);
     }
 
     public static void arrivePoint(String s, JSONObject msg){

+ 2 - 0
src/main/java/com/xyhy/xingshenmqttcluster/common/mqtt/MqttGetMessage.java

@@ -31,6 +31,8 @@ public class MqttGetMessage extends Common implements MqttCallback {
                 MessageHandle.fuelState(s, msg);
             case "4":
                 MessageHandle.vehicleState(s, msg);
+            case "6":
+                MessageHandle.vehicleStart(s, msg);
             case "19":
                 MessageHandle.arriveStationRequest(s, msg);
             case "102":

+ 3 - 3
src/main/resources/application.properties

@@ -12,8 +12,8 @@ MQTT.server.keepAlive=60
 
 ##MQTT.server.Subscribe=$queue\\101,$queue\\103,$queue\\105,$queue\\201,$queue\\302,$queue\\303,$queue\\305,$queue\\306,$queue\\309,$queue\\401,$queue\\501
 ##MQTT.server.Subscribe=xs/v1/business/boot/task/notify/important/msg/queue/34,xs/v1/business/boot/boot/task/notify/msg/queue/34
-#MQTT.server.Subscribe=xs/business/boot/task/notify/important/msg/queue/6
-MQTT.server.Subscribe=xs/v1/business/boot/boot/task/notify/msg/queue/34
+MQTT.server.Subscribe=xs/business/boot/task/notify/important/msg/queue/6
+#MQTT.server.Subscribe=xs/v1/business/boot/boot/task/notify/msg/queue/34
 
 #######WEB SERVER###########
 server.port=8080
@@ -59,4 +59,4 @@ rabbitMq.server.TOIMPLSERVEREXCHANGE=TOIMPLSERVEREXCHANGE
 rabbitMq.server.TOREALTIMEDATASERVEREXCHANGE=TOREALTIMEDATASERVEREXCHANGE
 
 #######log projectName###########
-project.name=myClient12312AAA312312311231
+project.name=xingshenMQTTCluster