Browse Source

新增部分新注册中心代码

zhuoning 2 years ago
parent
commit
7f1a4aafd0
31 changed files with 514 additions and 55 deletions
  1. 2 1
      registration-center/src/main/java/com/huimv/center/HuimvRegistrationCenterApplication.java
  2. 17 16
      registration-center/src/main/java/com/huimv/center/listener/DeviceListener.java
  3. 0 33
      registration-center/src/main/java/com/huimv/center/mapper/xml/BizDeviceRegisterMapper.xml
  4. 82 0
      registration-center/src/main/java/com/huimv/center/server/RegisterServer2.java
  5. 188 0
      registration-center/src/main/java/com/huimv/center/server/RegisterServerHandler2.java
  6. 3 0
      registration-center/src/main/java/com/huimv/center/service/BizRawDataService.java
  7. 2 1
      registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceAnswerFlowServiceImpl.java
  8. 2 1
      registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.java
  9. 1 1
      registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisteredFlowServiceImpl.java
  10. 0 1
      registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceUnregisteredFlowServiceImpl.java
  11. 0 1
      registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceUnregisteredServiceImpl.java
  12. 21 0
      registration-center/src/main/java/com/huimv/center/service/impl/BizRawDataServiceImpl.java
  13. 7 0
      registration-center/src/main/resources/application-dev.yml
  14. 91 0
      registration-center/src/main/resources/application-pool2.yml
  15. 7 0
      registration-center/target/classes/application-dev.yml
  16. 91 0
      registration-center/target/classes/application-pool2.yml
  17. BIN
      registration-center/target/classes/com/huimv/center/HuimvRegistrationCenterApplication.class
  18. BIN
      registration-center/target/classes/com/huimv/center/listener/DeviceListener.class
  19. BIN
      registration-center/target/classes/com/huimv/center/server/RegisterServer2$1.class
  20. BIN
      registration-center/target/classes/com/huimv/center/server/RegisterServer2.class
  21. BIN
      registration-center/target/classes/com/huimv/center/server/RegisterServerHandler2.class
  22. BIN
      registration-center/target/classes/com/huimv/center/service/BizRawDataService.class
  23. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizDeviceAnswerFlowServiceImpl.class
  24. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.class
  25. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizDeviceRegisteredFlowServiceImpl.class
  26. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizDeviceUnregisteredFlowServiceImpl.class
  27. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizDeviceUnregisteredServiceImpl.class
  28. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizRawDataServiceImpl.class
  29. BIN
      registration-center/target/classes/com/huimv/center/utils/idUtil.class
  30. BIN
      registration-center/target/registration-center-1.0-SNAPSHOT.jar
  31. BIN
      registration-center/target/registration-center-1.0-SNAPSHOT.jar.original

+ 2 - 1
registration-center/src/main/java/com/huimv/center/HuimvRegistrationCenterApplication.java

@@ -1,6 +1,7 @@
 package com.huimv.center;
 
 import com.huimv.center.server.RegisterServer;
+import com.huimv.center.server.RegisterServer2;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -20,6 +21,6 @@ public class HuimvRegistrationCenterApplication {
     public static void main(String[] args) throws InterruptedException {
         ApplicationContext applicationContext = SpringApplication.run(HuimvRegistrationCenterApplication.class, args);
         // 启动RegisterServer
-        applicationContext.getBean(RegisterServer.class).run();
+        applicationContext.getBean(RegisterServer2.class).run();
     }
 }

+ 17 - 16
registration-center/src/main/java/com/huimv/center/listener/DeviceListener.java

