Selaa lähdekoodia

优化设备信息表-分页和设备信息表-分页-白名单两个接口,增加监控位置字段的刷选处理逻辑

james 1 päivä sitten
vanhempi
commit
041eea3240

+ 21 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseSpaceGatewayController.java

@@ -0,0 +1,21 @@
+package com.usky.iot.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 空间网关关联表 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2026-06-08
+ */
+@Controller
+@RequestMapping("/baseSpaceGateway")
+public class BaseSpaceGatewayController {
+
+}
+

+ 51 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseSpaceGateway.java

@@ -0,0 +1,51 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 空间网关关联表
+ * </p>
+ *
+ * @author fu
+ * @since 2026-06-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseSpaceGateway implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 空间id
+     */
+    private Integer spaceId;
+
+    /**
+     * 网关uuid
+     */
+    private String gatewayUuid;
+
+    /**
+     * 创建人
+     */
+    private String createdBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseSpaceGatewayMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseSpaceGateway;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 空间网关关联表 Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2026-06-08
+ */
+public interface BaseSpaceGatewayMapper extends CrudMapper<BaseSpaceGateway> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseSpaceGatewayService.java

@@ -0,0 +1,16 @@
+package com.usky.iot.service;
+
+import com.usky.iot.domain.BaseSpaceGateway;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 空间网关关联表 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2026-06-08
+ */
+public interface BaseSpaceGatewayService extends CrudService<BaseSpaceGateway> {
+
+}

+ 20 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseSpaceGatewayServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.iot.service.impl;
+
+import com.usky.iot.domain.BaseSpaceGateway;
+import com.usky.iot.mapper.BaseSpaceGatewayMapper;
+import com.usky.iot.service.BaseSpaceGatewayService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 空间网关关联表 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2026-06-08
+ */
+@Service
+public class BaseSpaceGatewayServiceImpl extends AbstractCrudService<BaseSpaceGatewayMapper, BaseSpaceGateway> implements BaseSpaceGatewayService {
+
+}

+ 22 - 4
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceInfoServiceImpl.java

@@ -38,10 +38,7 @@ import com.usky.iot.domain.*;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.mapper.DmpDeviceInfoMapper;
 import com.usky.iot.mapper.DmpProductAttributeMapper;
-import com.usky.iot.service.BaseFacilityDeviceService;
-import com.usky.iot.service.DmpDeviceInfoService;
-import com.usky.iot.service.DmpDeviceStatusService;
-import com.usky.iot.service.DmpProductAttributeService;
+import com.usky.iot.service.*;
 import com.usky.iot.service.config.DeviceOperate;
 import com.usky.iot.service.enums.TopicInfo;
 import com.usky.iot.service.vo.*;
@@ -103,6 +100,9 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
     @Autowired
     private DmpProductAttributeMapper dmpProductAttributeMapper;
 
+    @Autowired
+    private BaseSpaceGatewayService baseSpaceGatewayService;
+
     @Autowired
     private DeviceOperate deviceOperate;
 
@@ -647,6 +647,13 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
         Integer pageSize = diRequest.getSize();
         IPage<DmpDeviceInfo> page = new Page<>(pageCurrent, pageSize);
 
