Răsfoiți Sursa

目录下文件数量 递归查询

wukai 1 an în urmă
părinte
comite
abddac05f0

+ 9 - 1
doc-biz/src/main/java/com/doc/biz/controller/DocDirController.java

@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicReference;
 
 /**
  * 文档目录管理Controller
@@ -212,7 +213,14 @@ public class DocDirController extends BaseController {
             remark.put("isEncrypt", dir.getIsEncrypt());
             remark.put("encryptLevel", dir.getEncryptLevel());
             remark.put("dirType", dir.getDirType());
-            Long fileNum = docInfoService.selectCountList(dir.getDirId());
+            AtomicReference<Long> fileNum = new AtomicReference<>(docInfoService.selectCountList(dir.getDirId()));
+            //递归子目录下的文件总数
+            children.forEach(tree -> {
+                Map<String, Object> map = JSONObject.parseObject(tree.getRemark(), Map.class);
+                int num = (Integer) map.get("fileNum");
+                fileNum.updateAndGet(v -> v + num);
+
+            });
             remark.put("fileNum", fileNum);
             vo.setRemark(JSON.toJSONString(remark));
         }