Ver Fonte

完善设备管理模块代码开发

donglang há 3 meses atrás
pai
commit
be89b84742
28 ficheiros alterados com 377 adições e 464 exclusões
  1. 22 18
      iot-platform-manager/src/main/java/com/platform/controller/IotDeviceController.java
  2. 2 2
      iot-platform-manager/src/main/java/com/platform/controller/IotDeviceGroupController.java
  3. 0 1
      iot-platform-manager/src/main/java/com/platform/controller/IotModController.java
  4. 2 5
      iot-platform-manager/src/main/java/com/platform/controller/IotModGroupController.java
  5. 24 14
      iot-platform-manager/src/main/java/com/platform/entity/IotDevice.java
  6. 0 1
      iot-platform-manager/src/main/java/com/platform/entity/IotModGroup.java
  7. 1 1
      iot-platform-manager/src/main/java/com/platform/manage/IotDeviceGroupManage.java
  8. 129 25
      iot-platform-manager/src/main/java/com/platform/manage/IotDeviceManage.java
  9. 3 6
      iot-platform-manager/src/main/java/com/platform/manage/IotModGroupManage.java
  10. 0 2
      iot-platform-manager/src/main/java/com/platform/manage/IotModManage.java
  11. 0 17
      iot-platform-manager/src/main/java/com/platform/request/device/DeviceDetailReq.java
  12. 25 0
      iot-platform-manager/src/main/java/com/platform/request/device/IotDeviceDetailRequest.java
  13. 15 86
      iot-platform-manager/src/main/java/com/platform/request/device/IotDeviceRequest.java
  14. 53 0
      iot-platform-manager/src/main/java/com/platform/request/device/IotDeviceSaveRequest.java
  15. 1 1
      iot-platform-manager/src/main/java/com/platform/request/deviceGroup/DeviceGroupDetailReq.java
  16. 0 3
      iot-platform-manager/src/main/java/com/platform/request/deviceGroup/IotDeviceGroupRequest.java
  17. 0 1
      iot-platform-manager/src/main/java/com/platform/request/modGroup/IotModGroupRequest.java
  18. 3 1
      iot-platform-manager/src/main/java/com/platform/request/modGroup/IotModGroupSaveRequest.java
  19. 0 147
      iot-platform-manager/src/main/java/com/platform/response/device/DeviceDetailResp.java
  20. 0 120
      iot-platform-manager/src/main/java/com/platform/response/device/DevicePageResp.java
  21. 96 0
      iot-platform-manager/src/main/java/com/platform/response/device/IotDeviceResp.java
  22. 0 5
      iot-platform-manager/src/main/java/com/platform/response/deviceGroup/DeviceGroupDetailResp.java
  23. 0 1
      iot-platform-manager/src/main/java/com/platform/service/IotModGroupService.java
  24. 0 3
      iot-platform-manager/src/main/java/com/platform/service/IotModService.java
  25. 0 1
      iot-platform-manager/src/main/java/com/platform/service/impl/IotDeviceGroupServiceImpl.java
  26. 0 2
      iot-platform-manager/src/main/java/com/platform/service/impl/IotModGroupServiceImpl.java
  27. 0 1
      iot-platform-manager/src/main/java/com/platform/service/impl/IotModServiceImpl.java
  28. 1 0
      sql/2025/11/create_cxf.sql

+ 22 - 18
iot-platform-manager/src/main/java/com/platform/controller/IotDeviceController.java

@@ -1,10 +1,12 @@
 package com.platform.controller;
 
+import com.platform.exception.BaseResult;
+import com.platform.exception.PageResult;
 import com.platform.manage.IotDeviceManage;
-import com.platform.request.device.DeviceDetailReq;
+import com.platform.request.device.IotDeviceDetailRequest;
 import com.platform.request.device.IotDeviceRequest;
-import com.platform.response.device.DeviceDetailResp;
-import com.platform.response.device.DevicePageResp;
+import com.platform.request.device.IotDeviceSaveRequest;
+import com.platform.response.device.IotDeviceResp;
 import com.platform.result.HttpResult;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