@@ -52,23 +52,15 @@ public class DeviceListener {
     @RabbitHandler
     @Transactional
     public void processDeviceRegisteredFlow(Map askMap) throws ParseException {
-        System.out.println("<<<<<<<<<<<<<<< askMap>>"+askMap.toString());
         String chipId = askMap.get("chipId").toString();
         String deviceCode = askMap.get("deviceCode").toString();
         String clientIp = askMap.get("clientIp").toString();
         String farmCode = askMap.get("farmCode").toString();
         String farmName = askMap.get("farmName").toString();
-        System.out.println("<<<<<<<<<<<<<<<<<<<<<<< 处理注册设备 1 <<<<<<<<<<<<<<<<<<<<<<<");
-
         // 添加已注册流水
         deviceRegisteredFlowService.addRegisteredFlow(chipId,deviceCode,clientIp,farmCode,farmName);
         // 更新已注册设备信息
         deviceRegisterService.updateDeviceRegisterTimes(chipId);
-
-//        updateDeviceRegistered(askMap);
-    }
-
-    public void updateDeviceRegistered(Map askMap) throws ParseException {
     }
 
     /**
@@ -85,10 +77,8 @@ public class DeviceListener {
     @RabbitHandler
     @Transactional
     public void processDeviceUnregisteredFlow(Map askMap) throws ParseException {
-        System.out.println("<<<<<<<<<<<<<<< askMap>>"+askMap.toString());
         String askText = askMap.get("deviceUnregistered").toString();
         String chipId = askMap.get("deviceUnregistered").toString();
-        System.out.println("<<<<<<<<<<<<<<<<<<<<<<< 处理未注册设备 2 <<<<<<<<<<<<<<<<<<<<<<<");
         // 添加非注册流水(统计次数)
         deviceUnregisteredFlowService.addDeviceUnregisteredFlow(chipId);
         // 添加非注册信息
@@ -109,28 +99,39 @@ public class DeviceListener {
     @RabbitHandler
     @Transactional
     public void processDeviceAnswer(Map askMap) throws ParseException {
-        System.out.println("<<<<<<<<<<<<<<< askMap>>"+askMap.toString());
         String askText = askMap.get("deviceAnswer").toString();
         String chipId = askMap.get("chipId").toString();
         String farmCode = askMap.get("farmCode").toString();
         String farmName = askMap.get("farmName").toString();
         String deviceCode = askMap.get("deviceCode").toString();
-        System.out.println("<<<<<<<<<<<<<<<<<<<<<<< 处理应答 3 <<<<<<<<<<<<<<<<<<<<<<<");
-
         // 添加设备应答信息流水信息
         deviceAnswerFlowService.addDeviceAnswer(chipId,deviceCode,askText,farmCode);
         // 计算应答次数
         deviceRegisterService.updateDeviceAnswerTimes(chipId);
-        //+++++++++++++++++++++++++++++++++++++++++++++++++++++
-
     }
 
+    /**
+     * @Method      : processAskCmd
+     * @Description : 处理原始数据
+     * @Params      : [askMap]
+     * @Return      : void
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/6/30       
+     * @Time        : 18:11
+     */
     @RabbitListener(queues = Const.QUEUE_ASK_CMD)
     @RabbitHandler
     public void processAskCmd(Map askMap) throws ParseException {
-        System.out.println("<<<<<<<<<<<<<<< askMap>>"+askMap.toString());
         String askCmd = askMap.get("askCmd").toString();
         // 添加原始数据信息
         bizRawDataServiceImpl.addRawData(askCmd);
     }
+
+    @RabbitListener(queues = Const.QUEUE_ASK_CMD)
+    @RabbitHandler
+    public void processSyncFarmDeviceRegister(Map askMap) throws ParseException {
+        // 添加原始数据信息
+        bizRawDataServiceImpl.syncFarmDeviceRegister(askMap);
+    }
 }

+ 0 - 33
registration-center/src/main/java/com/huimv/center/mapper/xml/BizDeviceRegisterMapper.xml

@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.huimv.center.mapper.BizDeviceRegisterMapper">
-
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.huimv.center.pojo.BizDeviceRegister">
-        <id column="id" property="id" />
-        <result column="chip_id" property="chipId" />
-        <result column="device_code" property="deviceCode" />
-        <result column="farm_code" property="farmCode" />
-        <result column="farm_name" property="farmName" />
-        <result column="register_date" property="registerDate" />
-        <result column="server_ip" property="serverIp" />
-        <result column="server_port" property="serverPort" />
-        <result column="first_time" property="firstTime" />
-        <result column="last_time" property="lastTime" />
-        <result column="remark" property="remark" />
-        <result column="ask_times" property="askTimes" />
-        <result column="first_time_answer" property="firstTimeAnswer" />
-        <result column="last_time_answer" property="lastTimeAnswer" />
-        <result column="answer_times" property="answerTimes" />
-    </resultMap>
-
-    <!-- 通用查询结果列 -->
-    <sql id="Base_Column_List">
-        id, chip_id, device_code, farm_code, register_date, server_ip, server_port, first_time, last_time, remark
-    </sql>
-
-    <select id="findPage" resultType="com.huimv.center.pojo.BizDeviceRegister">
-        select * from biz_device_register
-    </select>
-
-</mapper>

