From c62275188c4b8fd34fdfd3555fe634571f8044a4 Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期三, 08 十一月 2023 17:47:44 +0800
Subject: [PATCH] 手动测试

---
 src/main/java/com/fzzy/gateway/hx2023/data/GateWayTestParam.java |   20 ++++++
 src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java |   59 +++++++++++++++++--
 src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml         |   57 +++++++++++++++++-
 3 files changed, 125 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/hx2023/data/GateWayTestParam.java b/src/main/java/com/fzzy/gateway/hx2023/data/GateWayTestParam.java
new file mode 100644
index 0000000..c2bbde3
--- /dev/null
+++ b/src/main/java/com/fzzy/gateway/hx2023/data/GateWayTestParam.java
@@ -0,0 +1,20 @@
+package com.fzzy.gateway.hx2023.data;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class GateWayTestParam {
+
+    private Date start;
+
+    private Date end;
+
+    private Date dayTime;
+
+    private Double weight;
+
+    private String carNumber;
+
+}
diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
index 5e9b45c..87fb25a 100644
--- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
+++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
@@ -127,9 +127,9 @@
      * @return
      */
     @Expose
-    public String ajaxTestWeight() {
-        //double weigh = (double) parameter.get("weight");
-        double weigh = Double.parseDouble("3500.0");
+    public String ajaxTestWeight(GateWayTestParam parameter) {
+        double weigh = (double) parameter.getWeight();
+        //double weigh = Double.parseDouble("3500.0");
         List<GatewayDevice> devices = listAll();
         if(devices == null || devices.size()<= 0){
             return "娌℃湁璁惧";
@@ -166,13 +166,60 @@
 
             packet.setTimestamp(System.currentTimeMillis());
 
-            topic = "/device/hx-weigh-big-01/"+device.getDeviceId()+"/message/property/report";
+            topic = "/device/"+header.getProductId()+"/"+device.getDeviceId()+"/message/property/report";
             mqttPublishService.publishMsg(topic, JSON.toJSONString(packet));
         }
         return "SUCCESS";
     }
 
+    /**
+     * gatewayDeviceService#ajaxTestLpr
+     * 鍦扮鎺ㄩ�佹祴璇�
+     * @return
+     */
+    @Expose
+    public String ajaxTestLpr() {
+        //String carNumber = parameter.getCarNumber();
+        String carNumber = "宸滱12345";
+        List<GatewayDevice> devices = listAll();
+        if(devices == null || devices.size()<= 0){
+            return "娌℃湁璁惧";
+        }
+        List<GatewayDevice> weights = devices.stream().filter(s ->(GatewayDeviceType.TYPE_02.getCode().equals(s.getType()))).collect(Collectors.toList());
+        if(weights == null || weights.size()<= 0){
+            return "娌℃湁鑾峰彇鍒拌澶�";
+        }
+        String topic = "/device/hx-weigh-big-01/91511424746940066Y001_91511424746940066Y0010000_002_004_002_001/message/property/report";
 
+        for (GatewayDevice device: weights) {
+
+            WebSocketPacket packet = new WebSocketPacket();
+
+            //productId鐨勫�煎湪webSocket鎵ц鍙戦�佹柟娉曚腑琛ュ厖
+            WebSocketPacketHeader header = new WebSocketPacketHeader();
+            header.setDeviceName(device.getDeviceName());
+            header.setProductId("hx-catch-01");
+            //header.set
+            packet.setHeaders(header);
+            packet.setMessageType(ScConstant.MESSAGE_TYPE_REPORT_PROPERTY);
+            packet.setDeviceId(device.getDeviceId());
+
+            //璁剧疆淇℃伅涓讳綋
+            LprData lpr = new LprData();
+            lpr.setDeviceId(device.getDeviceId());
+            lpr.setCarNumber(carNumber);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("carNumber", carNumber);
+            jsonObject.put("position", "big");
+            packet.setProperties(jsonObject);
+
+            packet.setTimestamp(System.currentTimeMillis());
+
+            topic = "/device/"+header.getProductId()+"/"+device.getDeviceId()+"/message/property/report";
+            mqttPublishService.publishMsg(topic, JSON.toJSONString(packet));
+        }
+        return "SUCCESS";
+    }
 
     /**
      * gatewayDeviceService#ajaxTestGrain
@@ -182,7 +229,7 @@
      * @return
      */
     @Expose
-    public String ajaxTestGrain(Map<String, Object> parameter) {
+    public String ajaxTestGrain(GateWayTestParam parameter) {
 
         //鑾峰彇璁惧閰嶇疆锛屽彧閽堝绮儏璁惧杩涜鎵ц
 
@@ -192,7 +239,7 @@
             return "ERROR锛氫负鑾峰彇鍒扮郴缁熶腑璁惧閰嶇疆锛屽彇娑堟墽琛�";
         }
 
-        Date dayTime = (Date) parameter.get("dayTime");
+        Date dayTime = (Date) parameter.getDayTime();
         if (null == dayTime) dayTime = new Date();
 
         Date start = DateUtil.getCurZero(dayTime);
diff --git a/src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml b/src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml
index 324c4ba..ee8e87e 100644
--- a/src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml
+++ b/src/main/java/com/fzzy/gateway/view/GatewayConf.view.xml
@@ -83,18 +83,24 @@
       </PropertyDef>
     </DataType>
     <DataType name="dtParam" parent="Map">
+      <Property name="creationType">com.fzzy.gateway.hx2023.data.GateWayTestParam</Property>
       <PropertyDef name="start">
-        <Property name="dataType">Date</Property>
+        <Property name="dataType">DateTime</Property>
       </PropertyDef>
       <PropertyDef name="end">
-        <Property name="dataType">Date</Property>
+        <Property name="dataType">DateTime</Property>
       </PropertyDef>
       <PropertyDef name="dayTime">
-        <Property name="dataType">Date</Property>
+        <Property name="dataType">DateTime</Property>
         <Property name="label">閫夋嫨鏃堕棿</Property>
       </PropertyDef>
       <PropertyDef name="weight">
         <Property name="label">閲嶉噺</Property>
+        <Property name="dataType">Double</Property>
+        <Property name="defaultValue">0.0</Property>
+      </PropertyDef>
+      <PropertyDef name="carNumber">
+        <Property name="label">杞︾墝</Property>
       </PropertyDef>
     </DataType>
   </Model>
@@ -161,6 +167,12 @@
       <ToolBarButton>
         <ClientEvent name="onClick">view.get(&quot;#dialogWeight&quot;).show();</ClientEvent>
         <Property name="caption">鍦扮鎺ㄩ�佹祴璇�</Property>
+        <Property name="iconClass">fa fa-search</Property>
+        <Property name="exClassName">toolbar-button-push</Property>
+      </ToolBarButton>
+      <ToolBarButton>
+        <ClientEvent name="onClick">view.get(&quot;#dialogLpr&quot;).show();</ClientEvent>
+        <Property name="caption">杞︾墝鎺ㄩ�佹祴璇�</Property>
         <Property name="iconClass">fa fa-search</Property>
         <Property name="exClassName">toolbar-button-push</Property>
       </ToolBarButton>
@@ -353,7 +365,7 @@
       <Buttons>
         <Button>
           <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
-view.get(&quot;#ajaxTestGrain&quot;).set(&quot;parameter&quot;,data.toJSON()).execute(function(result){&#xD;
+view.get(&quot;#ajaxTestGrain&quot;).set(&quot;parameter&quot;,data).execute(function(result){&#xD;
 	self.get(&quot;parent&quot;).hide();&#xD;
 	$alert(result);&#xD;
 });</ClientEvent>
@@ -392,7 +404,7 @@
       <Buttons>
         <Button>
           <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
-view.get(&quot;#ajaxTestWeight&quot;).set(&quot;parameter&quot;,data.get("weight")).execute(function(result){&#xD;
+view.get(&quot;#ajaxTestWeight&quot;).set(&quot;parameter&quot;,data).execute(function(result){&#xD;
 	self.get(&quot;parent&quot;).hide();&#xD;
 	$alert(result);&#xD;
 });</ClientEvent>
@@ -420,5 +432,40 @@
       <Property name="service">gatewayDeviceService#ajaxTestWeight</Property>
       <Property name="executingMessage">鍦ㄥ姫鍔涙墽琛屼腑鈥︹��</Property>
     </AjaxAction>
+    <Dialog id="dialogLpr">
+      <Property name="width">400</Property>
+      <Property name="height">300</Property>
+      <Property name="caption">杈撳叆杞︾墝</Property>
+      <Buttons>
+        <Button>
+          <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
+view.get(&quot;#ajaxTestLpr&quot;).set(&quot;parameter&quot;,data).execute(function(result){&#xD;
+	self.get(&quot;parent&quot;).hide();&#xD;
+	$alert(result);&#xD;
+});</ClientEvent>
+          <Property name="caption">纭畾鎵ц</Property>
+        </Button>
+        <Button>
+          <ClientEvent name="onClick">view.get(&quot;#dialogLpr&quot;).hide();</ClientEvent>
+          <Property name="caption">鍙栨秷鎵ц</Property>
+        </Button>
+      </Buttons>
+      <Children>
+        <AutoForm>
+          <Property name="dataSet">dsQuery</Property>
+          <Property name="cols">*</Property>
+          <AutoFormElement>
+            <Property name="name">carNumber</Property>
+            <Property name="property">carNumber</Property>
+            <Editor/>
+          </AutoFormElement>
+        </AutoForm>
+      </Children>
+      <Tools/>
+    </Dialog>
+    <AjaxAction id="ajaxTestLpr">
+      <Property name="service">gatewayDeviceService#ajaxTestLpr</Property>
+      <Property name="executingMessage">鍦ㄥ姫鍔涙墽琛屼腑鈥︹��</Property>
+    </AjaxAction>
   </View>
 </ViewConfig>

--
Gitblit v1.9.3