Browse Source

Merge remote-tracking branch 'origin/master'

yjj 4 years ago
parent
commit
3a695c36f7

+ 6 - 1
ear_tag/pom.xml

@@ -24,7 +24,6 @@
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
         </dependency>
-
         <dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <artifactId>spring-boot-starter-test</artifactId>
@@ -77,6 +76,12 @@
             <artifactId>lombok</artifactId>
             <artifactId>lombok</artifactId>
         </dependency>
         </dependency>
 
 
+        <!--自定义依赖-->
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
     </dependencies>
 
 
     <build>
     <build>

+ 10 - 0
ear_tag/src/main/java/com/huimv/eartag/pojo/EartagData.java

@@ -17,6 +17,9 @@ public class EartagData implements Serializable{
     @Column(name = "id")
     @Column(name = "id")
 	private Integer id;//
 	private Integer id;//
 
 
+	@Column(name = "header")
+	private String header;//设备id
+
     @Column(name = "SBID")
     @Column(name = "SBID")
 	private Integer SBID;//设备id
 	private Integer SBID;//设备id
 
 
@@ -210,4 +213,11 @@ public class EartagData implements Serializable{
 	}
 	}
 
 
 
 
+	public String getHeader() {
+		return header;
+	}
+
+	public void setHeader(String header) {
+		this.header = header;
+	}
 }
 }

+ 3 - 1
ear_tag/src/main/java/com/huimv/eartag/service/IClientDataPacketService.java

@@ -1,7 +1,9 @@
 package com.huimv.eartag.service;
 package com.huimv.eartag.service;
 
 
+import java.text.ParseException;
+
 public interface IClientDataPacketService {
 public interface IClientDataPacketService {
 
 
     // 解析客户端数据包
     // 解析客户端数据包
-    public String parseClientSendPacket(String clientMessage);
+    public String parseClientSendPacket(String clientMessage) throws ParseException;
 }
 }

+ 4 - 2
ear_tag/src/main/java/com/huimv/eartag/service/impl/ClientDataPacketServiceImpl.java

@@ -5,6 +5,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.text.ParseException;
+
 /**
 /**
  * @Project : huimv.shiwan
  * @Project : huimv.shiwan
  * @Package : com.huimv.biosafety.uface.controller
  * @Package : com.huimv.biosafety.uface.controller
@@ -23,7 +25,7 @@ public class ClientDataPacketServiceImpl implements IClientDataPacketService {
     private SendPackageService sendPackageService;
     private SendPackageService sendPackageService;
 
 
     @Override
     @Override
-    public String parseClientSendPacket(String clientMessageTxt) {
+    public String parseClientSendPacket(String clientMessageTxt) throws ParseException {
         if (clientMessageTxt == null || clientMessageTxt.isEmpty()) {
         if (clientMessageTxt == null || clientMessageTxt.isEmpty()) {
 
 
         }
         }
@@ -54,7 +56,7 @@ public class ClientDataPacketServiceImpl implements IClientDataPacketService {
             return receivePackageSerivce.handleEartagDampness(clientMessageArray);
             return receivePackageSerivce.handleEartagDampness(clientMessageArray);
         } else if (Integer.parseInt(cmd) == 6) {
         } else if (Integer.parseInt(cmd) == 6) {
             // 处理耳标数据
             // 处理耳标数据
-            return receivePackageSerivce.handleEartagData(clientMessageArray);
+            return receivePackageSerivce.handleEartagData(clientMessageArray).toString();
         } else {
         } else {
             log.error("出错:当前命令cmd>>[" + cmd + "]未做任何处理.");
             log.error("出错:当前命令cmd>>[" + cmd + "]未做任何处理.");
             return null;
             return null;

+ 56 - 4
ear_tag/src/main/java/com/huimv/eartag/service/impl/ReceivePackageSerivce.java

@@ -1,7 +1,17 @@
 package com.huimv.eartag.service.impl;
 package com.huimv.eartag.service.impl;
 
 
+import com.huimv.common.date.DateUtil;
+import com.huimv.common.result.Result;
+import com.huimv.eartag.pojo.EartagData;
+import com.huimv.eartag.service.EartagDataService;
+import com.huimv.eartag.utils.Const;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
+import java.text.ParseException;
+import java.util.Date;
+
 /**
 /**
  * @Project : huimv.shiwan
  * @Project : huimv.shiwan
  * @Package : com.huimv.biosafety.uface.controller
  * @Package : com.huimv.biosafety.uface.controller
@@ -10,21 +20,63 @@ import org.springframework.stereotype.Component;
  * @Author : ZhuoNing
  * @Author : ZhuoNing
  * @Create : 2020-12-25
  * @Create : 2020-12-25
  **/
  **/