+ 82 - 0
registration-center/src/main/java/com/huimv/center/server/RegisterServer2.java

@@ -0,0 +1,82 @@
+package com.huimv.center.server;
+
+import io.netty.bootstrap.ServerBootstrap;
+import io.netty.channel.ChannelFuture;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.ChannelOption;
+import io.netty.channel.EventLoopGroup;
+import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.socket.SocketChannel;
+import io.netty.channel.socket.nio.NioServerSocketChannel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Component
+public class RegisterServer2 {
+    @Autowired
+    private RegisterServerHandler2 serverHandler;
+    //监听端口
+    private int port = 10021;
+    private int port2 = 10023;
+
+    //创建构造方法
+    public RegisterServer2(){
+    }
+
+//    public static void main(String[] args) throws InterruptedException {
+//        new EartagServer2().run();
+//    }
+/**
+ *
+ * 功能描述: 启动方法前台多个服务  处理多个线程
+ *
+ * @param:
+ * @return:
+ * @auther: LiGang
+ * @date: 2019/3/26 11:31
+ */
+    /**
+     * 启动流程
+     */
+    public void run() throws InterruptedException {
+        //配置服务端线程组
+        EventLoopGroup bossGroup=new NioEventLoopGroup();
+        EventLoopGroup workGroup=new NioEventLoopGroup();
+
+        try{
+            //引导整个server的启动
+            ServerBootstrap serverBootstrap = new ServerBootstrap();
+            serverBootstrap.group(bossGroup,workGroup)
+                    .channel(NioServerSocketChannel.class)    //指定处理的连接类型
+                    .option(ChannelOption.SO_REUSEADDR, true) // 多端口监听
+                    .childHandler(new ChannelInitializer<SocketChannel>() {
+                        @Override
+                        protected void initChannel(SocketChannel socketChannel) throws Exception {
+                            socketChannel.pipeline().addLast(serverHandler);
+                        }
+                    });
+            System.out.println("# 耳标及采集器设备数据接收服务器已经启动...");
+            System.out.println("# 正在监听端口1:"+port);
+            System.out.println("# 正在监听端口2:"+port2);
+            System.out.println("# 准备接收数据:");
+            //绑定端口,同步等待成功
+            ChannelFuture cf = serverBootstrap.bind(port).sync();
+            ChannelFuture cf2 = serverBootstrap.bind(port2).sync();
+            // 等待服务端监听端口关闭
+            cf.channel().closeFuture().sync();
+            cf2.channel().closeFuture().sync();
+        }finally {
+            //优雅的退出
+            bossGroup.shutdownGracefully();
+            workGroup.shutdownGracefully();
+        }
+    }
+}

+ 188 - 0
registration-center/src/main/java/com/huimv/center/server/RegisterServerHandler2.java