@@ -22,45 +24,47 @@ public class IotDeviceController {
 
     private final IotDeviceManage iotDeviceManage;
 
+    /**
+     * 分页查询物联设备
+     */
+    @PostMapping("/pageDeviceList")
+    public PageResult<IotDeviceResp> pageDeviceList(@RequestBody IotDeviceRequest request) {
+        return iotDeviceManage.pageDeviceList(request);
+    }
+
     /**
      * 添加物联网设备
      */
     @PostMapping("/addDevice")
-    public HttpResult<Boolean> addDevice(@RequestBody IotDeviceRequest request) {
-        return HttpResult.success(iotDeviceManage.addDevice(request));
+    public BaseResult<Boolean> addDevice(@RequestBody IotDeviceSaveRequest request) {
+        return BaseResult.success(iotDeviceManage.addDevice(request));
     }
 
     /**
      * 修改物联网设备
      */
     @PostMapping("/updateDevice")
-    public HttpResult<Boolean> updateDevice(@RequestBody IotDeviceRequest request) {
-        return HttpResult.success(iotDeviceManage.updateDevice(request));
+    public BaseResult<Boolean> updateDevice(@RequestBody IotDeviceSaveRequest request) {
+        return BaseResult.success(iotDeviceManage.updateDevice(request));
     }
 
     /**
      * 删除物联网设备
      */
     @GetMapping("/delDevice")
-    public HttpResult<Boolean> deleteDevice(String guid) {
-        return HttpResult.success(iotDeviceManage.deleteDevice(guid));
+    public BaseResult<Boolean> deleteDevice(String id) {
+        return BaseResult.success(iotDeviceManage.deleteDevice(id));
     }
 
     /**
      * 物联设备详情查询
      */
     @PostMapping("/getDeviceDetail")
-    public HttpResult<DeviceDetailResp> getDeviceDetail(@RequestBody DeviceDetailReq req) {
-        return HttpResult.success(iotDeviceManage.getDeviceDetail(req));
-    }
-    /**
-     * 分页查询物联设备
-     */
-    @PostMapping("/pageDeviceDetail")
-    public HttpResult<DevicePageResp> pageDeviceDetail(@RequestBody DeviceDetailReq req) {
-        return HttpResult.success(iotDeviceManage.pageDeviceDetail(req));
+    public BaseResult<IotDeviceResp> getDeviceDetail(@RequestBody IotDeviceDetailRequest req) {
+        return BaseResult.success(iotDeviceManage.getDeviceDetail(req));
     }
 
+
     /**
      * 下载设备导入模板
      */

+ 2 - 2
iot-platform-manager/src/main/java/com/platform/controller/IotDeviceGroupController.java

@@ -1,10 +1,10 @@
 package com.platform.controller;
 
 import com.platform.manage.IotDeviceGroupManage;
-import com.platform.request.device.DeviceGroupDetailReq;
+import com.platform.request.deviceGroup.DeviceGroupDetailReq;
 import com.platform.request.deviceGroup.IotDeviceGroupRequest;
-import com.platform.response.deviceGroup.DeviceGroupPageResp;
 import com.platform.response.deviceGroup.DeviceGroupDetailResp;
+import com.platform.response.deviceGroup.DeviceGroupPageResp;
 import com.platform.result.HttpResult;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;

+ 0 - 1
iot-platform-manager/src/main/java/com/platform/controller/IotModController.java

@@ -7,7 +7,6 @@ import com.platform.manage.IotModManage;
 import com.platform.request.mod.IotModDetailReq;
 import com.platform.request.mod.IotModRequest;
 import com.platform.request.mod.IotModSaveRequest;
-import com.platform.response.mod.IotModDetailResp;
 import com.platform.response.mod.IotModResp;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;

+ 2 - 5
iot-platform-manager/src/main/java/com/platform/controller/IotModGroupController.java

@@ -4,13 +4,11 @@ package com.platform.controller;
 import com.platform.exception.BaseResult;
 import com.platform.exception.PageResult;
 import com.platform.manage.IotModGroupManage;
-import com.platform.request.modGroup.IotModGroupDetailReq;
 import com.platform.request.modGroup.IotModGroupRequest;
 import com.platform.request.modGroup.IotModGroupSaveRequest;
-import com.platform.response.device.DeviceDetailResp;
 import com.platform.response.modGroup.IotModGroupPageResp;
-import com.platform.result.HttpResult;
 import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -27,7 +25,6 @@ public class IotModGroupController {
 
     private final IotModGroupManage iotModGroupManage;
 
-
     /**
      * 分页查询物理模型分组
      */
@@ -40,7 +37,7 @@ public class IotModGroupController {
      * 添加物理模型分组
      */
     @PostMapping("/addModGroup")
-    public BaseResult<Boolean> addModGroup(@RequestBody IotModGroupSaveRequest request) {
+    public BaseResult<Boolean> addModGroup(@RequestBody @Validated IotModGroupSaveRequest request) {
         return BaseResult.success(iotModGroupManage.addModGroup(request));
     }
 

+ 24 - 14
iot-platform-manager/src/main/java/com/platform/entity/IotDevice.java

@@ -1,9 +1,14 @@
 package com.platform.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
-import com.platform.request.device.IotDeviceRequest;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.platform.request.device.IotDeviceSaveRequest;
 import lombok.Data;
+
 import java.time.LocalDateTime;
+import java.util.UUID;
 
 /**
  * 设备表实体类
@@ -37,6 +42,12 @@ public class IotDevice {
     @TableField("guid")
     private String guid;
 
+    /**
+     * 设备分组码值
+     */
+    @TableField("device_group_code")
+    private String deviceGroupCode;
+
     /**
      * 设备编号
      */
@@ -148,25 +159,24 @@ public class IotDevice {
     public static IotDevice getInstance(){
         return new IotDevice();
     }
-    public static IotDevice toIotDevice(IotDeviceRequest request) {
+    public static IotDevice toIotDevice(IotDeviceSaveRequest request) {
         IotDevice iotDevice = IotDevice.getInstance();
-        iotDevice.setId(request.getId());
-        iotDevice.setTenantId(request.getTenantId());
-        iotDevice.setCompanyId(request.getCompanyId());
-        iotDevice.setGuid(request.getGuid());
-        iotDevice.setDeviceCode(request.getDeviceCode());
+        iotDevice.setTenantId(null);
+        iotDevice.setCompanyId(null);
+        iotDevice.setGuid(null);
+        iotDevice.setDeviceCode(UUID.randomUUID().toString());
         iotDevice.setSn(request.getSn());
         iotDevice.setModCode(request.getModCode());
         iotDevice.setDeviceName(request.getDeviceName());
         iotDevice.setBrand(request.getBrand());
         iotDevice.setModelCode(request.getModelCode());
-        iotDevice.setDescription(request.getDescription());
+        iotDevice.setDescription(null);
         iotDevice.setRemarks(request.getRemarks());
-        iotDevice.setStatus(request.getStatus());
-        iotDevice.setLongitude(request.getLongitude());
-        iotDevice.setLatitude(request.getLatitude());
-        iotDevice.setHigh(request.getHigh());
-        iotDevice.setEgId(request.getEgId());
+        iotDevice.setStatus(null);
+        iotDevice.setLongitude(null);
+        iotDevice.setLatitude(null);
+        iotDevice.setHigh(null);
+        iotDevice.setEgId(null);
         return iotDevice;
     }
 }

+ 0 - 1
iot-platform-manager/src/main/java/com/platform/entity/IotModGroup.java

@@ -1,7 +1,6 @@
 package com.platform.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
-import com.platform.request.mod.IotModSaveRequest;
 import com.platform.request.modGroup.IotModGroupSaveRequest;
 import lombok.Data;
 

+ 1 - 1
iot-platform-manager/src/main/java/com/platform/manage/IotDeviceGroupManage.java

@@ -3,7 +3,7 @@ package com.platform.manage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.platform.entity.IotDeviceGroup;
 import com.platform.exception.BusinessException;
-import com.platform.request.device.DeviceGroupDetailReq;
+import com.platform.request.deviceGroup.DeviceGroupDetailReq;
 import com.platform.request.deviceGroup.IotDeviceGroupRequest;
 import com.platform.response.deviceGroup.DeviceGroupPageResp;
 import com.platform.response.deviceGroup.DeviceGroupDetailResp;

+ 129 - 25
iot-platform-manager/src/main/java/com/platform/manage/IotDeviceManage.java

@@ -1,15 +1,25 @@
 package com.platform.manage;
 
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.platform.dto.DeviceExcelTemplateDTO;
 import com.platform.entity.IotDevice;
+import com.platform.entity.IotDeviceGroup;
+import com.platform.entity.IotMod;
+import com.platform.enums.ErrorCodeEnum;
 import com.platform.exception.BusinessException;
-import com.platform.request.device.DeviceDetailReq;
+import com.platform.exception.IotException;
+import com.platform.exception.PageResult;
+import com.platform.request.device.IotDeviceDetailRequest;
 import com.platform.request.device.IotDeviceRequest;
-import com.platform.response.device.DeviceDetailResp;
-import com.platform.response.device.DevicePageResp;
+import com.platform.request.device.IotDeviceSaveRequest;
+import com.platform.response.device.IotDeviceResp;
+import com.platform.service.IotDeviceGroupService;
 import com.platform.service.IotDeviceService;
+import com.platform.service.IotModService;
 import com.platform.utils.EasyExcelUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
@@ -17,8 +27,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -29,42 +39,131 @@ import java.util.Objects;
 @Service
 @RequiredArgsConstructor
 public class IotDeviceManage {
+
+
     private final IotDeviceService iotDeviceService;
-    public Boolean addDevice(IotDeviceRequest request) {
+
+    private final IotDeviceGroupService iotDeviceGroupService;
+
+    private final IotModService iotModService;
+
+
+    /**
+     * 设备分页查询
+     *
+     * @param request
+     * @return
+     */
+    public PageResult<IotDeviceResp> pageDeviceList(IotDeviceRequest request) {
+        IPage<IotDevice> page = new Page<>(request.getPageNum(), request.getPageSize());
+        LambdaQueryWrapper<IotDevice> queryWrapper = Wrappers.<IotDevice>lambdaQuery()
+                .in(CollectionUtils.isNotEmpty(request.getDeviceGroupCodes()), IotDevice::getDeviceGroupCode, request.getDeviceGroupCodes())
+                .eq(StringUtils.isNotBlank(request.getDeviceCode()), IotDevice::getDeviceGroupCode, request.getDeviceGroupCodes())
+                .eq(IotDevice::getDelFlag, 0);
+
+        //物模型名称模糊查询
+        if (StringUtils.isNotBlank(request.getModName())) {
+            LambdaQueryWrapper<IotMod> modQueryWrapper = Wrappers.<IotMod>lambdaQuery()
+                    .like(IotMod::getName, request.getModName())
+                    .eq(IotMod::getDelFlag, 0L);
+            List<IotMod> modList = iotModService.list(modQueryWrapper);
+            List<String> modCodeList = modList.stream().map(IotMod::getModCode).toList();
+            queryWrapper.in(IotDevice::getModCode, modCodeList);
+        }
+        List<IotDevice> deviceList = iotDeviceService.list(page, queryWrapper);
+
+        //若为null,返回空分页结果
+        if (CollectionUtils.isEmpty(deviceList)) {
+            return PageResult.empty(request.getPageNum(), request.getPageSize());
+        }
+
+        List<IotDeviceResp> deviceRespList = new ArrayList<>();
+        for (IotDevice device : deviceList) {
+            IotDeviceResp deviceResp = IotDeviceResp.toIotPageResp(device);
+            //设备分组名称
+            IotDeviceGroup deviceGroup = iotDeviceGroupService.getOne(Wrappers.<IotDeviceGroup>lambdaQuery()
+                    .eq(IotDeviceGroup::getDeviceGroupCode, device.getDeviceGroupCode()));
+            deviceResp.setDeviceGroupName(deviceGroup.getTitle());
+            //物模型名称
+            IotMod iotMod = iotModService.getOne(Wrappers.<IotMod>lambdaQuery()
+                    .eq(IotMod::getModCode, device.getModCode()));
+            deviceResp.setModName(iotMod.getName());
+            deviceRespList.add(deviceResp);
+        }
+        return PageResult.of(deviceRespList.size(), request.getPageNum(), request.getPageSize(), deviceRespList);
+    }
+
+
+    /**
+     * 添加设备
+     *
+     * @param request
+     * @return
+     */
+    public Boolean addDevice(IotDeviceSaveRequest request) {
         IotDevice oneByName = iotDeviceService.getOneByName(request.getDeviceName());
-        if (Objects.nonNull(oneByName)){
+        if (Objects.nonNull(oneByName)) {
             throw new BusinessException("设备名称已存在");
         }
         IotDevice iotDevice = IotDevice.toIotDevice(request);
         return iotDeviceService.save(iotDevice);
     }
 
-    public Boolean updateDevice(IotDeviceRequest request) {
-        IotDevice iotDevice = IotDevice.toIotDevice(request);
-        if (StringUtils.isBlank(iotDevice.getDeviceCode())){
-            throw new BusinessException("设备编号不能为空");
+
+    /**
+     * 更新设备
+     * @param request
+     * @return
+     */
+    public Boolean updateDevice(IotDeviceSaveRequest request) {
+        if (request.getId() == null) {
+            throw new IotException(ErrorCodeEnum.DATA_DELETE_FAIL, "设备主键id不能为null");
         }
-        LambdaUpdateWrapper<IotDevice> updateWrapper = Wrappers.<IotDevice>lambdaUpdate()
-                .eq(IotDevice::getDeviceCode, iotDevice.getDeviceCode());
-        return iotDeviceService.update(iotDevice,updateWrapper);
+        IotDevice iotDevice = IotDevice.toIotDevice(request);
+        iotDevice.setId(request.getId());
+        return iotDeviceService.updateById(iotDevice);
     }
 
-    public Boolean deleteDevice(String guid) {
-        return iotDeviceService.deleteDevice(guid);
+
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    public Boolean deleteDevice(String id) {
+        if (id == null) {
+            throw new IotException(ErrorCodeEnum.DATA_DELETE_FAIL, "设备主键id不能为null");
+        }
+        return iotDeviceService.deleteDevice(id);
     }
 
-    public DeviceDetailResp getDeviceDetail(DeviceDetailReq req) {
-        IotDevice oneByGuid = iotDeviceService.getOneByGuid(req.getGuid());
-        DeviceDetailResp instance = DeviceDetailResp.getInstance();
-        DeviceDetailResp.toDeviceDetailResp(oneByGuid);
-        return null;
+    /**
+     * 设备详情
+     * @param request
+     * @return
+     */
+    public IotDeviceResp getDeviceDetail(IotDeviceDetailRequest request) {
+        IotDevice iotDevice = iotDeviceService.getById(request.getId());
+        IotDeviceResp deviceResp = IotDeviceResp.toIotPageResp(iotDevice);
+        //设备分组名称
+        IotDeviceGroup deviceGroup = iotDeviceGroupService.getOne(Wrappers.<IotDeviceGroup>lambdaQuery()
+                .eq(IotDeviceGroup::getDeviceGroupCode, iotDevice.getDeviceGroupCode()));
+        deviceResp.setDeviceGroupName(deviceGroup.getTitle());
+        //物模型名称
+        IotMod iotMod = iotModService.getOne(Wrappers.<IotMod>lambdaQuery()
+                .eq(IotMod::getModCode, iotDevice.getModCode()));
+        deviceResp.setModName(iotMod.getName());
 
-    }
+        return deviceResp;
 
-    public DevicePageResp pageDeviceDetail(DeviceDetailReq req) {
-        return null;
     }
 
+
+    /**
+     * 导出
+     * @param response
+     * @return
+     */
     public Void exportTemplate(HttpServletResponse response) {
         try {
             EasyExcelUtil.exportTemplate("设备导入模板", DeviceExcelTemplateDTO.class, response);
@@ -75,13 +174,18 @@ public class IotDeviceManage {
     }
 
 
+    /**
+     * 导入
+     * @param file
+     * @return
+     */
     public Void importExcel(MultipartFile file) {
         if (file.isEmpty()) {
             throw new BusinessException("文件不能为空");
         }
         try {
             InputStream inputStream = file.getInputStream();
-            List<DeviceDetailReq> deviceDetailReqs = EasyExcelUtil.importExcel(inputStream, DeviceDetailReq.class);
+            List<IotDeviceResp> deviceDetailReqs = EasyExcelUtil.importExcel(inputStream, IotDeviceResp.class);
             //todo cxf 导入设备
         } catch (Exception e) {
             throw new BusinessException("设备导入异常");

+ 3 - 6
iot-platform-manager/src/main/java/com/platform/manage/IotModGroupManage.java

@@ -6,24 +6,18 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.platform.entity.IotMod;
 import com.platform.entity.IotModGroup;
 import com.platform.enums.ErrorCodeEnum;
 import com.platform.exception.IotException;
 import com.platform.exception.PageResult;
-import com.platform.request.modGroup.IotModGroupDetailReq;
 import com.platform.request.modGroup.IotModGroupRequest;
 import com.platform.request.modGroup.IotModGroupSaveRequest;
-import com.platform.response.device.DeviceDetailResp;
-import com.platform.response.device.DevicePageResp;
 import com.platform.response.modGroup.IotModGroupPageResp;
 import com.platform.service.IotModGroupService;
 import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 
@@ -89,6 +83,9 @@ public class IotModGroupManage {
      * @return
      */
     public Boolean deleteModGroup(Long id) {
+        if (id == null) {
+            throw new IotException(ErrorCodeEnum.DATA_DELETE_FAIL, "物模型分组主键id不能为null");
+        }
         return iotModGroupService.removeById(id);
     }
 

+ 0 - 2
iot-platform-manager/src/main/java/com/platform/manage/IotModManage.java

@@ -1,7 +1,6 @@
 package com.platform.manage;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -15,7 +14,6 @@ import com.platform.exception.PageResult;
 import com.platform.request.mod.IotModDetailReq;
 import com.platform.request.mod.IotModRequest;
 import com.platform.request.mod.IotModSaveRequest;
-import com.platform.response.mod.IotModDetailResp;
 import com.platform.response.mod.IotModResp;
 import com.platform.service.IotDeviceService;
 import com.platform.service.IotModGroupService;

+ 0 - 17
iot-platform-manager/src/main/java/com/platform/request/device/DeviceDetailReq.java

@@ -1,17 +0,0 @@
-package com.platform.request.device;
-
-import com.platform.request.PageRequest;
-import lombok.Data;
-
-/**
- * @Author: 马超伟
- * @CreateTime: 2025-10-09
- * @Description:
- * @Version: 1.0
- */
-
-
-@Data
-public class DeviceDetailReq extends PageRequest {
-    private String guid;
-}

+ 25 - 0
iot-platform-manager/src/main/java/com/platform/request/device/IotDeviceDetailRequest.java

@@ -0,0 +1,25 @@
+package com.platform.request.device;
+
+import com.platform.request.PageRequest;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @Author: 马超伟
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+
+@Data
+public class IotDeviceDetailRequest extends PageRequest {
+
+    /**
+     * 设备分组码值
+     */
+    @NotBlank(message = "设备主键id不能为null")
+    private Long id;
+
+
+}

+ 15 - 86
iot-platform-manager/src/main/java/com/platform/request/device/IotDeviceRequest.java

@@ -1,31 +1,25 @@
 package com.platform.request.device;
 
+import com.platform.request.PageRequest;
 import lombok.Data;
 
+import java.util.List;
+
 /**
- * 设备表实体类
- * @author cxf
+ * @Author: 马超伟
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
  */
-@Data
-public class IotDeviceRequest {
 
 
-    private Long id;
-
-    /**
-     * 租户id
-     */
-    private String tenantId;
-
-    /**
-     * 所属客户id
-     */
-    private Long companyId;
+@Data
+public class IotDeviceRequest extends PageRequest {
 
     /**
-     * 唯一标识[暂时保留]
+     * 设备分组码值
      */
-    private String guid;
+    private List<String> deviceGroupCodes;
 
     /**
      * 设备编号
@@ -33,81 +27,16 @@ public class IotDeviceRequest {
     private String deviceCode;
 
     /**
-     * sn通常是:IMEI
-     */
-    private String sn;
-
-    /**
-     * 物联网模型码值
-     */
-    private String modCode;
-
-    /**
-     * 设备名称[旧系统的title]
-     */
-
-    private String deviceName;
-
-    /**
-     * 设备品牌名称
-     */
-
-    private String brand;
-
-    /**
-     * 型号
-     */
-
-    private String modelCode;
-
-    /**
-     * 最后一次设备更新信息值[旧系统的desc]
-     */
-    private String description;
-
-    /**
-     * 备注
-     */
-    private String remarks;
-
-    /**
-     * 1在线2离线3异常
-     */
-    private Integer status;
-
-    /**
-     * 经度[lng]
-     */
-    private String longitude;
-
-    /**
-     * 纬度[lat]
+     * 物模型名称
      */
-    private String latitude;
+    private String modName;
 
     /**
-     * 高度
+     * 所属客户id
      */
-    private String high;
+    private Long companyId;
 
 
-    /**
-     * 创建人
-     */
-    private String createUser;
 
-    /**
-     * 更新人
-     */
-    private String updateUser;
-
-    /**
-     * 0-未删除,1-删除
-     */
-    private Integer delFlag;
 
-    /**
-     * 设备类别
-     */
-    private Long egId;
 }

+ 53 - 0
iot-platform-manager/src/main/java/com/platform/request/device/IotDeviceSaveRequest.java

@@ -0,0 +1,53 @@
+package com.platform.request.device;
+
+import lombok.Data;
+
+/**
+ * 设备表实体类
+ * @author cxf
+ */
+@Data
+public class IotDeviceSaveRequest {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 物联网模型码值
+     */
+    private String modCode;
+
+    /**
+     * 设备名称[旧系统的title]
+     */
+    private String deviceName;
+
+    /**
+     * 设备分组码值
+     */
+    private String deviceGroupCode;
+
+    /**
+     * 设备品牌名称
+     */
+    private String brand;
+
+    /**
+     * 型号
+     */
+    private String modelCode;
+
+    /**
+     * sn通常是:IMEI
+     */
+    private String sn;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+
+}

+ 1 - 1
iot-platform-manager/src/main/java/com/platform/request/device/DeviceGroupDetailReq.java → iot-platform-manager/src/main/java/com/platform/request/deviceGroup/DeviceGroupDetailReq.java

@@ -1,4 +1,4 @@
-package com.platform.request.device;
+package com.platform.request.deviceGroup;
 
 import com.platform.request.PageRequest;
 import lombok.Data;

+ 0 - 3
iot-platform-manager/src/main/java/com/platform/request/deviceGroup/IotDeviceGroupRequest.java

@@ -1,8 +1,5 @@
 package com.platform.request.deviceGroup;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 import java.io.Serial;

+ 0 - 1
iot-platform-manager/src/main/java/com/platform/request/modGroup/IotModGroupRequest.java

@@ -1,7 +1,6 @@
 package com.platform.request.modGroup;
 
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.platform.request.PageRequest;
 import lombok.Data;
 

+ 3 - 1
iot-platform-manager/src/main/java/com/platform/request/modGroup/IotModGroupSaveRequest.java

@@ -1,6 +1,7 @@
 package com.platform.request.modGroup;
 
 
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
 /**
@@ -14,8 +15,9 @@ import lombok.Data;
 public class IotModGroupSaveRequest {
 
     /**
-     * 物模型名称
+     * 物模型分组名称
      */
+    @NotBlank(message = "物模型分组名称不能为null")
     private String name;
 
     /**

+ 0 - 147
iot-platform-manager/src/main/java/com/platform/response/device/DeviceDetailResp.java

@@ -1,147 +0,0 @@
-package com.platform.response.device;
-
-import com.platform.entity.IotDevice;
-import lombok.Data;
-
-/**
- * @Author: 马超伟
- * @CreateTime: 2025-10-09
- * @Description:
- * @Version: 1.0
- */
-
-
-@Data
-public class DeviceDetailResp {
-
-    private Long id;
-
-    /**
-     * 租户id
-     */
-    private String tenantId;
-
-    /**
-     * 所属客户id
-     */
-    private Long companyId;
-
-    /**
-     * 唯一标识[暂时保留]
-     */
-    private String guid;
-
-    /**
-     * 设备编号
-     */
-    private String deviceCode;
-
-    /**
-     * sn通常是:IMEI
-     */
-    private String sn;
-
-    /**
-     * 物联网模型码值
-     */
-    private String modCode;
-
-    /**
-     * 设备名称[旧系统的title]
-     */
-
-    private String deviceName;
-
-    /**
-     * 设备品牌名称
-     */
-
-    private String brand;
-
-    /**
-     * 型号
-     */
-
-    private String modelCode;
-
-    /**
-     * 最后一次设备更新信息值[旧系统的desc]
-     */
-    private String description;
-
-    /**
-     * 备注
-     */
-    private String remarks;
-
-    /**
-     * 1在线2离线3异常
-     */
-    private Integer status;
-
-    /**
-     * 经度[lng]
-     */
-    private String longitude;
-
-    /**
-     * 纬度[lat]
-     */
-    private String latitude;
-
-    /**
-     * 高度
-     */
-    private String high;
-
-
-    /**
-     * 创建人
-     */
-    private String createUser;
-
-    /**
-     * 更新人
-     */
-    private String updateUser;
-
-    /**
-     * 0-未删除,1-删除
-     */
-    private Integer delFlag;
-
-    /**
-     * 设备类别
-     */
-    private Long egId;
-
-    public static DeviceDetailResp getInstance(){
-    	return new DeviceDetailResp();
-    }
-
-    public static DeviceDetailResp toDeviceDetailResp(IotDevice iotDevice) {
-        DeviceDetailResp instance = DeviceDetailResp.getInstance();
-        instance.setId(iotDevice.getId());
-        instance.setTenantId(iotDevice.getTenantId());
-        instance.setCompanyId(iotDevice.getCompanyId());
-        instance.setGuid(iotDevice.getGuid());
-        instance.setDeviceCode(iotDevice.getDeviceCode());
-        instance.setSn(iotDevice.getSn());
-        instance.setModCode(iotDevice.getModCode());
-        instance.setDeviceName(iotDevice.getDeviceName());
-        instance.setBrand(iotDevice.getBrand());
-        instance.setModelCode(iotDevice.getModelCode());
-        instance.setDescription(iotDevice.getDescription());
-        instance.setRemarks(iotDevice.getRemarks());
-        instance.setStatus(iotDevice.getStatus());
-        instance.setLongitude(iotDevice.getLongitude());
-        instance.setLatitude(iotDevice.getLatitude());
-        instance.setHigh(iotDevice.getHigh());
-        instance.setCreateUser(iotDevice.getCreateUser());
-        instance.setUpdateUser(iotDevice.getUpdateUser());
-        instance.setDelFlag(iotDevice.getDelFlag());
-        instance.setEgId(iotDevice.getEgId());
-        return instance;
-
-    }
-}

+ 0 - 120
iot-platform-manager/src/main/java/com/platform/response/device/DevicePageResp.java

@@ -1,120 +0,0 @@
-package com.platform.response.device;
-
-import lombok.Data;
-
-/**
- * @Author: 马超伟
- * @CreateTime: 2025-10-09
- * @Description:
- * @Version: 1.0
- */
-
-
-@Data
-public class DevicePageResp {
-
-    private Long id;
-
-    /**
-     * 租户id
-     */
-    private String tenantId;
-
-    /**
-     * 所属客户id
-     */
-    private Long companyId;
-
-    /**
-     * 唯一标识[暂时保留]
-     */
-    private String guid;
-
-    /**
-     * 设备编号
-     */
-    private String deviceCode;
-
-    /**
-     * sn通常是:IMEI
-     */
-    private String sn;
-
-    /**
-     * 物联网模型码值
-     */
-    private String modCode;
-
-    /**
-     * 物联网模型名称
-     */
-    private String modName;
-
-    /**
-     * 设备名称[旧系统的title]
-     */
-    private String deviceName;
-
-    /**
-     * 设备品牌名称
-     */
-
-    private String brand;
-
-    /**
-     * 型号
-     */
-
-    private String modelCode;
-
-    /**
-     * 最后一次设备更新信息值[旧系统的desc]
-     */
-    private String description;
-
-    /**
-     * 备注
-     */
-    private String remarks;
-
-    /**
-     * 1在线2离线3异常
-     */
-    private Integer status;
-
-    /**
-     * 经度[lng]
-     */
-    private String longitude;
-
-    /**
-     * 纬度[lat]
-     */
-    private String latitude;
-
-    /**
-     * 高度
-     */
-    private String high;
-
-
-    /**
-     * 创建人
-     */
-    private String createUser;
-
-    /**
-     * 更新人
-     */
-    private String updateUser;
-
-    /**
-     * 0-未删除,1-删除
-     */
-    private Integer delFlag;
-
-    /**
-     * 设备类别
-     */
-    private Long egId;
-}

+ 96 - 0
iot-platform-manager/src/main/java/com/platform/response/device/IotDeviceResp.java

@@ -0,0 +1,96 @@
+package com.platform.response.device;
+
+import com.platform.entity.IotDevice;
+import lombok.Data;
+
+/**
+ * @Author: 马超伟
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+
+@Data
+public class IotDeviceResp {
+
+    /**
+     * 设备主键id
+     */
+    private Long id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称[旧系统的title]
+     */
+    private String deviceName;
+
+    /**
+     * 设备分组码值
+     */
+    private String deviceGroupCode;
+
+    /**
+     * 设备分组名称
+     */
+    private String deviceGroupName;
+
+    /**
+     * 物联网模型码值
+     */
+    private String modCode;
+
+    /**
+     * 物联网模型名称
+     */
+    private String modName;
+
+    /**
+     * 设备品牌名称
+     */
+    private String brand;
+
+    /**
+     * 型号
+     */
+    private String modelCode;
+
+    /**
+     * sn通常是:IMEI
+     */
+    private String sn;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 设备类别
+     */
+    private Long egId;
+
+
+    private static IotDeviceResp getInstance(){
+        return new IotDeviceResp();
+    }
+
+    public static IotDeviceResp toIotPageResp(IotDevice iotDevice){
+        IotDeviceResp devicePageResp = IotDeviceResp.getInstance();
+        devicePageResp.setId(iotDevice.getId());
+        devicePageResp.setDeviceCode(iotDevice.getDeviceCode());
+        devicePageResp.setDeviceName(iotDevice.getDeviceName());
+        devicePageResp.setDeviceGroupCode(iotDevice.getDeviceGroupCode());
+        devicePageResp.setModCode(iotDevice.getModCode());
+        devicePageResp.setBrand(iotDevice.getBrand());
+        devicePageResp.setModelCode(iotDevice.getModelCode());
+        devicePageResp.setSn(iotDevice.getSn());
+        devicePageResp.setRemarks(iotDevice.getRemarks());
+
+        return devicePageResp;
+    }
+}

+ 0 - 5
iot-platform-manager/src/main/java/com/platform/response/deviceGroup/DeviceGroupDetailResp.java

@@ -1,15 +1,10 @@
 package com.platform.response.deviceGroup;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.platform.entity.IotDevice;
 import com.platform.entity.IotDeviceGroup;
 import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
-import java.time.LocalDateTime;
 
 
 

+ 0 - 1
iot-platform-manager/src/main/java/com/platform/service/IotModGroupService.java

@@ -1,7 +1,6 @@
 package com.platform.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.platform.entity.IotMod;
 import com.platform.entity.IotModGroup;
 
 /**

+ 0 - 3
iot-platform-manager/src/main/java/com/platform/service/IotModService.java

@@ -1,10 +1,7 @@
 package com.platform.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.platform.entity.IotDevice;
 import com.platform.entity.IotMod;
-import com.platform.mapper.IotModMapper;
 
 /**
  * @Author: chenxiaofei

+ 0 - 1
iot-platform-manager/src/main/java/com/platform/service/impl/IotDeviceGroupServiceImpl.java

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.platform.entity.IotDeviceGroup;
 import com.platform.mapper.IotDeviceGroupMapper;
 import com.platform.service.IotDeviceGroupService;
-import org.checkerframework.common.returnsreceiver.qual.This;
 import org.springframework.stereotype.Service;
 
 /**

+ 0 - 2
iot-platform-manager/src/main/java/com/platform/service/impl/IotModGroupServiceImpl.java

@@ -2,8 +2,6 @@ package com.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.platform.entity.IotDevice;
-import com.platform.entity.IotDeviceGroup;
 import com.platform.entity.IotModGroup;
 import com.platform.mapper.IotModGroupMapper;
 import com.platform.service.IotModGroupService;

+ 0 - 1
iot-platform-manager/src/main/java/com/platform/service/impl/IotModServiceImpl.java

@@ -3,7 +3,6 @@ package com.platform.service.impl;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.platform.entity.IotMod;
-import com.platform.entity.IotModGroup;
 import com.platform.mapper.IotModMapper;
 import com.platform.service.IotModService;
 import org.springframework.stereotype.Service;

+ 1 - 0
sql/2025/11/create_cxf.sql

@@ -3,6 +3,7 @@ create table iot_device
     id          bigint unsigned auto_increment primary key,
     company_id  bigint unsigned              not null default  0  comment '所属客户id',
     guid        varchar(255)                 not null default ''  comment '唯一标识[暂时保留]',
+    device_group_code  varchar(255)          not null default ''  comment '设备分组码值',
     device_code varchar(255)                 not null default ''  comment '设备编号',
     sn          varchar(255)                 not null default ''  comment 'sn通常是:IMEI',
     mod_code    varchar(255)                 not null default ''  comment '物联网模型码值',