Parcourir la source

优化项目新增、修改、删除接口逻辑,通过空间Id操作项目表内容

james il y a 1 semaine
Parent
commit
9d1087c02f

+ 3 - 3
service-ems/service-ems-biz/src/main/java/com/usky/ems/controller/web/EmsProjectController.java

@@ -29,9 +29,9 @@ public class EmsProjectController {
         return ApiResult.success();
     }
 
-    @DeleteMapping("/{id}")
-    public ApiResult<Void> delete(@PathVariable Long id) {
-        emsProjectService.remove(id);
+    @DeleteMapping("/{spaceId}")
+    public ApiResult<Void> delete(@PathVariable Long spaceId) {
+        emsProjectService.remove(spaceId);
         return ApiResult.success();
     }
 }

+ 1 - 1
service-ems/service-ems-biz/src/main/java/com/usky/ems/service/EmsProjectService.java

@@ -12,5 +12,5 @@ public interface EmsProjectService {
 
     EmsProjectResponse update(EmsProjectSaveRequest request);
 
-    void remove(Long id);
+    void remove(Long spaceId);
 }

+ 12 - 10
service-ems/service-ems-biz/src/main/java/com/usky/ems/service/impl/EmsProjectServiceImpl.java

@@ -62,12 +62,13 @@ public class EmsProjectServiceImpl implements EmsProjectService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public EmsProjectResponse update(EmsProjectSaveRequest request) {
-        if (request.getId() == null) {
-            throw new BusinessException("修改项目时 id 不能为空");
+        if (request.getSpaceId() == null) {
+            throw new BusinessException("修改项目时 空间id 不能为空");
         }
-        EmsProject old = emsProjectMapper.selectById(request.getId());
+        EmsProject old = emsProjectMapper.selectOne(
+                new LambdaQueryWrapper<EmsProject>().eq(EmsProject::getSpaceId, request.getSpaceId()));
         if (old == null) {
-            throw new BusinessException("错误的项目id值");
+            throw new BusinessException("错误的空间id值");
         }
         Map<String, String> regionMap = emsSystemDictRegionService.checkAndBuildMap(
                 request.getProvinceCode(), request.getCityCode(), request.getDistrictCode());
@@ -84,10 +85,11 @@ public class EmsProjectServiceImpl implements EmsProjectService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void remove(Long id) {
-        EmsProject project = emsProjectMapper.selectById(id);
+    public void remove(Long spaceId) {
+        EmsProject project = emsProjectMapper.selectOne(
+                new LambdaQueryWrapper<EmsProject>().eq(EmsProject::getSpaceId, spaceId));
         if (project == null) {
-            throw new BusinessException("错误的项目id值");
+            throw new BusinessException("错误的空间id值");
         }
         if (!baseSpaceService.isLeafSpace(project.getSpaceId())) {
             throw new BusinessException("当前项目下有空间节点不允许删除");
@@ -96,9 +98,9 @@ public class EmsProjectServiceImpl implements EmsProjectService {
             throw new BusinessException("当前项目有关联的用户使用;不允许删除");
         }
         emsProjectDeviceSystemMapper.delete(
-                new LambdaQueryWrapper<EmsProjectDeviceSystem>().eq(EmsProjectDeviceSystem::getProjectId, id));
-        emsProjectMapper.deleteById(id);
-        baseSpaceService.removeById(project.getSpaceId());
+                new LambdaQueryWrapper<EmsProjectDeviceSystem>().eq(EmsProjectDeviceSystem::getProjectId, project.getId()));
+        emsProjectMapper.deleteById(project.getId());
+        baseSpaceService.removeById(spaceId);
     }
 
     /**

+ 2 - 0
service-ems/service-ems-biz/src/main/java/com/usky/ems/service/vo/EmsProjectSaveRequest.java

@@ -15,6 +15,8 @@ public class EmsProjectSaveRequest {
     @ApiModelProperty("主键,修改时必填")
     private Long id;
 
+    private Long spaceId;
+
     @ApiModelProperty(value = "名称", required = true)
     private String name;