Bladeren bron

地址相关接口,统一增加产品存在性校验

xucaiqin 2 jaren geleden
bovenliggende
commit
0c41ad292e

+ 1 - 3
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/controller/IotProductController.java

@@ -2,13 +2,11 @@ package com.middle.platform.manage.biz.controller;
 
 import com.middle.platform.common.utils.Result;
 import com.middle.platform.manage.biz.domain.req.*;
-import com.middle.platform.manage.biz.domain.req.IotUrlPage;
 import com.middle.platform.manage.biz.service.IotCloudService;
 import com.middle.platform.manage.biz.service.IotModService;
 import com.middle.platform.manage.biz.service.IotProductService;
 import com.middle.platform.manage.biz.service.IotUrlService;
 import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
@@ -173,7 +171,7 @@ public class IotProductController {
      * @return
      */
     @DeleteMapping("/removeUrl/{id}")
-    public Result<Object> removeUrl(@PathVariable("id") @NotBlank(message = "id不能为空") Long id) {
+    public Result<Object> removeUrl(@PathVariable("id") @NotNull(message = "id不能为空") Long id) {
         return Result.ok(iotUrlService.remove(id), "删除成功");
     }
 }

+ 10 - 2
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotCloudService.java

@@ -12,6 +12,7 @@ import com.middle.platform.manage.biz.entity.IotCloud;
 import com.middle.platform.manage.biz.mapper.IotCloudMapper;
 import com.middle.platform.redis.constant.CacheConstant;
 import com.middle.platform.redis.service.CacheService;
+import jakarta.annotation.Resource;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -35,6 +36,8 @@ public class IotCloudService {
     private final CacheService cacheService;
     @Value("${cloud.url:http://10.10.10.224:3000}")
     private String cloud;
+    @Resource
+    private IotProductService iotProductService;
 
     private void saveCloud(Long productId, String cloudText) {
         ThreadTask.addJob(() -> {
@@ -55,6 +58,7 @@ public class IotCloudService {
      * @return
      */
     public Object save(IotCloudPara iotCloudPara) {
+        iotProductService.checkProduct(iotCloudPara.getProductId());
         IotCloud query = query(iotCloudPara.getProductId());
         //更新云函数
         if (Objects.nonNull(query)) {
@@ -82,7 +86,7 @@ public class IotCloudService {
      */
     private IotCloud query(Long productId) {
         return iotCloudMapper.selectOne(new LambdaQueryWrapper<IotCloud>()
-                .eq(IotCloud::getProductId, productId).last("limit 1"));
+                .eq(IotCloud::getProductId, productId).eq(IotCloud::getDelFlag, Global.UN_DEL).last("limit 1"));
     }
 
     /**
@@ -92,8 +96,11 @@ public class IotCloudService {
      * @return
      */
     public Object cloudTest(IotCloudTest iotCloudTest) {
+        iotProductService.checkProduct(iotCloudTest.getProductId());
+
         IotCloud iotCloud = iotCloudMapper.selectOne(new LambdaQueryWrapper<IotCloud>()
-                .eq(IotCloud::getProductId, iotCloudTest.getProductId()).last("limit 1"));
+                .eq(IotCloud::getProductId, iotCloudTest.getProductId())
+                .eq(IotCloud::getDelFlag, Global.UN_DEL).last("limit 1"));
         if (Objects.isNull(iotCloud)) {
             throw new BusinessException("云函数不存在");
         }
@@ -118,6 +125,7 @@ public class IotCloudService {
      * @return
      */
     public Object getCloud(Long productId) {
+        iotProductService.checkProduct(productId);
         IotCloud query = query(productId);
         if (Objects.nonNull(query)) {
             IotCloudVo iotCloudVo = new IotCloudVo();

+ 9 - 7
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotProductService.java

@@ -8,7 +8,6 @@ import com.middle.platform.common.constant.Global;
 import com.middle.platform.common.exception.BusinessException;
 import com.middle.platform.common.utils.OrderUtil;
 import com.middle.platform.data.api.feign.TdApi;
-import com.middle.platform.manage.api.pojo.DeviceVo;
 import com.middle.platform.manage.api.pojo.ProductVo;
 import com.middle.platform.manage.api.pojo.TopicVo;
 import com.middle.platform.manage.biz.constant.Constant;
@@ -49,7 +48,8 @@ public class IotProductService {
     @Resource
     private IotUrlService iotUrlService;
     private final IotModService iotModService;
-    private final IotCloudService iotCloudService;
+    @Resource
+    private IotCloudService iotCloudService;
     private final TdApi tdApi;
 
     private final UserApi userApi;
@@ -202,13 +202,15 @@ public class IotProductService {
     }
 
     /**
-     * 查询设备/产品详情
+     * 校验产品
      *
-     * @param id 设备id
+     * @param id 产品id
      * @return
      */
-    public DeviceVo productDevice(Long id) {
-
-        return null;
+    public void checkProduct(Long id) {
+        IotProduct iotProduct = iotProductMapper.selectById(id);
+        if (Objects.isNull(iotProduct) || Global.DEL == iotProduct.getDelFlag()) {
+            throw new BusinessException("产品不存在");
+        }
     }
 }

+ 1 - 3
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotProjectService.java

@@ -113,9 +113,7 @@ public class IotProjectService {
         Integer deviceOnlineNum = iotProjectDeviceMapper.queryDeviceNum(iotProjectVo.getId(), DeviceStatus.ONLINE_VAL);
         iotProjectVo.setDeviceNum(deviceNum);
         iotProjectVo.setDeviceOnlineNum(deviceOnlineNum);
-        Optional.ofNullable(dictApi.query(DictType.COMPANY_TYPE, String.valueOf(iotProjectVo.getCompanyId()))).ifPresent(d -> {
-            iotProjectVo.setCompanyName(d.getLabel());
-        });
+        Optional.ofNullable(dictApi.query(DictType.COMPANY_TYPE, String.valueOf(iotProjectVo.getCompanyId()))).ifPresent(d -> iotProjectVo.setCompanyName(d.getLabel()));
         return iotProjectVo;
     }
 

+ 3 - 1
iot-module/iot-module-manage/iot-module-manage-biz/src/main/java/com/middle/platform/manage/biz/service/IotUrlService.java

@@ -47,6 +47,7 @@ public class IotUrlService {
     private final DictApi dictApi;
     private String topicPrefix = "/iot/%s/+/";
 
+
     /**
      * 校验topic
      *
@@ -55,7 +56,7 @@ public class IotUrlService {
     private void checkTopic(IotUrlPara iotUrlPara) {
         //校验前缀是否为 /iot/{productKey}/*/
         IotProduct query = iotProductService.query(iotUrlPara.getProductId());
-        if (Objects.isNull(query)) {
+        if (Objects.isNull(query) || Global.DEL == query.getDelFlag()) {
             throw new BusinessException("产品不存在");
         }
         //产品key
@@ -197,6 +198,7 @@ public class IotUrlService {
      * @return
      */
     public Object getUrl(IotUrlPage iotUrlPage) {
+        iotProductService.checkProduct(iotUrlPage.getProductId());
         PageHelper.startPage(iotUrlPage.getPage(), iotUrlPage.getPageSize());
         List<IotUrlVo> iotUrls = iotUrlMapper.pageQuery(iotUrlPage);
         if (CollUtil.isEmpty(iotUrls)) {

+ 1 - 1
iot-module/iot-module-system/iot-module-system-api/src/main/java/com/middle/platform/system/api/enums/DictType.java

@@ -20,7 +20,7 @@ public interface DictType {
     String CATEGORY_TYPE = "category_type";//分类类型
     String FUNC_TYPE = "func_type";//功能类型
     String PERMISSION_TYPE = "permission_type";//权限类型
-    String COMPANY_TYPE = "company_type";//权限类型
+    String COMPANY_TYPE = "company_type";//公司类型
 
 
 }