Browse Source

【feat】注册设备信息同步

chengjing 2 years ago
parent
commit
0ea7188f2b
18 changed files with 66 additions and 55 deletions
  1. 10 15
      baseStation-register/baseStation-register.iml
  2. 2 1
      registration-center/registration-center.iml
  3. 21 4
      registration-center/src/main/java/com/huimv/center/config/TopicRabbitMQConfig.java
  4. 5 0
      registration-center/src/main/java/com/huimv/center/controller/BizDeviceRegisterController.java
  5. 8 1
      registration-center/src/main/java/com/huimv/center/producer/Producer.java
  6. 2 0
      registration-center/src/main/java/com/huimv/center/service/BizDeviceRegisterService.java
  7. 11 0
      registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.java
  8. 6 0
      registration-center/src/main/java/com/huimv/center/utils/Const.java
  9. 1 1
      registration-center/target/classes/application-pool2.yml
  10. BIN
      registration-center/target/classes/com/huimv/center/config/TopicRabbitMQConfig.class
  11. BIN
      registration-center/target/classes/com/huimv/center/controller/BizDeviceRegisterController.class
  12. 0 33
      registration-center/target/classes/com/huimv/center/mapper/xml/BizDeviceRegisterMapper.xml
  13. BIN
      registration-center/target/classes/com/huimv/center/producer/Producer.class
  14. BIN
      registration-center/target/classes/com/huimv/center/server/RegisterServer.class
  15. BIN
      registration-center/target/classes/com/huimv/center/server/RegisterServer2.class
  16. BIN
      registration-center/target/classes/com/huimv/center/service/BizDeviceRegisterService.class
  17. BIN
      registration-center/target/classes/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.class
  18. BIN
      registration-center/target/classes/com/huimv/center/utils/Const.class

+ 10 - 15
baseStation-register/baseStation-register.iml

@@ -1,28 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
   <component name="FacetManager">
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
-    <facet type="web" name="Web">
-      <configuration>
-        <webroots />
-        <sourceRoots>
-          <root url="file://$MODULE_DIR$/src/main/java" />
-          <root url="file://$MODULE_DIR$/src/main/resources" />
-        </sourceRoots>
-      </configuration>
-    </facet>
     <facet type="jpa" name="JPA">
       <configuration>
         <setting name="validation-enabled" value="true" />
         <setting name="provider-name" value="Hibernate" />
         <datasource-mapping>
-          <factory-entry name="Entities" value="21abca63-9ca9-4eb2-8fb8-9536339ca907" />
+          <factory-entry name="Entities" />
         </datasource-mapping>
         <naming-strategy-map />
       </configuration>
     </facet>
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+      </configuration>
+    </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
     <output url="file://$MODULE_DIR$/target/classes" />
@@ -30,10 +26,9 @@
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/target" />
     </content>
-    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.7.0" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.7.0" level="project" />

+ 2 - 1
registration-center/registration-center.iml

@@ -15,6 +15,7 @@
         <setting name="validation-enabled" value="true" />
         <setting name="provider-name" value="Hibernate" />
         <datasource-mapping>
+          <factory-entry name="Entities" />
           <factory-entry name="entityManagerFactory" />
         </datasource-mapping>
         <naming-strategy-map />
@@ -106,7 +107,7 @@
     <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.13" level="project" />
     <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.16.18" level="project" />
-    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.8.4.M1" level="project" />
+    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.8.4" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.5" level="project" />
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.15" level="project" />
     <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.15" level="project" />

+ 21 - 4
registration-center/src/main/java/com/huimv/center/config/TopicRabbitMQConfig.java

@@ -1,10 +1,7 @@
 package com.huimv.center.config;
 
 import com.huimv.center.utils.Const;
-import org.springframework.amqp.core.Binding;
-import org.springframework.amqp.core.BindingBuilder;
-import org.springframework.amqp.core.Queue;
-import org.springframework.amqp.core.TopicExchange;
+import org.springframework.amqp.core.*;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
@@ -100,4 +97,24 @@ public class TopicRabbitMQConfig {
         return BindingBuilder.bind(askCmdQueue()).to(askCmdExchange()).with(Const.ROUTING_KEY_ASK_CMD);
     }
 
+    /**
+     *  广播同步注册设备信息队列
+     */
+    @Bean
+    public Queue fanoutSyncDeviceQueue() {
+        return new Queue(Const.QUEUE_SYNC_DEVICE_FANOUT);
+    }
+
+    /**
+     * 广播同步注册设备信息交换机
+     */
+    @Bean
+    FanoutExchange fanoutSyncDeviceExchange() {
+        return new FanoutExchange(Const.EXCHANGE_SYNC_DEVICE_FANOUT);
+    }
+
+    @Bean
+    Binding fanoutBindingSyncDeviceExchangeMessage(){
+        return BindingBuilder.bind(fanoutSyncDeviceQueue()).to(fanoutSyncDeviceExchange());
+    }
 }