+@Slf4j
 @Component
 @Component
 public class ReceivePackageSerivce {
 public class ReceivePackageSerivce {
 
 
+    @Autowired
+    private EartagDataService eartagDataService;
     /**
     /**
      * @Method      : handleEartagData
      * @Method      : handleEartagData
-     * @Description : 
+     * @Description : 处理耳标数据
      * @Params      : [clientMessageArray]
      * @Params      : [clientMessageArray]
      * @Return      : java.lang.String
      * @Return      : java.lang.String
      * 
      * 
      * @Author      : ZhuoNing
      * @Author      : ZhuoNing
      * @Date        : 2021/1/16       
      * @Date        : 2021/1/16       
-     * @Time        : 12:04
+     * @Time        : 12:08
      */
      */
-    public String handleEartagData(String[] clientMessageArray) {
-        return null;
+    public Result handleEartagData(String[] clientMessageArray) throws ParseException {
+        log.info("开始添加耳标数据......");
+        String commandHeader = clientMessageArray[0];
+        String deviceId = clientMessageArray[1];
+        String cmd = clientMessageArray[2];
+        String version = clientMessageArray[3];
+        String eartagId = clientMessageArray[4];
+        String serial = clientMessageArray[5];
+        String dl = clientMessageArray[6];
+        String nbwd = clientMessageArray[7];
+        String ntc = clientMessageArray[8];
+        String ebwd = "";
+        String ydl = clientMessageArray[9];
+        String cqs = clientMessageArray[10];
+        String rssi = clientMessageArray[11];
+        String timestamp = clientMessageArray[12];
+        String checkNumber = clientMessageArray[13];
+        String commandTail = clientMessageArray[14];
+
+        //
+        EartagData eartagData = new EartagData();
+        eartagData.setHeader(commandHeader);
+        eartagData.setCMD(Integer.parseInt(cmd));
+        eartagData.setSBID(Integer.parseInt(deviceId));
+        eartagData.setVersion(version);
+        eartagData.setSerial(Integer.parseInt(serial));
+        eartagData.setEartagId(eartagId);
+        eartagData.setDl(Integer.parseInt(dl));
+        eartagData.setNBWD(Integer.parseInt(nbwd));
+        eartagData.setEBWD(0.0);
+        eartagData.setNtc(Integer.parseInt(ntc));
+        eartagData.setYDL(Integer.parseInt(ydl));
+        eartagData.setCQS(Integer.parseInt(cqs));
+        eartagData.setRSSYI(Integer.parseInt(rssi));
+        eartagData.setTimestamp(DateUtil.parseDateTime(DateUtil.buildDateTimeString(timestamp)));
+        eartagData.setCheckNumber(Integer.parseInt(checkNumber));
+        eartagData.setMLW(commandTail);
+        // 保存耳标数据
+        eartagDataService.add(eartagData);
+        log.info(Const.EARTAG_SAVE_SUCCESS);
+        return new Result(10000,Const.EARTAG_SAVE_SUCCESS,true);
     }
     }
 
 
     /**
     /**

+ 6 - 0
ear_tag/src/main/java/com/huimv/eartag/utils/Const.java

@@ -0,0 +1,6 @@
+package com.huimv.eartag.utils;
+
+
+public class Const {
+    public static final String EARTAG_SAVE_SUCCESS = "保存耳标数据成功";
+}

+ 55 - 0
ear_tag/src/test/java/com/huimv/eartag/service/DateTimeTest.java

@@ -0,0 +1,55 @@
+package com.huimv.eartag.service;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * @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 DateTimeTest {
+
+    @Test
+    public void testParseDateTime() throws ParseException {
+        String str = "2008-08-08 20:08:08";
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //String->Date
+        Date date = sdf.parse(str);
+        System.out.println(date);
+    }
+
+    @Test
+    public void testFormatDateTime() throws ParseException {
+        String date = "20201230175903";
+        String year = date.substring(0,4);
+        System.out.println("year>>"+year);
+        String month = date.substring(4,6);
+        System.out.println("month>>"+month);
+        String day = date.substring(6,8);
+        System.out.println("day>>"+day);
+        String hour = date.substring(8,10);
+        System.out.println("hour>>"+hour);
+        String minute = date.substring(10,12);
+        System.out.println("minute>>"+minute);
+        String seconds = date.substring(12,14);
+        System.out.println("seconds>>"+seconds);
+        String dateTime = year+"-"+month+"-"+day+" "+hour+":"+minute+":"+seconds;
+        System.out.println("dateTime>>"+dateTime);
+        //        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        //String->Date
+//        String date = sdf.format(str);
+//        System.out.println(date);
+    }
+}

+ 9 - 1
ear_tag/src/test/java/com/huimv/eartag/service/ParseClientMessageTest.java

@@ -6,6 +6,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.context.junit4.SpringRunner;
 
 
+import java.text.ParseException;
+
 /**
 /**
  * @Project : huimv.shiwan
  * @Project : huimv.shiwan
  * @Package : com.huimv.biosafety.uface.controller
  * @Package : com.huimv.biosafety.uface.controller
@@ -22,9 +24,15 @@ public class ParseClientMessageTest {
     private IClientDataPacketService iParseClientPacket;
     private IClientDataPacketService iParseClientPacket;
 
 
     @Test
     @Test
-    public void testParseClientMessage(){
+    public void testParseClientMessage() throws ParseException {
         String clientMessage = "hm+123456789012345+1+7+end";
         String clientMessage = "hm+123456789012345+1+7+end";
         String t = iParseClientPacket.parseClientSendPacket(clientMessage);
         String t = iParseClientPacket.parseClientSendPacket(clientMessage);
         System.out.println("t>>"+t);
         System.out.println("t>>"+t);
     }
     }
+
+    @Test
+    public void testHandleEartagData() throws ParseException {
+        String clientMessage = "hm+0+6+1.0+002d4895+668519+89+2100+10902+1550+2+84+20201230175903+9+end";
+        String t = iParseClientPacket.parseClientSendPacket(clientMessage).toString();
+    }
 }
 }