+        List<String> gatewayUuidList = new ArrayList<>();
+        if (diRequest.getSpaceId() != null) {
+            LambdaQueryWrapper<BaseSpaceGateway> spaceGatewayLambdaQueryWrapper = Wrappers.lambdaQuery();
+            spaceGatewayLambdaQueryWrapper.eq(BaseSpaceGateway::getSpaceId, diRequest.getSpaceId());
+            gatewayUuidList = baseSpaceGatewayService.list(spaceGatewayLambdaQueryWrapper).stream().map(BaseSpaceGateway::getGatewayUuid).collect(Collectors.toList());
+        }
+
         if (diRequest.getDeviceStatus() != null) {
             if (StringUtils.isNotBlank(diRequest.getDeviceId()) || StringUtils.isNotBlank(diRequest.getDeviceUuid()) || StringUtils.isNotBlank(diRequest.getDeviceName()) || diRequest.getProductId() != null || StringUtils.isNotBlank(diRequest.getProductCode()) || diRequest.getServiceStatus() != null || diRequest.getCategoryType() != null) {
                 LambdaQueryWrapper<DmpDeviceInfo> queryWrapper = Wrappers.lambdaQuery();
@@ -657,6 +664,7 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
                         .like(StringUtils.isNotBlank(diRequest.getProductCode()), DmpDeviceInfo::getProductCode, diRequest.getProductCode())
                         .eq(diRequest.getServiceStatus() != null, DmpDeviceInfo::getServiceStatus, diRequest.getServiceStatus())
                         .eq(diRequest.getCategoryType() != null, DmpDeviceInfo::getCategoryType, diRequest.getCategoryType())
+                        .in(CollectionUtils.isNotEmpty(gatewayUuidList), DmpDeviceInfo::getGatewayUuid, gatewayUuidList)
                         .eq(DmpDeviceInfo::getDeleteFlag, 0)
                         .eq(DmpDeviceInfo::getTenantId, SecurityUtils.getTenantId())
                         .orderByDesc(DmpDeviceInfo::getId);
@@ -768,6 +776,7 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
                     .like(StringUtils.isNotBlank(diRequest.getProductCode()), DmpDeviceInfo::getProductCode, diRequest.getProductCode())
                     .eq(diRequest.getServiceStatus() != null, DmpDeviceInfo::getServiceStatus, diRequest.getServiceStatus())
                     .eq(diRequest.getCategoryType() != null, DmpDeviceInfo::getCategoryType, diRequest.getCategoryType())
+                    .in(CollectionUtils.isNotEmpty(gatewayUuidList), DmpDeviceInfo::getGatewayUuid, gatewayUuidList)
                     .eq(DmpDeviceInfo::getDeleteFlag, 0)
                     .eq(DmpDeviceInfo::getTenantId, SecurityUtils.getTenantId());
 
@@ -844,6 +853,13 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
             tenantId = baseMapper.sysTenantId(domain);
         }
 
+        List<String> gatewayUuidList = new ArrayList<>();
+        if (diRequest.getSpaceId() != null) {
+            LambdaQueryWrapper<BaseSpaceGateway> spaceGatewayLambdaQueryWrapper = Wrappers.lambdaQuery();
+            spaceGatewayLambdaQueryWrapper.eq(BaseSpaceGateway::getSpaceId, diRequest.getSpaceId());
+            gatewayUuidList = baseSpaceGatewayService.list(spaceGatewayLambdaQueryWrapper).stream().map(BaseSpaceGateway::getGatewayUuid).collect(Collectors.toList());
+        }
+
         if (diRequest.getDeviceStatus() != null) {
             if (StringUtils.isNotBlank(diRequest.getDeviceId()) || StringUtils.isNotBlank(diRequest.getDeviceName()) || diRequest.getProductId() != null || StringUtils.isNotBlank(diRequest.getProductCode()) || diRequest.getServiceStatus() != null || diRequest.getCategoryType() != null) {
                 LambdaQueryWrapper<DmpDeviceInfo> queryWrapper = Wrappers.lambdaQuery();
@@ -853,6 +869,7 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
                         .like(StringUtils.isNotBlank(diRequest.getProductCode()), DmpDeviceInfo::getProductCode, diRequest.getProductCode())
                         .eq(diRequest.getServiceStatus() != null, DmpDeviceInfo::getServiceStatus, diRequest.getServiceStatus())
                         .eq(diRequest.getCategoryType() != null, DmpDeviceInfo::getCategoryType, diRequest.getCategoryType())
+                        .in(CollectionUtils.isNotEmpty(gatewayUuidList), DmpDeviceInfo::getGatewayUuid, gatewayUuidList)
                         .eq(DmpDeviceInfo::getDeleteFlag, 0)
                         .eq(DmpDeviceInfo::getTenantId, tenantId)
                         .orderByDesc(DmpDeviceInfo::getId);
@@ -963,6 +980,7 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
                     .like(StringUtils.isNotBlank(diRequest.getProductCode()), DmpDeviceInfo::getProductCode, diRequest.getProductCode())
                     .eq(diRequest.getServiceStatus() != null, DmpDeviceInfo::getServiceStatus, diRequest.getServiceStatus())
                     .eq(diRequest.getCategoryType() != null, DmpDeviceInfo::getCategoryType, diRequest.getCategoryType())
+                    .in(CollectionUtils.isNotEmpty(gatewayUuidList), DmpDeviceInfo::getGatewayUuid, gatewayUuidList)
                     .eq(DmpDeviceInfo::getDeleteFlag, 0)
                     .eq(DmpDeviceInfo::getTenantId, tenantId)
                     .orderByDesc(DmpDeviceInfo::getId);

+ 5 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/DmpDeviceInfoRequest.java

@@ -61,4 +61,9 @@ public class DmpDeviceInfoRequest {
      */
     private Integer categoryType;
 
+    /**
+     * 空间Id
+     */
+    private Integer spaceId;
+
 }

+ 14 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseSpaceGatewayMapper.xml

@@ -0,0 +1,14 @@
+<?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.usky.iot.mapper.BaseSpaceGatewayMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.iot.domain.BaseSpaceGateway">
+        <id column="id" property="id" />
+        <result column="space_id" property="spaceId" />
+        <result column="gateway_uuid" property="gatewayUuid" />
+        <result column="created_by" property="createdBy" />
+        <result column="created_time" property="createdTime" />
+    </resultMap>
+
+</mapper>