Browse Source

feat:新增根据目标设备id获取监测点位列表接口

黄渊昊 9 months ago
parent
commit
c1aeff9f6e

+ 2 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/impl/MonitorDeviceServiceImpl.java

@@ -143,7 +143,8 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
     @Override
     public void delete(List<MonitorDeviceIdParam> monitorDeviceIdParamList) {
         for (MonitorDeviceIdParam monitorDeviceIdParam : monitorDeviceIdParamList) {
-            List<String> targetIdListByDeviceIdList = monitorTargetRegionService.getTargetIdListByDeviceId(monitorDeviceIdParam.getId());
+            MonitorDevice monitorDevice = queryEntity(monitorDeviceIdParam.getId());
+            List<String> targetIdListByDeviceIdList = monitorTargetRegionService.getTargetIdListByDeviceId(monitorDevice.getDeviceCode());
             if (!targetIdListByDeviceIdList.isEmpty()) {
                 throw new CommonException("该采集器已被使用,请先删除该采集器下的监测点");
             }

+ 5 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java

@@ -24,6 +24,7 @@ import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
+import vip.xiaonuo.coldchain.modular.monitordevice.entity.MonitorDevice;
 import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
 import vip.xiaonuo.coldchain.modular.monitortarget.entity.MonitorTarget;
 import vip.xiaonuo.coldchain.modular.monitortarget.enums.MonitorStatusEnum;
@@ -171,7 +172,8 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
 
     @Override
     public boolean updateLastHeartbeatTimeByDeviceId(Integer deviceId, Date timestamp) {
-        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(deviceId.toString());
+        MonitorDevice monitorDevice = monitorDeviceService.queryEntity(deviceId.toString());
+        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(monitorDevice.getDeviceCode());
         if (ObjectUtil.isEmpty(targetIdList)) {
             return false;
         }
@@ -186,7 +188,8 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
 
     @Override
     public boolean updateLastLoginTimeByDeviceId(Integer deviceId, Date timestamp) {
-        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(deviceId.toString());
+        MonitorDevice monitorDevice = monitorDeviceService.queryEntity(deviceId.toString());
+        List<String> targetIdList = monitorTargetRegionService.getTargetIdListByDeviceId(monitorDevice.getDeviceCode());
         if (ObjectUtil.isEmpty(targetIdList)) {
             return false;
         }

+ 10 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/controller/MonitorTargetRegionController.java

@@ -131,4 +131,14 @@ public class MonitorTargetRegionController {
     public CommonResult<List<Tree<String>>> tree() {
         return CommonResult.data(monitorTargetRegionService.tree());
     }
+
+    /**
+     * 根据监控对象id获取监控点位列表
+     */
+    @Operation(summary = "根据监控对象id获取监控点位列表")
+    @SaCheckPermission("/coldchain/monitortargetregion/listByTargetId")
+    @GetMapping("/coldchain/monitortargetregion/listByTargetId")
+    public CommonResult<List<MonitorTargetRegion>> listByTargetId(String targetId) {
+        return CommonResult.data(monitorTargetRegionService.listByTargetId(targetId));
+    }
 }

+ 5 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/service/MonitorTargetRegionService.java

@@ -93,4 +93,9 @@ public interface MonitorTargetRegionService extends IService<MonitorTargetRegion
      * 根据deviceId获取targetId列表
      */
     List<String> getTargetIdListByDeviceId(String deviceId);
+
+    /**
+     * 根据监控对象id获取监控点位列表
+     */
+    List<MonitorTargetRegion> listByTargetId(String targetId);
 }

+ 7 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/service/impl/MonitorTargetRegionServiceImpl.java

@@ -197,6 +197,13 @@ public class MonitorTargetRegionServiceImpl extends ServiceImpl<MonitorTargetReg
         return targetIdList;
     }
 
+    @Override
+    public List<MonitorTargetRegion> listByTargetId(String targetId) {
+        LambdaQueryWrapper<MonitorTargetRegion> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(MonitorTargetRegion::getMonitorTargetId, targetId);
+        return list(queryWrapper);
+    }
+
     private void fillParentLocationInfo(List<MonitorTargetRegion> resourceList) {
         if (CollUtil.isNotEmpty(resourceList)) {
             List<MonitorTargetRegion> locationTypes = resourceList.stream().filter(distinctByKey(MonitorTargetRegion::getParentId)).collect(Collectors.toList());