Browse Source

增加批量删除和查询下一级列表

hechunping 2 years ago
parent
commit
bf7bd41e55

+ 20 - 9
sys-api-service/src/main/java/com/xy/service/SysSceneServiceImpl.java

@@ -1,12 +1,12 @@
 package com.xy.service;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.lang.tree.TreeNode;
 import cn.hutool.core.lang.tree.TreeUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xy.dto.GoodsCategoryDto;
 import com.xy.dto.SysSceneDto;
 import com.xy.entity.SysScene;
 import com.xy.mapper.SysSceneMapper;
@@ -50,7 +50,7 @@ public class SysSceneServiceImpl extends ServiceImpl<SysSceneMapper, SysScene> i
 
     @ApiOperation("场景树")
     @Override
-    public R<List<Tree<Long>>> tree(SysSceneDto.Tree pater) {
+    public R<List<Tree<Long>>> tree(SysSceneDto.SceneListDto pater) {
         Long parentId = Emptys.check(pater.getPaterId())?pater.getPaterId():0L;
         List<SysSceneDto.Vo> list = copy(SysSceneDto.Vo.class,list(null));
         List<TreeNode<Long>> collect = list.stream()
@@ -77,17 +77,28 @@ public class SysSceneServiceImpl extends ServiceImpl<SysSceneMapper, SysScene> i
         return R.ok(TreeUtil.build(collect, parentId));
     }
 
+    @Override
+    @ApiOperation("查询下一级列表")
+    public R<List<SysSceneDto.Vo>> nextList(@RequestBody @Validated SysSceneDto.SceneListDto pater){
+        LambdaQueryWrapper<SysScene> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysScene::getPaterId,pater.getPaterId());
+        if(!pater.getAllColumn()){
+            lqw.select(SysScene::getId,SysScene::getSceneCode,SysScene::getName);
+        }
+        return R.ok(copy(SysSceneDto.Vo.class,list(lqw)));
+    }
+
     @ApiOperation(value = "删除", notes = "有子类不能删除")
     @PostMapping("del")
-    public R deleteById(@RequestBody @Validated GoodsCategoryDto.IdDto idDto) {
+    public R deleteById(@RequestBody @Validated SysSceneDto.IdListDto idListDto) {
+        List<Long> idList = idListDto.getIdList();
         //判断是否有子类
-        LambdaQueryWrapper<SysScene> lambdaQueryWrapper = Wrappers.lambdaQuery();
-        lambdaQueryWrapper.eq(SysScene::getPaterId, idDto.getId()).last("limit 1").select(SysScene::getId);
-        if (getOne(lambdaQueryWrapper) != null) {
-            return R.fail("请先删除子类");
+        LambdaQueryWrapper<SysScene> lambdaQueryWrapper = Wrappers.<SysScene>lambdaQuery().in(SysScene::getPaterId,idList).last("limit 1");
+        List<SysScene> list = list(lambdaQueryWrapper);
+        if (CollUtil.isNotEmpty(list)) {
+            return R.fail("有子类不能删除!");
         }
-        baseMapper.deleteById(idDto.getId());
-        return R.ok();
+        return R.ok(removeBatchByIds(idList));
     }
 
     @ApiOperation("对象查询")

+ 9 - 1
sys-api/src/main/java/com/xy/dto/SysSceneDto.java

@@ -6,7 +6,9 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -20,9 +22,15 @@ import java.time.LocalDateTime;
 @Accessors(chain = true)
 public class SysSceneDto {
 
+    @Data
+    public static class IdListDto {
+        @NotEmpty(message = "ID不可为空")
+        @ApiModelProperty(value = "ID数组", required = true)
+        private List<Long> idList;
+    }
     @Data
     @Accessors(chain = true)
-    public static class Tree{
+    public static class SceneListDto{
         @ApiModelProperty(value = "父ID")
         private Long paterId;
 

+ 5 - 1
sys-api/src/main/java/com/xy/service/SysSceneService.java

@@ -4,6 +4,7 @@ import cn.hutool.core.lang.tree.Tree;
 import com.xy.annotate.RestMappingController;
 import com.xy.dto.SysSceneDto;
 import com.xy.utils.R;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -24,7 +25,7 @@ public interface SysSceneService {
      * @return
      */
     @PostMapping("tree")
-    R<List<Tree<Long>>> tree(@RequestBody SysSceneDto.Tree Pater);
+    R<List<Tree<Long>>> tree(@RequestBody SysSceneDto.SceneListDto Pater);
 
     /**
      * 对象查询
@@ -32,4 +33,7 @@ public interface SysSceneService {
      */
     @PostMapping("obj")
     R<SysSceneDto.Vo> obj(@RequestBody SysSceneDto.Vo vo);
+
+    @PostMapping
+    R<List<SysSceneDto.Vo>> nextList(@RequestBody @Validated SysSceneDto.SceneListDto pater);
 }