@@ -0,0 +1,188 @@
+package com.huimv.center.server;
+
+import com.alibaba.fastjson.JSONArray;
+import com.huimv.center.producer.Producer;
+import com.huimv.center.service.BizDeviceRegisterService;
+import com.huimv.center.utils.RegexUtil;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+import io.netty.util.CharsetUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.net.InetSocketAddress;
+import java.text.ParseException;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@ChannelHandler.Sharable
+@Component
+@Slf4j
+public class RegisterServerHandler2 extends ChannelInboundHandlerAdapter {
+    @Autowired
+    private RegexUtil regexUtil;
+    @Autowired
+    private BizDeviceRegisterService bizDeviceRegisterService;
+    @Autowired
+    private Producer producer;
+    //
+    private StringBuilder askTextSb = null;
+
+    //
+    public void appendClientAsk(String text) {
+        if (this.askTextSb == null) {
+            askTextSb = new StringBuilder();
+        }
+        askTextSb.append(text);
+    }
+
+    @Override
+    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+        ByteBuf data = (ByteBuf) msg;
+        String clientAskText = data.toString(CharsetUtil.UTF_8);
+        //保存实例内的客户端请求
+        appendClientAsk(clientAskText);
+    }
+
+    @Override
+    public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
+        if (askTextSb.toString().indexOf("end") != -1) {
+            InetSocketAddress ipSocket = (InetSocketAddress)ctx.channel().remoteAddress();
+            String clientIp = ipSocket.getAddress().getHostAddress();
+            log.info("客户端ip地址:{}",clientIp);
+            // 处理客户端消息(业务入口)
+            handleBusinessMessage(askTextSb.toString(), ctx,clientIp);
+            //清空重置;
+            askTextSb.delete(0, askTextSb.length());
+        }
+    }
+
+    @Override
+    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
+        if (cause.getMessage().indexOf("Connection reset") != -1) {
+            log.info("相关采集器设备正在重启:" + cause.toString());
+        }
+//        cause.printStackTrace();
+        ctx.close();
+    }
+
+    /**
+     * @Method : handleBusinessMessage
+     * @Description : 处理业务消息
+     * @Params : [clientAskText, ctx]
+     * @Return : void
+     * @Author : ZhuoNing
+     * @Date : 2022/3/28
+     * @Time : 17:36
+     */
+    private void handleBusinessMessage(String clientAskText, ChannelHandlerContext ctx, String clientIp) throws ParseException {
+        clientAskText = clientAskText.replaceAll("\r", "").replaceAll("\n", "");
+        System.out.println("服务端开始接收数据 >>" + clientAskText);
+        // 计算+号数量
+        int countPlus = regexUtil.countPlus(clientAskText);
+        if (countPlus < 4) {
+            System.out.println("当前数据为不完整数据,故丢弃.>>" + clientAskText);
+        } else {
+            //{拆分粘包数据}
+            JSONArray askJa = getPerData(clientAskText);
+            for (int a = 0; a < askJa.size(); a++) {
+                String askText = askJa.getString(a);
+                //
+                handleCommandLine(askText, ctx,clientIp);
+            }
+        }
+    }
+
+    /**
+     * @Method : handleCommandText
+     * @Description :处理命令文本
+     * @Params : [askText, ctx]
+     * @Return : void
+     * @Author : ZhuoNing
+     * @Date : 2022/3/23
+     * @Time : 18:08
+     */
+    private void handleCommandLine(String askText, ChannelHandlerContext ctx, String clientIp) throws ParseException {
+        String[] dataArray = askText.split("\\+");
+        String cmdHeader = dataArray[0];
+        //芯片id/设备编码
+        String idCode = dataArray[1];
+        String cmd = dataArray[2];
+        // 保存请求命令
+        producer.sendAskCmdRawData(askText);
+        if (cmdHeader.trim().equalsIgnoreCase("hm")) {
+            //采集器应答数据
+            if (cmd.trim().equalsIgnoreCase("0")) {
+                //不需要处理
+                System.out.println("==>命令0");
+                Map resultMap = bizDeviceRegisterService.getServerAndIpByChipId(idCode);
+                System.out.println("获取服务器IP>>"+resultMap);
+                if(resultMap.size()>0){
+                    // 发送设备已注册消息
+                    producer.sendDeviceRegistered(idCode,resultMap,askText,clientIp);
+                    String ip = resultMap.get("ip").toString();
+                    String port = resultMap.get("port").toString();
+                    String answer = "hm+0+0+"+ip+"+"+port+"+8+end";
+                    log.info(">>命令0设备编码-应答数据>>" + answer);
+                    ctx.writeAndFlush(Unpooled.copiedBuffer(answer.getBytes()));
+                    // 发送设备应答消息
+                    producer.sendDeviceAnswer(idCode,resultMap,answer);
+                }else{
+                    // 发送设备未注册消息
+                    producer.sendDeviceUnregistered(idCode,askText);
+                }
+            } else {
+                System.out.println("==>非法命令");
+                log.error(">>当前数据为非法数据>>" + askText);
+            }
+        } else {
+            System.out.println("==>非法命令");
+            log.error("##当前请求数据为非法数据>>" + askText);
+        }
+    }
+
+    //检查无效耳标
+    public boolean checkValidEarmark(String earmark) {
+        if (earmark.trim().equalsIgnoreCase("ffffffffffffffff") || earmark.trim().equalsIgnoreCase("0000000000000000")) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    //拆分粘包数据
+    public JSONArray getPerData(String text) {
+        String key = "end";
+        Pattern pattern = Pattern.compile(key);
+        Matcher matcher = pattern.matcher(text);
+        int count = 0;
+        while (matcher.find()) {
+            count++;
+        }
+        JSONArray dataJa = new JSONArray();
+        if (count == 1) {
+            dataJa.add(text);
+        } else {
+            for (int a = 0; a < count; a++) {
+                int p1 = text.indexOf("end");
+                dataJa.add(text.substring(0, p1 + 3));
+                text = text.substring(p1 + 3, text.length());
+            }
+        }
+        return dataJa;
+    }
+
+}

