diff --git a/src/main/java/com/ai/da/controller/WorkspaceController.java b/src/main/java/com/ai/da/controller/WorkspaceController.java index c611fe50..b4847fe4 100644 --- a/src/main/java/com/ai/da/controller/WorkspaceController.java +++ b/src/main/java/com/ai/da/controller/WorkspaceController.java @@ -81,8 +81,8 @@ public class WorkspaceController { @DeleteMapping("/remove") @ApiOperationSupport(order = 4) @ApiOperation(value = "删除", notes = "传入id") - public Response remove(@Valid @RequestBody List workspaceList) { - return Response.success(workspaceService.removeBatchByIds(workspaceList)); + public Response> remove(@Valid @RequestBody List workspaceList) { + return Response.success(workspaceService.delete(workspaceList)); } @GetMapping("/enumValues") diff --git a/src/main/java/com/ai/da/service/WorkspaceService.java b/src/main/java/com/ai/da/service/WorkspaceService.java index 61d177af..f0f931ac 100644 --- a/src/main/java/com/ai/da/service/WorkspaceService.java +++ b/src/main/java/com/ai/da/service/WorkspaceService.java @@ -45,4 +45,6 @@ public interface WorkspaceService extends IService { void moveFile(); void maleDataInsert() throws FileNotFoundException; + + List delete(List workspaceList); } diff --git a/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java b/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java index 5cff6df5..db276afe 100644 --- a/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java @@ -45,6 +45,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; /** @@ -443,6 +444,21 @@ public class WorkspaceServiceImpl extends ServiceImpl delete(List workspaceList) { + // 校验不能删除最后选择的workspace + List deleteIds = workspaceList.stream().map(Workspace::getId).collect(Collectors.toList()); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().in(Workspace::getId, deleteIds); + qw.lambda().eq(Workspace::getIsLastIndex, 1); + List workspaces = workspaceMapper.selectList(qw); + if (!CollectionUtils.isEmpty(workspaces)) { + throw new BusinessException("Unable to delete the workspace you last used"); + } + workspaceMapper.deleteBatchIds(deleteIds); + return deleteIds; + } + // public static void main(String[] args) throws FileNotFoundException { // String b = "C:\\workspace\\fileData\\aida_men_library\\top\\mens_test_9992.png"; // File pngFile = new File(b);