Forráskód Böngészése

增加根据ID查询文本内容和查询已失效文件。

wukai 1 éve
szülő
commit
4f5426c96c

+ 46 - 0
doc-admin/src/test/java/com/test/MongoTest.java

@@ -0,0 +1,46 @@
+package com.test;
+
+import com.doc.RuoYiApplication;
+import com.doc.biz.domain.DocInfo;
+import com.doc.biz.service.IDocInfoService;
+import com.doc.biz.service.IElasticSearchService;
+import com.doc.common.utils.DateUtils;
+import com.doc.common.utils.StringUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Test$
+ *
+ * @author wukai
+ * @date 2023/9/7 16:57
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = RuoYiApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@ActiveProfiles("t1")
+public class MongoTest {
+    @Resource
+    IDocInfoService infoService;
+    @Resource
+    IElasticSearchService elasticSearchService;
+
+    @Test
+    public void test() {
+        List<DocInfo> docInfoList = infoService.selectLoseList();
+//        docInfoList.stream().sorted(Co)
+        docInfoList.forEach(info -> {
+//            elasticSearchService.delete(info);
+//            infoService.deleteDocInfoByDocId(info.getDocId());
+            System.err.println(info.getCreateBy() + "-" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, info.getCreateTime()) + "\t" + info + "remark:" + StringUtils.length(info.getRemark()));
+        });
+    }
+
+    public static void main(String[] args) {
+    }
+}

+ 20 - 18
doc-biz/src/main/java/com/doc/biz/controller/DocInfoController.java

@@ -1,13 +1,9 @@
 package com.doc.biz.controller;
 
-import com.doc.biz.domain.DocDir;
-import com.doc.biz.domain.DocInfo;
-import com.doc.biz.domain.DocRecent;
-import com.doc.biz.domain.DocSpace;
+import com.doc.biz.domain.*;
 import com.doc.biz.service.*;
 import com.doc.biz.vo.DocumentVO;
 import com.doc.common.annotation.Log;
-import com.doc.common.config.EsConfig;
 import com.doc.common.constant.Constants;
 import com.doc.common.core.controller.BaseController;
 import com.doc.common.core.domain.AjaxResult;
@@ -21,7 +17,6 @@ import com.doc.common.utils.file.FileUtils;
 import com.doc.common.utils.poi.ExcelUtil;
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.elasticsearch.NoSuchIndexException;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -49,13 +44,11 @@ public class DocInfoController extends BaseController {
     @Resource
     private IDocDirService dirService;
     @Resource
-    private EsConfig esConfig;
-    @Resource
-    private IEsDocInfoService esDocInfoService;
-    @Resource
     private IDocFavoriteService favoriteService;
     @Resource
     private IDocRecentService recentService;
+    @Resource
+    private IElasticSearchService elasticSearchService;
 
     /**
      * 文件上传
@@ -224,6 +217,22 @@ public class DocInfoController extends BaseController {
     }
 
     /**
+     * 查询所有已失效的文件,就是mysql中有,mongo中没有的
+     */
+    @GetMapping("/lose")
+    public AjaxResult list() {
+        List<DocInfo> docInfoList = docInfoService.selectLoseList();
+        return AjaxResult.success(docInfoList);
+    }
+
+    @GetMapping("/content/{docId}")
+    @ApiOperation("根据ID查询文本内容")
+    public AjaxResult content(@ApiParam(value = "文件ID", required = true) @PathVariable Long docId) {
+        EsDocInfo info = elasticSearchService.getEsDocInfo(docId);
+        return AjaxResult.success(info);
+    }
+
+    /**
      * 文件搜索
      */
     @ApiOperation("文件搜索")
@@ -334,14 +343,7 @@ public class DocInfoController extends BaseController {
             //删除mongo记录
             mongoService.removeFile(info.getFileId());
 
-            //删除ES记录
-            try {
-                String indexName = "docs_" + info.getSpaceId();
-                esConfig.setIndexName(indexName);
-                esDocInfoService.deleteById(docId);
-            } catch (NoSuchIndexException e) {
-                //不用管,表示没这个索引
-            }
+            elasticSearchService.delete(docId);
             //删除收藏记录
             favoriteService.delete("N", docId);
         }

+ 7 - 0
doc-biz/src/main/java/com/doc/biz/service/IDocInfoService.java

@@ -84,4 +84,11 @@ public interface IDocInfoService {
      * @return 对象
      */
     DocInfo upload(DocumentVO vo, Long spaceId, Long dirId);
+
+    /**
+     * 查询已失效的文件
+     *
+     * @return 失效文件列表
+     */
+    List<DocInfo> selectLoseList();
 }

+ 28 - 3
doc-biz/src/main/java/com/doc/biz/service/impl/DocInfoServiceImpl.java

@@ -2,6 +2,8 @@ package com.doc.biz.service.impl;
 
 import com.doc.biz.domain.DocFavorite;
 import com.doc.biz.domain.DocInfo;
+import com.doc.biz.domain.DocumentFile;
+import com.doc.biz.domain.EsDocInfo;
 import com.doc.biz.mapper.DocInfoMapper;
 import com.doc.biz.service.*;
 import com.doc.biz.vo.DocumentVO;
@@ -13,6 +15,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 文件基本信息表Service业务层处理
@@ -32,6 +35,8 @@ public class DocInfoServiceImpl implements IDocInfoService {
     private IDocFavoriteService favoriteService;
     @Resource
     private IDocDirService dirService;
+    @Resource
+    private IMongoService mongoService;
 
 
     /**
@@ -99,6 +104,7 @@ public class DocInfoServiceImpl implements IDocInfoService {
         return docInfo;
     }
 
+
     /**
      * 查询文件基本信息表列表
      *
@@ -180,8 +186,7 @@ public class DocInfoServiceImpl implements IDocInfoService {
     public int updateDocInfo(DocInfo docInfo) {
         checkDuplicateNames(docInfo);
         docInfo.setUpdateTime(DateUtils.getNowDate());
-        int i = docInfoMapper.updateDocInfo(docInfo);
-        return i;
+        return docInfoMapper.updateDocInfo(docInfo);
     }
 
     /**
@@ -221,5 +226,25 @@ public class DocInfoServiceImpl implements IDocInfoService {
         return i;
     }
 
-
+    /**
+     * 查询已失效的文件
+     *
+     * @return 失效文件列表
+     */
+    @Override
+    public List<DocInfo> selectLoseList() {
+        List<DocInfo> list = docInfoMapper.selectDocInfoList(new DocInfo());
+        List<DocInfo> result = new ArrayList<>();
+        list.forEach(info -> {
+            Optional<DocumentFile> optional = mongoService.findByFileId(info.getFileId());
+            if (!optional.isPresent()) {
+                EsDocInfo esDocInfo = elasticSearchService.getEsDocInfo(info.getDocId());
+                if (esDocInfo != null) {
+                    info.setRemark(esDocInfo.getContent());
+                }
+                result.add(info);
+            }
+        });
+        return result;
+    }
 }