浏览代码

网盘目录树

yzc 2 年之前
父节点
当前提交
993c7887b0

+ 13 - 5
hx-oa/src/main/java/com/fjhx/oa/controller/netdisk/NetdiskController.java

@@ -1,13 +1,13 @@
 package com.fjhx.oa.controller.netdisk;
 package com.fjhx.oa.controller.netdisk;
 
 
-import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.oa.entity.netdisk.vo.NetdiskVo;
-import com.fjhx.oa.entity.netdisk.dto.NetdiskSelectDto;
 import com.fjhx.oa.entity.netdisk.dto.NetdiskDto;
 import com.fjhx.oa.entity.netdisk.dto.NetdiskDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.oa.entity.netdisk.dto.NetdiskSelectDto;
+import com.fjhx.oa.entity.netdisk.vo.NetdiskVo;
 import com.fjhx.oa.service.netdisk.NetdiskService;
 import com.fjhx.oa.service.netdisk.NetdiskService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -17,7 +17,7 @@ import java.util.List;
  * 网盘 前端控制器
  * 网盘 前端控制器
  * </p>
  * </p>
  *
  *
- * @author 
+ * @author
  * @since 2023-04-07
  * @since 2023-04-07
  */
  */
 @RestController
 @RestController
@@ -36,6 +36,14 @@ public class NetdiskController {
     }
     }
 
 
     /**
     /**
+     * 网盘子目录树
+     */
+    @GetMapping("/tree")
+    public List<NetdiskVo> tree() {
+        return netdiskService.tree();
+    }
+
+    /**
      * 网盘明细
      * 网盘明细
      */
      */
     @PostMapping("/detail")
     @PostMapping("/detail")

+ 5 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/netdisk/vo/NetdiskVo.java

@@ -4,6 +4,8 @@ import com.fjhx.oa.entity.netdisk.po.Netdisk;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 
 
+import java.util.List;
+
 /**
 /**
  * 网盘列表查询返回值实体
  * 网盘列表查询返回值实体
  *
  *
@@ -19,4 +21,7 @@ public class NetdiskVo extends Netdisk {
      */
      */
     private String createUserName;
     private String createUserName;
 
 
+    /**子目录列表*/
+    List<NetdiskVo> netdiskList;
+
 }
 }

+ 5 - 3
hx-oa/src/main/java/com/fjhx/oa/service/netdisk/NetdiskService.java

@@ -25,9 +25,11 @@ public interface NetdiskService extends BaseService<Netdisk> {
      */
      */
     Page<NetdiskVo> getPage(NetdiskSelectDto dto);
     Page<NetdiskVo> getPage(NetdiskSelectDto dto);
 
 
-    /**
-     * 网盘明细
-     */
+    List<NetdiskVo> tree();
+
+        /**
+         * 网盘明细
+         */
     NetdiskVo detail(Long id);
     NetdiskVo detail(Long id);
 
 
     /**
     /**

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/service/netdisk/impl/NetdiskServiceImpl.java

@@ -59,6 +59,23 @@ public class NetdiskServiceImpl extends ServiceImpl<NetdiskMapper, Netdisk> impl
         return page;
         return page;
     }
     }
 
 
+    //网盘目录子目录树
+    @Override
+    public List<NetdiskVo> tree() {
+        List<Netdisk> list = list(q -> q.eq(Netdisk::getType, 1));
+
+        return treeRecursion(list,-1l);
+    }
+
+    private List<NetdiskVo> treeRecursion(List<Netdisk> list, Long id){
+        List<Netdisk> netdiskList = list.stream().filter(f -> f.getParentFolderId().equals(id)).collect(Collectors.toList());
+        List<NetdiskVo> netdiskVos = BeanUtil.copyToList(netdiskList, NetdiskVo.class);
+        for (NetdiskVo netdisk :netdiskVos){
+            netdisk.setNetdiskList(treeRecursion(list,netdisk.getId()));
+        }
+        return netdiskVos;
+    }
+
     @Override
     @Override
     public NetdiskVo detail(Long id) {
     public NetdiskVo detail(Long id) {
         Netdisk Netdisk = this.getById(id);
         Netdisk Netdisk = this.getById(id);