Pārlūkot izejas kodu

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

donglang 3 mēneši atpakaļ
vecāks
revīzija
110b51c076

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

@@ -1,17 +1,16 @@
 package com.platform.controller;
 
 import com.platform.exception.BaseResult;
-import com.platform.exception.PageResult;
 import com.platform.manage.IotDeviceGroupManage;
-import com.platform.request.deviceGroup.DeviceGroupDetailReq;
 import com.platform.request.deviceGroup.IotDeviceGroupRequest;
-import com.platform.response.deviceGroup.DeviceGroupDetailResp;
-import com.platform.response.deviceGroup.DeviceGroupPageResp;
-import com.platform.result.HttpResult;
+import com.platform.request.deviceGroup.IotDeviceGroupSaveRequest;
+import com.platform.response.deviceGroup.IotDeviceGroupPageResp;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * 物联网设备管理控制器
  * @author PC
@@ -25,44 +24,28 @@ public class IotDeviceGroupController {
     private final IotDeviceGroupManage iotDeviceGroupManage;
 
     /**
-     * 分页查询物联设备
+     * 查询物联设备
      */
     @PostMapping("/pageGroupDevice")
-    public PageResult<DeviceGroupPageResp> pageGroupDevice(@RequestBody DeviceGroupDetailReq req) {
-        return iotDeviceGroupManage.pageGroupDevice(req);
+    public BaseResult<List<IotDeviceGroupPageResp>> pageGroupDevice(@RequestBody IotDeviceGroupRequest request) {
+        return BaseResult.success(iotDeviceGroupManage.queryGroupDevice(request));
     }
 
     /**
      * 添加物联网设备
      */
     @PostMapping("/addDeviceGroup")
-    public BaseResult<Boolean> addDeviceGroup(@RequestBody IotDeviceGroupRequest request) {
+    public BaseResult<Boolean> addDeviceGroup(@RequestBody @Validated IotDeviceGroupSaveRequest request) {
         return BaseResult.success(iotDeviceGroupManage.addDeviceGroup(request));
     }
 
-    /**
-     * 修改物联网设备
-     */
-    @PostMapping("/updateDeviceGroup")
-    public BaseResult<Boolean> updateDeviceGroup(@RequestBody IotDeviceGroupRequest request) {
-        return BaseResult.success(iotDeviceGroupManage.updateDeviceGroup(request));
-    }
-
     /**
      * 删除物联网设备
      */
     @GetMapping("/delDeviceGroup")
-    public BaseResult<Boolean> delDeviceGroup(@RequestParam("deviceGroupCode") String deviceGroupCode) {
-        return BaseResult.success(iotDeviceGroupManage.delDeviceGroup(deviceGroupCode));
+    public BaseResult<Boolean> delDeviceGroup(Long id) {
+        return BaseResult.success(iotDeviceGroupManage.delDeviceGroup(id));
     }
 
 
-    /**
-     * 物联设备详情查询
-     */
-    @PostMapping("/getDeviceGroupDetail")
-    public BaseResult<DeviceGroupDetailResp> getDeviceGroupDetail(@RequestBody DeviceGroupDetailReq req) {
-        return BaseResult.success(iotDeviceGroupManage.getDeviceGroupDetail(req));
-    }
-
 }

+ 11 - 8
iot-platform-manager/src/main/java/com/platform/entity/IotDeviceGroup.java

@@ -1,9 +1,14 @@
 package com.platform.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
-import com.platform.request.deviceGroup.IotDeviceGroupRequest;
+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.deviceGroup.IotDeviceGroupSaveRequest;
 import lombok.Data;
+
 import java.time.LocalDateTime;
+import java.util.UUID;
 
 /**
  * 设备分组表实体类
@@ -79,15 +84,13 @@ public class IotDeviceGroup {
     @TableField("update_user")
     private String updateUser;
 
-    public static IotDeviceGroup getInstance(){
+    public static IotDeviceGroup getInstance() {
         return new IotDeviceGroup();
     }
-    public static IotDeviceGroup toIotDeviceGroup(IotDeviceGroupRequest request){
+
+    public static IotDeviceGroup toIotDeviceGroup(IotDeviceGroupSaveRequest request) {
         IotDeviceGroup instance = IotDeviceGroup.getInstance();
-        instance.setId(request.getId());
-        instance.setDeviceGroupCode(request.getDeviceGroupCode());
-        instance.setTenantId(request.getTenantId());
-        instance.setCompanyId(request.getCompanyId());
+        instance.setDeviceGroupCode(UUID.randomUUID().toString());
         instance.setTitle(request.getTitle());
         instance.setLargeType(request.getLargeType());
         return instance;

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

@@ -1,18 +1,22 @@
 package com.platform.manage;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.platform.entity.IotDeviceGroup;
-import com.platform.exception.BusinessException;
-import com.platform.exception.PageResult;
-import com.platform.request.deviceGroup.DeviceGroupDetailReq;
+import com.platform.enums.ErrorCodeEnum;
+import com.platform.exception.IotException;
 import com.platform.request.deviceGroup.IotDeviceGroupRequest;
-import com.platform.response.deviceGroup.DeviceGroupPageResp;
-import com.platform.response.deviceGroup.DeviceGroupDetailResp;
+import com.platform.request.deviceGroup.IotDeviceGroupSaveRequest;
+import com.platform.response.deviceGroup.IotDeviceGroupPageResp;
 import com.platform.service.IotDeviceGroupService;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 import java.util.Objects;
 
 
@@ -25,45 +29,58 @@ public class IotDeviceGroupManage {
 
     private final IotDeviceGroupService iotDeviceGroupService;
 
-    public PageResult<DeviceGroupPageResp> pageGroupDevice(DeviceGroupDetailReq req) {
-        //todo 设置参数
-        IotDeviceGroup iotDeviceGroup = new IotDeviceGroup();
-        Page page = iotDeviceGroupService.pageGroupDevice(req.getPageNum(),req.getPageSize(),iotDeviceGroup);
-        return null;
-    }
 
-    public Boolean addDeviceGroup(IotDeviceGroupRequest request) {
-        IotDeviceGroup oneByName = iotDeviceGroupService.getOneByTitle(request.getTitle());
-        if (Objects.nonNull(oneByName)){
-            throw new BusinessException("设备分组名称已存在");
+    /**
+     * 查询设备分组
+     * @param request
+     * @return
+     */
+    public List<IotDeviceGroupPageResp> queryGroupDevice(IotDeviceGroupRequest request) {
+        LambdaQueryWrapper<IotDeviceGroup> queryWrapper = Wrappers.<IotDeviceGroup>lambdaQuery()
+                .eq(StringUtils.isNotBlank(request.getTitle()), IotDeviceGroup::getTitle, request.getTitle())
+                .eq(IotDeviceGroup::getDelFlag, 0);
+        List<IotDeviceGroup> deviceGroupList = iotDeviceGroupService.list(queryWrapper);
+
+        //若为null,返回空分页结果
+        if (CollectionUtils.isEmpty(deviceGroupList)) {
+            return Collections.emptyList();
         }
-        IotDeviceGroup iotDeviceGroup = IotDeviceGroup.toIotDeviceGroup(request);
-        return iotDeviceGroupService.addDeviceGroup(iotDeviceGroup);
-    }
+        List<IotDeviceGroupPageResp> deviceGroupPageRespList = new ArrayList<>();
 
-    public Boolean updateDeviceGroup(IotDeviceGroupRequest request) {
-        if (StringUtils.isBlank(request.getDeviceGroupCode())){
-            throw new BusinessException("设备分组码值不能为空");
+        for (IotDeviceGroup iotDeviceGroup : deviceGroupList) {
+            IotDeviceGroupPageResp devicePageResp = IotDeviceGroupPageResp.toDevicePageResp(iotDeviceGroup);
+            deviceGroupPageRespList.add(devicePageResp);
         }
-        IotDeviceGroup iotDeviceGroup = IotDeviceGroup.toIotDeviceGroup(request);
-        return iotDeviceGroupService.updateDeviceGroup(iotDeviceGroup);
+        return deviceGroupPageRespList;
     }
 
-    public Boolean delDeviceGroup(String deviceGroupCode) {
-        if (StringUtils.isBlank(deviceGroupCode)){
-            throw new BusinessException("设备分组码值不能为空");
+    /**
+     * 新增设备分组
+     * @param request
+     * @return
+     */
+    public Boolean addDeviceGroup(IotDeviceGroupSaveRequest request) {
+        IotDeviceGroup deviceGroupName = iotDeviceGroupService.getOneByTitle(request.getTitle());
+        if (Objects.nonNull(deviceGroupName)){
+            throw new IotException(ErrorCodeEnum.DATA_SAVE_FAIL, "设备分组名称已存在");
         }
-        return iotDeviceGroupService.delDeviceGroup(deviceGroupCode);
+        IotDeviceGroup iotDeviceGroup = IotDeviceGroup.toIotDeviceGroup(request);
+        return iotDeviceGroupService.addDeviceGroup(iotDeviceGroup);
     }
 
-    public DeviceGroupDetailResp getDeviceGroupDetail(DeviceGroupDetailReq req) {
-        //todo 设置参数
-        IotDeviceGroup iotDeviceGroup = new IotDeviceGroup();
-        IotDeviceGroup iotGroupDetail= iotDeviceGroupService.getDeviceGroupDetail(iotDeviceGroup);
-        if (Objects.nonNull(iotGroupDetail)){
-            return DeviceGroupDetailResp.toDeviceGroupDetailResp(iotGroupDetail);
+
+    /**
+     * 删除设备分组
+     * @param id
+     * @return
+     */
+    public Boolean delDeviceGroup(Long id) {
+        if (id == null){
+            throw new IotException(ErrorCodeEnum.DATA_DELETE_FAIL,"设备分组删除不能为空");
         }
-        return DeviceGroupDetailResp.getInstance();
+        return iotDeviceGroupService.removeById(id);
     }
 
+
+
 }

+ 0 - 26
iot-platform-manager/src/main/java/com/platform/request/deviceGroup/DeviceGroupDetailReq.java

@@ -1,26 +0,0 @@
-package com.platform.request.deviceGroup;
-
-import com.platform.request.PageRequest;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.io.Serial;
-
-/**
- * @Author: 马超伟
- * @CreateTime: 2025-10-09
- * @Description:
- * @Version: 1.0
- */
-
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class DeviceGroupDetailReq extends PageRequest {
-    @Serial
-    private static final long serialVersionUID = -4283288286780625958L;
-    /**
-     * 设备分组码值
-     */
-    private String deviceGroupCode;
-}

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

@@ -1,81 +1,18 @@
 package com.platform.request.deviceGroup;
 
+import com.platform.request.PageRequest;
 import lombok.Data;
 
-import java.io.Serial;
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
 /**
- * 设备分组表实体类
+ * 设备分组查询模型
  * @author cxf
  */
 @Data
-public class IotDeviceGroupRequest implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 5529931062653486264L;
-    /**
-     * 主键ID
-     */
-    private Long id;
-
-    /**
-     * 设备分组码值
-     */
-
-    private String deviceGroupCode;
-
-    /**
-     * 租户id
-     */
-
-    private String tenantId;
-
-    /**
-     * 所属客户id
-     */
-
-    private Long companyId;
+public class IotDeviceGroupRequest extends PageRequest {
 
     /**
      * 设备分组名称
      */
-
     private String title;
 
-    /**
-     * [有点晕?]1-12(车辆、装载机、矿卡、人员、水表、电表、边坡监控、视频监控、皮带称重、环境监测、无人地磅、排放监测)
-     */
-
-    private Integer largeType;
-
-    /**
-     * 0-未删除,1-删除
-     */
-
-    private Integer delFlag;
-
-    /**
-     * 创建时间
-     */
-
-    private LocalDateTime createTime;
-
-    /**
-     * 更新时间
-     */
-
-    private LocalDateTime updateTime;
-
-    /**
-     * 创建人
-     */
-
-    private String createUser;
-
-    /**
-     * 更新人
-     */
-    private String updateUser;
 }

+ 25 - 0
iot-platform-manager/src/main/java/com/platform/request/deviceGroup/IotDeviceGroupSaveRequest.java

@@ -0,0 +1,25 @@
+package com.platform.request.deviceGroup;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * 设备分组保存模型
+ * @author cxf
+ */
+@Data
+public class IotDeviceGroupSaveRequest {
+
+    /**
+     * 设备分组名称
+     */
+    @NotBlank
+    private String title;
+
+    /**
+     * 设备所属类别
+     */
+    @NotBlank
+    private Integer largeType;
+
+}

+ 0 - 127
iot-platform-manager/src/main/java/com/platform/response/deviceGroup/DeviceGroupPageResp.java

@@ -1,127 +0,0 @@
-package com.platform.response.deviceGroup;
-
-import lombok.Data;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @Author: 马超伟
- * @CreateTime: 2025-10-09
- * @Description:
- * @Version: 1.0
- */
-
-
-@Data
-public class DeviceGroupPageResp implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 4129323442919345144L;
-
-
-    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;
-}

+ 52 - 0
iot-platform-manager/src/main/java/com/platform/response/deviceGroup/IotDeviceGroupPageResp.java

@@ -0,0 +1,52 @@
+package com.platform.response.deviceGroup;
+
+import com.platform.entity.IotDeviceGroup;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @Author: 马超伟
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+
+@Data
+public class IotDeviceGroupPageResp implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 4129323442919345144L;
+
+    /**
+     * 主键ID
+     */
+    private Long id;
+
+    /**
+     * 设备分组码值
+     */
+    private String deviceGroupCode;
+
+    /**
+     * 设备分组名称
+     */
+    private String title;
+
+    private static IotDeviceGroupPageResp getInstance() {
+        return new IotDeviceGroupPageResp();
+    }
+
+
+    public static IotDeviceGroupPageResp toDevicePageResp(IotDeviceGroup deviceGroup) {
+        IotDeviceGroupPageResp deviceGroupPageResp = IotDeviceGroupPageResp.getInstance();
+        deviceGroupPageResp.setId(deviceGroup.getId());
+        deviceGroupPageResp.setDeviceGroupCode(deviceGroup.getDeviceGroupCode());
+        deviceGroupPageResp.setTitle(deviceGroup.getTitle());
+        return deviceGroupPageResp;
+
+    }
+
+}