Browse Source

开发按网关 UUID 分页查询 dmp_device 设备信息列表接口

james 1 week ago
parent
commit
2140657872

+ 10 - 0
service-ems/service-ems-biz/src/main/java/com/usky/ems/controller/web/DmpGatewayController.java

@@ -2,8 +2,10 @@ package com.usky.ems.controller.web;
 
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.ems.domain.DmpDevice;
 import com.usky.ems.domain.DmpGateway;
 import com.usky.ems.service.DmpGatewayService;
+import com.usky.ems.service.vo.DmpGatewayDevicePageRequest;
 import com.usky.ems.service.vo.DmpGatewayDetailResponse;
 import com.usky.ems.service.vo.DmpGatewayListItem;
 import com.usky.ems.service.vo.DmpGatewayPageRequest;
@@ -29,6 +31,14 @@ public class DmpGatewayController {
         return ApiResult.success(dmpGatewayService.pageGateways(request));
     }
 
+    /**
+     * 按网关 UUID 分页查询 dmp_device 列表
+     */
+    @PostMapping("/device/list")
+    public ApiResult<CommonPage<DmpDevice>> gatewayDeviceList(@RequestBody DmpGatewayDevicePageRequest request) {
+        return ApiResult.success(dmpGatewayService.pageGatewayDevices(request));
+    }
+
     /**
      * 详情
      */

+ 4 - 0
service-ems/service-ems-biz/src/main/java/com/usky/ems/service/DmpGatewayService.java

@@ -2,7 +2,9 @@ package com.usky.ems.service;
 
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.ems.domain.DmpDevice;
 import com.usky.ems.domain.DmpGateway;
+import com.usky.ems.service.vo.DmpGatewayDevicePageRequest;
 import com.usky.ems.service.vo.DmpGatewayDetailResponse;
 import com.usky.ems.service.vo.DmpGatewayListItem;
 import com.usky.ems.service.vo.DmpGatewayPageRequest;
@@ -20,5 +22,7 @@ public interface DmpGatewayService extends CrudService<DmpGateway> {
 
     CommonPage<DmpGatewayListItem> pageGateways(DmpGatewayPageRequest request);
 
+    CommonPage<DmpDevice> pageGatewayDevices(DmpGatewayDevicePageRequest request);
+
     DmpGatewayDetailResponse getGatewayDetail(Integer id);
 }

+ 30 - 0
service-ems/service-ems-biz/src/main/java/com/usky/ems/service/impl/DmpGatewayServiceImpl.java

@@ -8,9 +8,12 @@ import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.UUIDUtils;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.security.utils.SecurityUtils;
+import com.usky.ems.domain.DmpDevice;
 import com.usky.ems.domain.DmpGateway;
+import com.usky.ems.mapper.DmpDeviceMapper;
 import com.usky.ems.mapper.DmpGatewayMapper;
 import com.usky.ems.service.DmpGatewayService;
+import com.usky.ems.service.vo.DmpGatewayDevicePageRequest;
 import com.usky.ems.service.vo.DmpGatewayDetailResponse;
 import com.usky.ems.service.vo.DmpGatewayListItem;
 import com.usky.ems.service.vo.DmpGatewayPageRequest;
@@ -29,6 +32,12 @@ import java.util.stream.Collectors;
 @Service
 public class DmpGatewayServiceImpl extends AbstractCrudService<DmpGatewayMapper, DmpGateway> implements DmpGatewayService {
 
+    private final DmpDeviceMapper dmpDeviceMapper;
+
+    public DmpGatewayServiceImpl(DmpDeviceMapper dmpDeviceMapper) {
+        this.dmpDeviceMapper = dmpDeviceMapper;
+    }
+
     @Override
     public void add(DmpGateway entity) {
         if (!StringUtils.hasText(entity.getDeviceUuid())) {
@@ -100,6 +109,27 @@ public class DmpGatewayServiceImpl extends AbstractCrudService<DmpGatewayMapper,
         return new CommonPage<>(list, page.getTotal(), size, current);
     }
 
+    @Override
+    public CommonPage<DmpDevice> pageGatewayDevices(DmpGatewayDevicePageRequest request) {
+        if (!StringUtils.hasText(request.getGatewayUuid())) {
+            throw new BusinessException("查询失败,gatewayUuid 不能为空");
+        }
+        int current = request.getCurrent() == null ? 1 : request.getCurrent();
+        int size = request.getSize() == null ? 10 : request.getSize();
+        Page<DmpDevice> p = new Page<>(current, size);
+        LambdaQueryWrapper<DmpDevice> q = Wrappers.lambdaQuery();
+        q.eq(DmpDevice::getGatewayUuid, request.getGatewayUuid());
+        q.eq(DmpDevice::getDeleteFlag, 0);
+        q.eq(DmpDevice::getCategoryType, 3);
+        Integer tenantId = SecurityUtils.getTenantId();
+        if (tenantId != null) {
+            q.eq(DmpDevice::getTenantId, tenantId);
+        }
+        q.orderByDesc(DmpDevice::getId);
+        Page<DmpDevice> page = dmpDeviceMapper.selectPage(p, q);
+        return new CommonPage<>(page.getRecords(), page.getTotal(), size, current);
+    }
+
     @Override
     public DmpGatewayDetailResponse getGatewayDetail(Integer id) {
         DmpGateway g = this.getById(id);

+ 19 - 0
service-ems/service-ems-biz/src/main/java/com/usky/ems/service/vo/DmpGatewayDevicePageRequest.java

@@ -0,0 +1,19 @@
+package com.usky.ems.service.vo;
+
+import lombok.Data;
+
+/**
+ * 按网关 UUID 查询 dmp_device 分页请求
+ */
+@Data
+public class DmpGatewayDevicePageRequest {
+
+    private Integer current = 1;
+
+    private Integer size = 10;
+
+    /**
+     * 网关 UUID(必填)
+     */
+    private String gatewayUuid;
+}