Parcourir la source

修改:将基站注册的同步功能从消息中间件模式改为直接调用接口模式。

zhuoning il y a 2 ans
Parent
commit
03ec6c385e

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

@@ -96,6 +96,7 @@ public class SysBaseConfigController {
     public Result listWarning(@RequestBody Map<String,String> paramsMap){
         return sysBaseConfigService.listWarning(paramsMap);
     }
+
     @PostMapping("/updateWarning")
     public Result updateWarning(@RequestBody Map<String,String> paramsMap){
         return sysBaseConfigService.updateWarning(paramsMap);

+ 2 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/schedule/EartagTask.java

@@ -102,7 +102,8 @@ public class EartagTask {
 
         for (SysBaseConfig sysBaseConfig : baseConfig) {
             String rowId = sysBaseConfig.getRowId();
-            SysBaseConfig one = baseConfigService.getOne(new QueryWrapper<SysBaseConfig>().eq("row_id", rowId).eq("config_key", "eartagOfflineTime"));
+//            SysBaseConfig one = baseConfigService.getOne(new QueryWrapper<SysBaseConfig>().eq("row_id", rowId).eq("config_key", "eartagOfflineTime"));
+            SysBaseConfig one = baseConfigService.getOne(new QueryWrapper<SysBaseConfig>().eq("row_id", rowId).eq("config_key", "deviceOfflineTime"));
 
             String configValueStr = one.getConfigValue();
             if (StringUtils.isNotBlank(configValueStr)) {

+ 36 - 4
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/SysBaseConfigServiceImpl.java

@@ -1,6 +1,7 @@
 package com.huimv.eartag2.manage2.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.eartag2.manage2.pojo.BaseFarm;
 import com.huimv.eartag2.manage2.pojo.EartagDeviceRegister;
@@ -16,7 +17,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.eartag2.manage2.vo.SysBaseConfigVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -40,6 +46,9 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
     RabbitTemplate rabbitTemplate;
     @Resource
     private EartagDeviceRegisterMapper eartagDeviceRegisterMapper;
+    @Autowired
+    private RestTemplate restTemplate;
+
     @Override
     public Result add(List<Map<String, String>> mapList) {
         //SysBaseConfigEntity
@@ -215,6 +224,8 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
         paramsMap.put("areaCode",baseFarm.getAreaCode());
         rabbitTemplate.convertAndSend(EXCHANGE_SYNC_SYS_CONFIG,ROUTING_KEY_SYNC_SYS_CONFIG,paramsMap);
         System.out.println("--------------------------------------- 发送设备请求原始数据 >>"+paramsMap);
+        //同步注册中心的基站注册
+        syncDeviceRegisterToCenter(chipId,baseFarm.getIp(),baseFarm.getPort(),baseFarm.getFarmCode(),baseFarm.getFarmName(),baseFarm.getAreaCode());
 
         //更新同步时间
 //        String chipId = paramsMap.get("chipId");
@@ -226,6 +237,31 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
         return new Result(ResultCode.SUCCESS);
     }
 
+    //同步注册中心的基站注册
+    private void syncDeviceRegisterToCenter(String chipId,String serverIp,String serverPort,String farmCode,String farmName,String areaCode) {
+        //        设置请求头,请求类型为json
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+//        设置请求参数
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("chipId", chipId);
+        map.put("serverIp", serverIp);
+        map.put("serverPort", serverPort);
+        map.put("farmCode", farmCode);
+        map.put("farmName", farmName);
+        map.put("areaCode", areaCode);
+        map.put("areaName", "");
+
+        //用HttpEntity封装整个请求报文
+        HttpEntity<HashMap<String, Object>> request = new HttpEntity<>(map, headers);
+        //读取远程数据
+        String url = "http://119.3.93.18:9090/api/device/syncDeviceRegister";
+        System.out.println("url=" + url);
+        System.out.println("map=" + map.toString());
+        JSONObject resultJo = restTemplate.postForObject(url, request, JSONObject.class);
+        System.out.println("调用远程接口返回数据 resultJo=" + resultJo);
+    }
+
     @Override
     public Result listWarning(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
@@ -259,10 +295,6 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
             endMap.put("eartagMaxTem",0);
             endMap.put("eartagMinTem",0);
         }
-
-
-
-
         return new Result(ResultCode.SUCCESS,endMap);
     }