Ver Fonte

增加客户端数据包处理

zhuoning há 4 anos atrás
pai
commit
6c4bdfc934

+ 5 - 0
ear_tag/pom.xml

@@ -54,6 +54,11 @@
             <version>1.2.62</version>
             <scope>compile</scope>
         </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 6 - 0
ear_tag/src/main/java/com/huimv/ear_tag/service/IParseClientMessage.java

@@ -0,0 +1,6 @@
+package com.huimv.ear_tag.service;
+
+public interface IParseClientMessage {
+
+    public String parseClientSendPacket(String clientMessage);
+}

+ 134 - 0
ear_tag/src/main/java/com/huimv/ear_tag/service/impl/ParseClientMessageImpl.java

@@ -0,0 +1,134 @@
+package com.huimv.ear_tag.service.impl;
+
+import com.huimv.ear_tag.service.IParseClientMessage;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+@Slf4j
+public class ParseClientMessageImpl implements IParseClientMessage {
+    @Override
+    public String parseClientSendPacket(String clientMessageTxt) {
+        if(clientMessageTxt == null || clientMessageTxt.isEmpty()){
+
+        }
+        String matcher = "[+]";
+//        String matcher = "\\+";
+        String[] clientMessageArray =  clientMessageTxt.split(matcher);
+        String cmd = clientMessageArray[2];
+        System.out.println("cmd>>"+cmd);
+        log.info("命令>>"+cmd);
+        StringBuilder echoResultSb = new StringBuilder();
+        // 校验后边再做;
+        if(Integer.parseInt(cmd) == 1){
+            // 绑定序列号返回的设备id
+//            echoResultSb.append("hm").append("+");
+//            return "hm+1+0+设备id+000+8+end";
+            return _handleGetDeviceId(clientMessageArray);
+        }else if(Integer.parseInt(cmd) == 2){
+            // 处理获取服务器时间
+            return _handleGetServerDateTime(clientMessageArray);
+        }else if(Integer.parseInt(cmd) == 3){
+            // 处理心跳包
+            return _handleGetHeartbeatBag(clientMessageArray);
+        }else if(Integer.parseInt(cmd) == 4){
+            // 处理温度上传
+            return _handleEartagTemperature(clientMessageArray);
+        }else if(Integer.parseInt(cmd) == 5){
+            // 处理湿度上传
+            return _handleEartagDampness(clientMessageArray);
+        }else if(Integer.parseInt(cmd) == 6){
+            // 处理耳标数据
+            return _handleEartagData(clientMessageArray);
+        }else{
+            log.error("出错:当前命令cmd>>["+cmd+"]未做任何处理.");
+        }
+
+
+        return null;
+    }
+
+    private String _handleEartagData(String[] clientMessageArray) {
+
+        return null;
+    }
+
+    /**
+     * @Method      : _handleEartagDampness
+     * @Description :
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15
+     * @Time        : 17:47
+     */
+    private String _handleEartagDampness(String[] clientMessageArray) {
+        return null;
+    }
+
+    /**
+     * @Method      : _handleEartagTemperature
+     * @Description : 处理耳标温度
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15       
+     * @Time        : 17:46
+     */
+    private String _handleEartagTemperature(String[] clientMessageArray) {
+        return null;
+    }
+
+    /**
+     * @Method      : _handleGetDeviceId
+     * @Description : 获取设备id
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15       
+     * @Time        : 17:41
+     */
+    private String _handleGetDeviceId(String[] clientMessageArray) {
+
+        return null;
+    }
+
+    /**
+     * @Method      : _handleGetHeartbeatBag
+     * @Description : 
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15       
+     * @Time        : 17:38
+     */
+    private String _handleGetHeartbeatBag(String[] clientMessageArray) {
+        return null;
+    }
+
+    /**
+     * @Method      : _handleGetServerDateTime
+     * @Description : 
+     * @Params      : [clientMessageArray]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/1/15       
+     * @Time        : 17:38
+     */
+    private String _handleGetServerDateTime(String[] clientMessageArray) {
+        return null;
+    }
+}

+ 30 - 0
ear_tag/src/test/java/com/huimv/ear_tag/service/ParseClientMessageTest.java

@@ -0,0 +1,30 @@
+package com.huimv.ear_tag.service;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class ParseClientMessageTest {
+
+    @Autowired
+    private IParseClientMessage iParseClientMessage;
+
+    @Test
+    public void testParseClientMessage(){
+        String clientMessage = "hm+123456789012345+1+7+end";
+        String t = iParseClientMessage.parseClientMessage(clientMessage);
+        System.out.println("t>>"+t);
+    }
+}