+ 3 - 0
registration-center/src/main/java/com/huimv/center/service/BizRawDataService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.eartag2.common.utils.Result;
 
 import java.text.ParseException;
+import java.util.Map;
 
 /**
  * <p>
@@ -21,4 +22,6 @@ public interface BizRawDataService extends IService<BizRawData> {
     Result listRawData(Integer pageNo, Integer pageSize, String searchText, String startDate, String endDate);
 
     Result remove(String ids);
+
+    void syncFarmDeviceRegister(Map askMap);
 }

+ 2 - 1
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceAnswerFlowServiceImpl.java

@@ -96,7 +96,8 @@ public class BizDeviceAnswerFlowServiceImpl extends ServiceImpl<BizDeviceAnswerF
 //        if(StringUtils.isNotEmpty(chipId)){
 //            queryWrapper.eq("chip_id", chipId);
 //        }
-        queryWrapper.eq("farm_code", farmCode);
+//        queryWrapper.eq("farm_code", farmCode);
+        queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
         queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
         queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code", deviceCode);
         queryWrapper.ge(StringUtils.isNotBlank(startDate),"add_time", startDate);

+ 2 - 1
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.java

@@ -133,7 +133,8 @@ public class BizDeviceRegisterServiceImpl extends ServiceImpl<BizDeviceRegisterM
         queryWrapper.le(StringUtils.isNotBlank(endDate),"last_time", endDate);
         //创建时间降序
         queryWrapper.orderByDesc("id");
-        return new Result(ResultCode.SUCCESS,bizDeviceRegisterMapper.selectPage(page, queryWrapper));
+        Page<BizDeviceRegister> pageBizDeviceRegister = bizDeviceRegisterMapper.selectPage(page, queryWrapper);
+        return new Result(ResultCode.SUCCESS,pageBizDeviceRegister);
     }
 
     /**

+ 1 - 1
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisteredFlowServiceImpl.java

@@ -118,7 +118,7 @@ public class BizDeviceRegisteredFlowServiceImpl extends ServiceImpl<BizDeviceReg
         endDate = dateUtil.buildEndDate(endDate);
         Page<BizDeviceRegisteredFlow> page = new Page<>(pageNo, pageSize);
         QueryWrapper<BizDeviceRegisteredFlow> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_code", farmCode);
+        queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
         queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
         queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code", deviceCode);
         queryWrapper.ge(StringUtils.isNotBlank(startDate),"add_time", startDate);

+ 0 - 1
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceUnregisteredFlowServiceImpl.java

@@ -92,7 +92,6 @@ public class BizDeviceUnregisteredFlowServiceImpl extends ServiceImpl<BizDeviceU
     @Override
     public Result removeByChipIdAndLastTime(String farmCode,String chipId, String startDate, String endDate) {
         QueryWrapper<BizDeviceUnregisteredFlow> queryWrapper = new QueryWrapper<>();
-//        queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
         queryWrapper.eq("farm_code", farmCode);
         queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
         queryWrapper.ge(StringUtils.isNotBlank(startDate),"add_time", startDate);

+ 0 - 1
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceUnregisteredServiceImpl.java

@@ -91,7 +91,6 @@ public class BizDeviceUnregisteredServiceImpl extends ServiceImpl<BizDeviceUnreg
         endDate = dateUtil.buildEndDate(endDate);
         Page<BizDeviceUnregistered> page = new Page<>(pageNo, pageSize);
         QueryWrapper<BizDeviceUnregistered> queryWrapper = new QueryWrapper<>();
-//        queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
         queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
         queryWrapper.ge(StringUtils.isNotBlank(startDate),"last_time", startDate);
         queryWrapper.le(StringUtils.isNotBlank(endDate),"last_time", endDate);

+ 21 - 0
registration-center/src/main/java/com/huimv/center/service/impl/BizRawDataServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.ParseException;
+import java.util.Map;
 
 /**
  * <p>
@@ -89,4 +90,24 @@ public class BizRawDataServiceImpl extends ServiceImpl<BizRawDataMapper, BizRawD
     public Result remove(String ids){
         return ResultUtil.result(BizRawDataMapper.deleteBatchIds(idUtil.convert(ids)));
     }
+
+    /**
+     * @Method      : syncFarmDeviceRegister
+     * @Description : 同步牧场基站设备注册
+     * @Params      : [askMap]
+     * @Return      : void
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/6/30       
+     * @Time        : 18:15
+     */
+    @Override
+    public void syncFarmDeviceRegister(Map askMap) {
+        String askCmd = askMap.get("askCmd").toString();
+
+        //注册牧场信息
+
+        //注册基站设备信息
+
+    }
 }