+ 5 - 0
registration-center/src/main/java/com/huimv/center/controller/BizDeviceRegisterController.java

@@ -94,5 +94,10 @@ public class BizDeviceRegisterController {
         }
         return bizDeviceRegisterService.listAll(Integer.parseInt(pageNo), Integer.parseInt(pageSize), farmName,farmCode, chipId, deviceCode,startDate, endDate);
     }
+
+    @PostMapping("/sync/data")
+    public Result synchronizationData(@RequestBody Map<String, String> paramsMap){
+        return bizDeviceRegisterService.synchronizationData(paramsMap);
+    }
 }
 

+ 8 - 1
registration-center/src/main/java/com/huimv/center/producer/Producer.java

@@ -72,5 +72,12 @@ public class Producer {
 
     // 同步注册信息
 
-
+    /**
+     * 广播同步注册信息
+     */
+    public String fanoutSyncDevice(Map<String,String> resultMap){
+        rabbitTemplate.convertAndSend(Const.QUEUE_SYNC_DEVICE_FANOUT,"",resultMap);
+        System.out.println("---------------------------------------广播发送同步设备信息数据"+resultMap);
+        return "ok";
+    }
 }

+ 2 - 0
registration-center/src/main/java/com/huimv/center/service/BizDeviceRegisterService.java

@@ -30,4 +30,6 @@ public interface BizDeviceRegisterService extends IService<BizDeviceRegister> {
     Result updateDeviceRegisterTimes(String chipId) throws ParseException;
 
     Result updateDeviceAnswerTimes(String chipId) throws ParseException;
+
+    Result synchronizationData(Map<String, String> paramsMap);
 }

+ 11 - 0
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.center.mapper.BizDeviceRegisterMapper;
 import com.huimv.center.pojo.BizDeviceRegister;
+import com.huimv.center.producer.Producer;
 import com.huimv.center.service.BizDeviceRegisterService;
 //import com.huimv.center.utils.DateUtil;
 import com.huimv.center.utils.IDUtil;
@@ -15,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.text.ParseException;
 import java.util.HashMap;
 import java.util.List;
@@ -34,6 +36,8 @@ public class BizDeviceRegisterServiceImpl extends ServiceImpl<BizDeviceRegisterM
     private BizDeviceRegisterMapper bizDeviceRegisterMapper;
     @Autowired
     private com.huimv.center.utils.ResultUtil ResultUtil;
+    @Resource
+    private Producer producer;
 //    @Autowired
 //    private DateUtil dateUtil;
     @Autowired
@@ -226,4 +230,11 @@ public class BizDeviceRegisterServiceImpl extends ServiceImpl<BizDeviceRegisterM
         int rows = bizDeviceRegisterMapper.updateById(deviceRegister);
         return ResultUtil.result(rows);
     }
+
+    @Override
+    public Result synchronizationData(Map<String, String> map ) {
+       // QUEUE_SYNC_DEVICE_FANOUT
+        producer.fanoutSyncDevice(map);
+        return ResultUtil.result(1);
+    }
 }

+ 6 - 0
registration-center/src/main/java/com/huimv/center/utils/Const.java

@@ -32,4 +32,10 @@ public class Const {
     public static final String QUEUE_ASK_CMD = "topic.askCmd.queue";
     public final static String EXCHANGE_ASK_CMD = "topic.askCmd.exchange";
     public final static String ROUTING_KEY_ASK_CMD = "topic.askCmd.routeKey";
+
+    /**
+     * 广播形式 同步注册设备信息
+     */
+    public final static String QUEUE_SYNC_DEVICE_FANOUT="fanout.syncDevice.queue";
+    public final static String EXCHANGE_SYNC_DEVICE_FANOUT="fanout.syncDevice.exchange";
 }

+ 1 - 1
registration-center/target/classes/application-pool2.yml

@@ -48,7 +48,7 @@ spring:
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
-    virtual-host: /registration_center
+    virtual-host:
     listener:
       simple:
         acknowledge-mode: none

BIN
registration-center/target/classes/com/huimv/center/config/TopicRabbitMQConfig.class


BIN
registration-center/target/classes/com/huimv/center/controller/BizDeviceRegisterController.class


+ 0 - 33
registration-center/target/classes/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>

BIN
registration-center/target/classes/com/huimv/center/producer/Producer.class


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


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


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


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


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