瀏覽代碼

完善物理模型开发

donglang 8 月之前
父節點
當前提交
59eabd5148

+ 0 - 4
iot-platform-manager/src/main/java/com/platform/controller/Demo.java

@@ -1,4 +0,0 @@
-package com.platform.controller;
-
-public class Demo {
-}

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

@@ -10,6 +10,7 @@ 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;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -63,7 +64,7 @@ public class IotModController {
      * 物理模型详情查询
      */
     @PostMapping("/getModDetail")
-    public BaseResult<IotModResp> getModDetail(@RequestBody IotModDetailReq req) {
+    public BaseResult<IotModResp> getModDetail(@RequestBody @Validated IotModDetailReq req) {
         return BaseResult.success(iotModManage.getModDetail(req));
     }
 

+ 18 - 3
iot-platform-manager/src/main/java/com/platform/manage/IotModManage.java

@@ -6,6 +6,7 @@ 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.entity.IotDevice;
 import com.platform.entity.IotMod;
 import com.platform.entity.IotModGroup;
 import com.platform.enums.ErrorCodeEnum;
@@ -16,6 +17,7 @@ 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;
 import com.platform.service.IotModService;
 import lombok.RequiredArgsConstructor;
@@ -41,6 +43,8 @@ public class IotModManage {
 
     private final IotModGroupService iotModGroupService;
 
+    private final IotDeviceService iotDeviceService;
+
 
     /**
      * 分页查询
@@ -51,8 +55,8 @@ public class IotModManage {
     public PageResult<IotModResp> pageModList(IotModRequest request) {
         IPage<IotMod> page = new Page<>(request.getPageNum(), request.getPageSize());
         LambdaQueryWrapper<IotMod> queryWrapper = Wrappers.<IotMod>lambdaQuery()
-                .eq(IotMod::getModeGroupCode, request.getModeGroupCode())
-                .eq(StringUtils.isNotBlank(request.getGuid()), IotMod::getGuid, request.getGuid())
+                .in(CollectionUtils.isNotEmpty(request.getModeGroupCodes()), IotMod::getModeGroupCode, request.getModeGroupCodes())
+                .eq(StringUtils.isNotBlank(request.getModCode()), IotMod::getGuid, request.getModCode())
                 .eq(StringUtils.isNotBlank(request.getName()), IotMod::getName, request.getName());
         List<IotMod> modList = iotModService.list(page, queryWrapper);
 
@@ -64,10 +68,15 @@ public class IotModManage {
         List<IotModResp> modPageRespList = new ArrayList<>();
         for (IotMod item : modList) {
             IotModResp iotPageResp = IotModResp.toIotPageResp(item);
-            //查询物理模型分组名称
+            //理模型分组名称
             IotModGroup iotModGroup = iotModGroupService.getOne(Wrappers.<IotModGroup>lambdaQuery()
                     .eq(IotModGroup::getModeGroupCode, item.getModeGroupCode()));
             iotPageResp.setModeGroupName(iotModGroup.getName());
+
+            //设备数
+            List<IotDevice> list = iotDeviceService.list(Wrappers.<IotDevice>lambdaQuery().eq(IotDevice::getModCode, item.getModeGroupCode()));
+            iotPageResp.setNum(list.size());
+
             modPageRespList.add(iotPageResp);
         }
         return PageResult.of(modPageRespList.size(), request.getPageNum(), request.getPageSize(), modPageRespList);
@@ -96,6 +105,9 @@ public class IotModManage {
      * @return
      */
     public Boolean updateMod(IotModSaveRequest request) {
+        if (request.getId() == null) {
+            throw new IotException(ErrorCodeEnum.DATA_DELETE_FAIL, "物理模型主键id不能为null");
+        }
         IotMod iotMod = IotMod.requestToIotMod(request);
         iotMod.setId(request.getId());
         return iotModService.updateById(iotMod);
@@ -108,6 +120,9 @@ public class IotModManage {
      * @return
      */
     public Boolean deleteMod(Long id) {
+        if (id == null) {
+            throw new IotException(ErrorCodeEnum.DATA_DELETE_FAIL, "物理模型主键id不能为null");
+        }
         return iotModService.removeById(id);
 
     }

+ 5 - 0
iot-platform-manager/src/main/java/com/platform/request/mod/IotModDetailReq.java

@@ -1,6 +1,7 @@
 package com.platform.request.mod;
 
 
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
 /**
@@ -13,6 +14,10 @@ import lombok.Data;
 @Data
 public class IotModDetailReq {
 
+    /**
+     * 物理模型主键id
+     */
+    @NotBlank(message= "商品名称不能为空")
     private Long id;
 
     

+ 7 - 33
iot-platform-manager/src/main/java/com/platform/request/mod/IotModRequest.java

@@ -4,6 +4,8 @@ package com.platform.request.mod;
 import com.platform.request.PageRequest;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @Author: donglang
  * @CreateTime: 2025-10-09
@@ -14,25 +16,15 @@ import lombok.Data;
 @Data
 public class IotModRequest extends PageRequest {
 
-    /**
-     * 物理模型码值
-     */
-    private String modCode;
-
-    /**
-     * 所属客户id
-     */
-    private Long companyId;
-
     /**
      * 物模型分组码值
      */
-    private String modeGroupCode;
+    private List<String> modeGroupCodes;
 
     /**
-     * 唯一标识
+     * 物理模型码值
      */
-    private String guid;
+    private String modCode;
 
     /**
      * 物模型名称
@@ -40,29 +32,11 @@ public class IotModRequest extends PageRequest {
     private String name;
 
     /**
-     * 备注
-     */
-    private String remarks;
-
-    /**
-     * 包含JSON
-     */
-    private String tslJson;
-
-    /**
-     * 设备数
+     * 所属客户id
      */
-    private Integer num;
+    private Long companyId;
 
-    /**
-     * 创建人
-     */
-    private String createUser;
 
-    /**
-     * 更新人
-     */
-    private String updateUser;
 
 
 

+ 1 - 2
iot-platform-manager/src/main/java/com/platform/response/mod/IotModResp.java

@@ -60,7 +60,7 @@ public class IotModResp {
     private String tslJson;
 
     /**
-     * 设备数
+     * 设备数 (统计关联的设备数量,iot_mod表里num字段无效)
      */
     private Integer num;
 
@@ -80,7 +80,6 @@ public class IotModResp {
         iotModPageResp.setName(iotMod.getName());
         iotModPageResp.setRemarks(iotMod.getRemarks());
         iotModPageResp.setTslJson(iotMod.getTslJson());
-        iotModPageResp.setNum(iotMod.getNum());
 
         return iotModPageResp;
     }

+ 6 - 0
pom.xml

@@ -105,6 +105,12 @@
             <artifactId>commons-lang3</artifactId>
             <version>3.12.0</version>
         </dependency>
+        <!-- Spring Boot 校验 starter(推荐) -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+
 
     </dependencies>
 	<dependencyManagement>