+ 7 - 0
registration-center/src/main/resources/application-dev.yml

@@ -103,6 +103,13 @@ spring:
         max-wait: -1
         max-idle: 10
         min-idle: 0
+    lettuce:
+      pool:
+        max-active: 3
+        min-idle: 2
+        max-idle: 3
+        max-wait: 1
+        shutdown-timeout: 100
 
 mybatis-plus:
   configuration:

+ 91 - 0
registration-center/src/main/resources/application-pool2.yml

@@ -0,0 +1,91 @@
+server:
+  port: 9090
+spring:
+  application:
+    name: huimv-registration
+
+  datasource:
+    url: jdbc:mysql://122.112.224.199:3306/huimv_registration_center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    url: jdbc:mysql://10.0.0.224:3306/huimv_registration_center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456
+    type: com.alibaba.druid.pool.DruidDataSource
+    #连接池
+    druid:
+      defaultAutoCommit: false
+      defaultReadOnly: false
+      #初始化大小
+      initialSize: 2
+      #最大值
+      maxActive: 10
+      #最小值
+      minIdle: 2
+      #配置间隔多久才进行一次检测,检测需要关闭的空闲连接
+      timeBetweenEvictionRunsMillis: 18000
+      #配置一个连接在池中最小生存的时间
+      minEvictableIdleTimeMillis: 600000
+      maxEvictableIdleTimeMillis: 1200000
+      poolPreparedStatements: true
+      maxOpenPreparedStatements: 100
+      testOnBorrow: true
+      testOnReturn: true
+      testWhileIdle: true
+      validationQuery: select 1
+      removeAbandonedOnBorrow: true
+      removeAbandoned: true
+      removeAbandonedOnMaintenance: true
+      removeAbandonedTimeout: 300
+      maxWaitMillis: 3000
+      keepalive: true
+      phyMaxUseCount: 2000
+      #'wall'用于防火墙,SpringBoot中没有log4j,我改成了log4j2
+      filters: stat,log4j2,config
+
+  rabbitmq:
+    host: 121.36.134.218
+#    host: 10.0.0.14
+    port: 5672
+    username: admin
+    password: admin
+    #虚拟host 可以不设置,使用server默认host
+    virtual-host: /registration_center
+    listener:
+      simple:
+        acknowledge-mode: none
+
+  #redis
+  redis:
+    database: 0
+    host: 121.36.134.218
+#    host: 10.0.0.14
+    port: 6379
+    password: hm123456
+    timeout: 5000ms
+#    jedis:
+#      pool:
+#        max-active: 20
+#        max-wait: -1
+#        max-idle: 10
+#        min-idle: 0
+#        lettuce:
+#          pool:
+#            max-active: 3
+#            min-idle: 2
+#            max-idle: 3
+#            max-wait: 1
+#          shutdown-timeout: 100
+#      data:
+#        redis:
+#          repositories:
+#            enabled: false
+#    #是否缓存空值
+#      cache:
+#        redis:
+#          cache-null-values: false
+
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  # mapper.xml文件所存放的位置
+  mapper-locations: classpath*:com/huimv/center/mapper/xml/*.xml  # 不加这一行出错:“org.apache.ibatis.binding.BindingException:  Invalid bound statement (not found)”
+#  mapper-locations: classpath:com/huimv/center/mappers/**/*Mapper.xml

+ 7 - 0
registration-center/target/classes/application-dev.yml

@@ -103,6 +103,13 @@ spring:
         max-wait: -1
         max-idle: 10
         min-idle: 0
+    lettuce:
+      pool:
+        max-active: 3
+        min-idle: 2
+        max-idle: 3
+        max-wait: 1
+        shutdown-timeout: 100
 
 mybatis-plus:
   configuration:

