Browse Source

【feat】牧场基础配置消息发出

chengjing 2 năm trước cách đây
mục cha
commit
0ba25f16bb

+ 5 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/mq/Const.java

@@ -56,4 +56,9 @@ public class Const {
      */
     public final static String QUEUE_SYNC_DEVICE_FANOUT="fanout.syncDevice.queue";
     public final static String EXCHANGE_SYNC_DEVICE_FANOUT="fanout.syncDevice.exchange";
+
+    //同步牧场配置消息
+    public final static String QUEUE_SYNC_SYS_CONFIG = "topic.syncSysConfig.queue";
+    public final static String EXCHANGE_SYNC_SYS_CONFIG = "topic.syncSysConfig.exchange";
+    public final static String ROUTING_KEY_SYNC_SYS_CONFIG = "topic.syncSysConfig.routeKey";
 }

+ 25 - 0
huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/config/TopicRabbitMQConfig.java

@@ -48,6 +48,31 @@ public class TopicRabbitMQConfig {
         return BindingBuilder.bind(askEartagQueue()).to(askEartagExchange()).with(Const.ROUTING_KEY_ASK_EARTAG);
     }
 
+    // 同步配置消息 原始数据队列
+    @Bean
+    public Queue askCmdQueue() {
+        return new Queue(Const.QUEUE_SYNC_SYS_CONFIG);
+    }
+    // 同步配置消息 原始数据交换机
+    @Bean
+    TopicExchange askCmdExchange() {
+        return new TopicExchange(Const.EXCHANGE_SYNC_SYS_CONFIG);
+    }
+    //同步配置消息 原始数据绑定关系
+    @Bean
+    Binding bindingAskCmdExchangeMessage() {
+        return BindingBuilder.bind(askCmdQueue()).to(askCmdExchange()).with(Const.ROUTING_KEY_SYNC_SYS_CONFIG);
+    }
+
+
+
+
+
+
+
+
+
+
 //    //采集器注册队列路由键
 //    public final static String deviceRegister = "topic.device.register";
 //    //采集器在线记录队列路由键

+ 11 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/SysBaseConfigController.java

@@ -81,4 +81,15 @@ public class SysBaseConfigController {
         return sysBaseConfigService.list(paramsMap);
     }
 
+    /**
+     * @description: 【数据同步】 将牧场数据同步到注册中心
+     * @author: 静静
+     * @date: 2022/7/20 3:37 下午
+     * @param: farmCode
+     **/
+    @PostMapping("/sync")
+    public Result syncConfig(@RequestBody Map<String,String> paramsMap){
+        return sysBaseConfigService.syncCong(paramsMap);
+    }
+
 }

+ 2 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/SysBaseConfigService.java

@@ -27,4 +27,6 @@ public interface SysBaseConfigService extends IService<SysBaseConfig> {
 
     Result getDateById(String ids);
 
+    Result syncCong(Map<String,String> paramsMap);
+
 }

+ 28 - 7
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/SysBaseConfigServiceImpl.java

@@ -1,8 +1,6 @@
 package com.huimv.eartag2.manage2.service.impl;
 
-import cn.hutool.core.lang.func.VoidFunc0;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.common.utils.ResultCode;
 import com.huimv.eartag2.manage2.pojo.SysBaseConfig;
@@ -11,14 +9,10 @@ import com.huimv.eartag2.manage2.service.SysBaseConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.eartag2.manage2.vo.SysBaseConfigVo;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.persistence.MapsId;
-import javax.persistence.criteria.Order;
-import javax.persistence.criteria.Predicate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -36,6 +30,9 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
     @Resource
     private SysBaseConfigMapper sysBaseConfigMapper;
 
+    @Resource
+    RabbitTemplate rabbitTemplate;
+
     @Override
     public Result add(List<Map<String, String>> mapList) {
         //SysBaseConfigEntity
@@ -150,6 +147,30 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
         return new Result(ResultCode.SUCCESS,sysBaseConfigVo);
     }
 
+    //同步牧场配置消息
+    public final static String QUEUE_SYNC_SYS_CONFIG = "topic.syncSysConfig.queue";
+    public final static String EXCHANGE_SYNC_SYS_CONFIG = "topic.syncSysConfig.exchange";
+    public final static String ROUTING_KEY_SYNC_SYS_CONFIG = "topic.syncSysConfig.routeKey";
+
+    @Override
+    public Result syncCong(Map<String,String> paramsMap) {
+        String farmCode = paramsMap.get("farmId");
+        //查询牧场信息
+        QueryWrapper<SysBaseConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(farmCode),"config_value", farmCode);
+        List<SysBaseConfig> sysBaseConfigs = sysBaseConfigMapper.selectList(queryWrapper);
+        String rowId = sysBaseConfigs.get(0).getRowId();
+        List<SysBaseConfig> syncDate = sysBaseConfigMapper.selectSysBaseConfig(rowId);
+        SysBaseConfigVo sysBaseConfigVo = convertSysBaseConfigVo(syncDate);
+        paramsMap.put("farmName",sysBaseConfigVo.getFarmName());
+        paramsMap.put("farmCode",sysBaseConfigVo.getFarmCode());
+        paramsMap.put("ip",sysBaseConfigVo.getIp());
+        paramsMap.put("port",sysBaseConfigVo.getPort());
+        rabbitTemplate.convertAndSend(EXCHANGE_SYNC_SYS_CONFIG,ROUTING_KEY_SYNC_SYS_CONFIG,paramsMap);
+        System.out.println("--------------------------------------- 发送设备请求原始数据 >>"+paramsMap);
+        return new Result(ResultCode.SUCCESS);
+    }
+
     private SysBaseConfigVo convertSysBaseConfigVo(List<SysBaseConfig> list){
         Map<String, String> map = list.stream().collect(Collectors.toMap(SysBaseConfig::getConfigKey, SysBaseConfig::getConfigValue));
         SysBaseConfigVo sysBaseConfigVo = new SysBaseConfigVo();