Kaynağa Gözat

文件列表添加文件信息

yzc 1 yıl önce
ebeveyn
işleme
45dd851e05

+ 1 - 2
hx-oa/src/main/java/com/fjhx/oa/controller/netdisk/NetdiskController.java

@@ -3,7 +3,6 @@ package com.fjhx.oa.controller.netdisk;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.oa.entity.netdisk.dto.NetdiskDto;
 import com.fjhx.oa.entity.netdisk.dto.NetdiskSelectDto;
-import com.fjhx.oa.entity.netdisk.po.Netdisk;
 import com.fjhx.oa.entity.netdisk.vo.NetdiskVo;
 import com.fjhx.oa.service.netdisk.NetdiskService;
 import com.ruoyi.common.core.domain.BaseSelectDto;
@@ -48,7 +47,7 @@ public class NetdiskController {
      * 获取目录以及子目录文件
      */
     @PostMapping("/getFileList")
-    public List<Netdisk> getFileList(@RequestBody NetdiskDto dto) {
+    public List<NetdiskVo> getFileList(@RequestBody NetdiskDto dto) {
         return netdiskService.getFileList(dto);
     }
 

+ 8 - 1
hx-oa/src/main/java/com/fjhx/oa/entity/netdisk/vo/NetdiskVo.java

@@ -21,7 +21,14 @@ public class NetdiskVo extends Netdisk {
      */
     private String createUserName;
 
-    /**子目录列表*/
+    /**
+     * 子目录列表
+     */
     List<NetdiskVo> netdiskList;
 
+    /**
+     * 文件地址
+     */
+    private String fileUrl;
+
 }

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

@@ -30,7 +30,7 @@ public interface NetdiskService extends BaseService<Netdisk> {
     /**
      * 递归文件夹获取文件夹下的所有文件以及子文件夹下的文件
      */
-    List<Netdisk> getFileList(NetdiskDto dto);
+    List<NetdiskVo> getFileList(NetdiskDto dto);
 
     /**
      * 网盘明细

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

@@ -11,8 +11,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.file.entity.FileInfo;
+import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.entity.ObsFile;
 import com.fjhx.file.service.FileInfoService;
+import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.oa.entity.netdisk.dto.NetdiskDto;
 import com.fjhx.oa.entity.netdisk.dto.NetdiskSelectDto;
 import com.fjhx.oa.entity.netdisk.po.Netdisk;
@@ -25,10 +27,7 @@ import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -84,12 +83,24 @@ public class NetdiskServiceImpl extends ServiceImpl<NetdiskMapper, Netdisk> impl
      * 递归文件夹获取文件夹下的所有文件以及子文件夹下的文件
      */
     @Override
-    public List<Netdisk> getFileList(NetdiskDto dto) {
+    public List<NetdiskVo> getFileList(NetdiskDto dto) {
         Long parentFolderId = dto.getParentFolderId();
         if (ObjectUtil.isEmpty(parentFolderId)) {
             parentFolderId = -1L;//不传默认根目录
         }
-        return fileRecursion(Arrays.asList(parentFolderId));
+        List<Netdisk> netdiskList = fileRecursion(Arrays.asList(parentFolderId));
+        List<NetdiskVo> netdiskVos = BeanUtil.copyToList(netdiskList, NetdiskVo.class);
+        List<Long> fileIds = netdiskList.stream().map(Netdisk::getId).collect(Collectors.toList());
+        //赋值文件信息
+        Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(fileIds);
+        for (NetdiskVo netdisk : netdiskVos) {
+            List<FileInfoVo> fileInfoVoList = fileMap.get(netdisk.getId());
+            if (ObjectUtil.isNotEmpty(fileInfoVoList) && fileInfoVoList.size() > 0) {
+                FileInfoVo fileInfoVo = fileInfoVoList.get(0);
+                netdisk.setFileUrl(fileInfoVo.getFileUrl());
+            }
+        }
+        return netdiskVos;
     }
 
     /**