+ 91 - 0
registration-center/target/classes/application-pool2.yml

@@ -0,0 +1,91 @@
+server:
+  port: 9090
+spring:
+  application:
+    name: huimv-registration
+
+  datasource:
+    url: jdbc:mysql://122.112.224.199:3306/huimv_registration_center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    url: jdbc:mysql://10.0.0.224:3306/huimv_registration_center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456
+    type: com.alibaba.druid.pool.DruidDataSource
+    #连接池
+    druid:
+      defaultAutoCommit: false
+      defaultReadOnly: false
+      #初始化大小
+      initialSize: 2
+      #最大值
+      maxActive: 10
+      #最小值
+      minIdle: 2
+      #配置间隔多久才进行一次检测,检测需要关闭的空闲连接
+      timeBetweenEvictionRunsMillis: 18000
+      #配置一个连接在池中最小生存的时间
+      minEvictableIdleTimeMillis: 600000
+      maxEvictableIdleTimeMillis: 1200000
+      poolPreparedStatements: true
+      maxOpenPreparedStatements: 100
+      testOnBorrow: true
+      testOnReturn: true
+      testWhileIdle: true
+      validationQuery: select 1
+      removeAbandonedOnBorrow: true
+      removeAbandoned: true
+      removeAbandonedOnMaintenance: true
+      removeAbandonedTimeout: 300
+      maxWaitMillis: 3000
+      keepalive: true
+      phyMaxUseCount: 2000
+      #'wall'用于防火墙,SpringBoot中没有log4j,我改成了log4j2
+      filters: stat,log4j2,config
+
+  rabbitmq:
+    host: 121.36.134.218
+#    host: 10.0.0.14
+    port: 5672
+    username: admin
+    password: admin
+    #虚拟host 可以不设置,使用server默认host
+    virtual-host: /registration_center
+    listener:
+      simple:
+        acknowledge-mode: none
+
+  #redis
+  redis:
+    database: 0
+    host: 121.36.134.218
+#    host: 10.0.0.14
+    port: 6379
+    password: hm123456
+    timeout: 5000ms
+#    jedis:
+#      pool:
+#        max-active: 20
+#        max-wait: -1
+#        max-idle: 10
+#        min-idle: 0
+#        lettuce:
+#          pool:
+#            max-active: 3
+#            min-idle: 2
+#            max-idle: 3
+#            max-wait: 1
+#          shutdown-timeout: 100
+#      data:
+#        redis:
+#          repositories:
+#            enabled: false
+#    #是否缓存空值
+#      cache:
+#        redis:
+#          cache-null-values: false
+
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  # mapper.xml文件所存放的位置
+  mapper-locations: classpath*:com/huimv/center/mapper/xml/*.xml  # 不加这一行出错:“org.apache.ibatis.binding.BindingException:  Invalid bound statement (not found)”
+#  mapper-locations: classpath:com/huimv/center/mappers/**/*Mapper.xml

BIN
registration-center/target/classes/com/huimv/center/HuimvRegistrationCenterApplication.class


BIN
registration-center/target/classes/com/huimv/center/listener/DeviceListener.class


BIN
registration-center/target/classes/com/huimv/center/server/RegisterServer2$1.class


BIN
registration-center/target/classes/com/huimv/center/server/RegisterServer2.class


BIN
registration-center/target/classes/com/huimv/center/server/RegisterServerHandler2.class


BIN
registration-center/target/classes/com/huimv/center/service/BizRawDataService.class


BIN
registration-center/target/classes/com/huimv/center/service/impl/BizDeviceAnswerFlowServiceImpl.class


BIN
registration-center/target/classes/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.class


BIN
registration-center/target/classes/com/huimv/center/service/impl/BizDeviceRegisteredFlowServiceImpl.class


BIN
registration-center/target/classes/com/huimv/center/service/impl/BizDeviceUnregisteredFlowServiceImpl.class


BIN
registration-center/target/classes/com/huimv/center/service/impl/BizDeviceUnregisteredServiceImpl.class


BIN
registration-center/target/classes/com/huimv/center/service/impl/BizRawDataServiceImpl.class


BIN
registration-center/target/classes/com/huimv/center/utils/idUtil.class


BIN
registration-center/target/registration-center-1.0-SNAPSHOT.jar


BIN
registration-center/target/registration-center-1.0-SNAPSHOT.jar.original