Ver código fonte

机构类型

TRX 1 ano atrás
pai
commit
73fd57a55f

+ 1 - 1
src/main/java/com/zswl/dataservice/controller/free/FixDataController.java

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @author TRX
  * @date 2024/6/27
  */
-@RequestMapping("/fixData")
+@RequestMapping("/fixData/free")
 @RestController
 @Validated
 @Tag(name = "修复数据")

+ 4 - 0
src/main/java/com/zswl/dataservice/dao/mqtt/DeviceInfoDao.java

@@ -4,6 +4,8 @@ import com.zswl.dataservice.dao.MongoDao;
 import com.zswl.dataservice.dao.mqtt.extend.DeviceInfoDaoExtend;
 import com.zswl.dataservice.domain.mqtt.DeviceInfo;
 
+import java.util.List;
+
 /**
  * @author TRX
  * @date 2024/3/21
@@ -13,4 +15,6 @@ public interface DeviceInfoDao extends MongoDao<DeviceInfo>, DeviceInfoDaoExtend
     DeviceInfo findTopById(String id);
 
     DeviceInfo findTopByDeviceId(String deviceId);
+
+    List<DeviceInfo> findByDeviceIdIn(List<String> deviceIds);
 }

+ 7 - 0
src/main/java/com/zswl/dataservice/httpRequest/conf/FullCardAPIConfig.java

@@ -23,6 +23,10 @@ public class FullCardAPIConfig {
     //-----------------------云版消费机 start -----------------------
     public static final String ServerTime = api + "/hxz/v1/ServerTime";
 
+    // 全卡业务平台 start -----------------
+    // 同步设备
+    public static final String deviceSync = api + "/deviceSync/syncDevices";
+
     public static final HashMap<String, ApiConfParam> map = new HashMap<>();
 
     static {
@@ -32,6 +36,9 @@ public class FullCardAPIConfig {
         // ----------------------------云版消费机 start -----------------
         map.put(ServerTime, ApiConfParam.builder().apiName(ServerTime).methodType(MethodType.Json).build());
 
+        // ----------------------------全卡项目 start -----------------
+        map.put(deviceSync, ApiConfParam.builder().apiName(deviceSync).methodType(MethodType.Json).build());
+
 
     }
 

+ 1 - 1
src/main/java/com/zswl/dataservice/service/fix/FixDataService.java

@@ -37,7 +37,7 @@ public class FixDataService {
             count = deviceInfoList.size();
             deviceSyncFullCardService.noticeSyncDevice(deviceInfoList);
         }
-        return ResultContent.buildSuccess();
+        return ResultContent.buildSuccess(String.format("同步设备数量:%d", count));
     }
 
 }

+ 20 - 1
src/main/java/com/zswl/dataservice/service/mqtt/DeviceSyncFullCardService.java

@@ -1,5 +1,7 @@
 package com.zswl.dataservice.service.mqtt;
 
+import com.github.microservice.models.device.DeviceInfoSyncParam;
+import com.github.microservice.models.device.DeviceSyncListParam;
 import com.zswl.dataservice.dao.mqtt.DeviceInfoDao;
 import com.zswl.dataservice.dao.mqtt.GateWayInfoDao;
 import com.zswl.dataservice.domain.mqtt.DeviceInfo;
@@ -7,7 +9,11 @@ import com.zswl.dataservice.domain.mqtt.GateWayInfo;
 import com.zswl.dataservice.event.DeviceSyncEvent;
 import com.zswl.dataservice.event.GateWaySyncEvent;
 import com.zswl.dataservice.httpRequest.ApiRequestService;
+import com.zswl.dataservice.httpRequest.apiConf.APIResponseModel;
+import com.zswl.dataservice.httpRequest.conf.FullCardAPIConfig;
 import com.zswl.dataservice.service.base.SuperService;
+import com.zswl.dataservice.utils.bean.BeanUtil;
+import com.zswl.dataservice.utils.bean.BeanUtils;
 import com.zswl.dataservice.utils.result.ResultContent;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +24,7 @@ import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -103,7 +110,19 @@ public class DeviceSyncFullCardService extends SuperService {
     public void syncDeviceInfo(DeviceSyncEvent event) {
         List<String> deviceIds = event.getDeviceIds();
         log.info("event syncDeviceInfo: {}", deviceIds);
-
+        List<DeviceInfo> list = deviceInfoDao.findByDeviceIdIn(deviceIds);
+        DeviceSyncListParam param = new DeviceSyncListParam();
+        List<DeviceInfoSyncParam> deviceInfos = new ArrayList<>();
+        if (ObjectUtils.isNotEmpty(list)) {
+            list.stream().map(it -> {
+                DeviceInfoSyncParam syncParam = new DeviceInfoSyncParam();
+                BeanUtils.copyProperties(it, syncParam);
+                return syncParam;
+            }).collect(Collectors.toList());
+        }
+        param.setList(deviceInfos);
+        APIResponseModel api = apiRequestService.sendFullCardAPI(FullCardAPIConfig.deviceSync, param);
+        log.info("同步设备情况:{} {}", api.isSuccess(), api.getMsg());
     }
 
     /**