ソースを参照

增加接口手动解析txt

guanz 1 年間 前
コミット
6f8cfa4784

+ 11 - 0
src/main/java/com/pavis/backend/slim/project/system/controller/AnnotationController.java

@@ -271,6 +271,17 @@ public class AnnotationController {
         return AjaxResult.error(1001, "参数不能为空");
     }
 
+    @ApiOperation("用户手动解析txt文本内容接口")
+    @GetMapping("/handsToParseTxt")
+    public AjaxResult handsToParseTxt(@RequestParam("kgId") String kgId,@RequestParam("fileId") String fileId) {
+        log.info("用户手动解析txt文本内容 kgId:{},fileId:{}",kgId,fileId);
+        if (null != kgId && StringUtils.isNotEmpty(kgId) && null != fileId && StringUtils.isNotEmpty(fileId)) {
+
+            return AjaxResult.success("算法通知后端更新文本内容成功");
+        }
+        return AjaxResult.error(1001, "参数不能为空");
+    }
+
 
     // todo ----------------------------以下接口均为模拟算法测试接口,后续可删除下列接口------------------------------------。
 

+ 10 - 0
src/main/java/com/pavis/backend/slim/project/system/service/SysFileService.java

@@ -127,4 +127,14 @@ public interface SysFileService extends IService<SysFile> {
      * @param fileId
      */
     void upFileTextContentByFileId(String fileId, String textContent);
+
+
+
+    /**
+     * 手动请求算法获取txt文本内容,算法结束后通知后端更新状态。
+     * @param kgId
+     * @param fileId
+     * @return
+     */
+    Boolean handsToParseTxt(String kgId, String fileId);
 }

+ 0 - 1
src/main/java/com/pavis/backend/slim/project/system/service/impl/AnnotationListServiceImpl.java

@@ -242,5 +242,4 @@ public class AnnotationListServiceImpl extends ServiceImpl<AnnotationListMapper,
             log.info("获取算法解析txt文本内容返回结果接口异常 ex convertToTxtResTmp:{}", algTxtTmp);
         }
     }
-
 }

+ 27 - 0
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysFileServiceImpl.java

@@ -402,6 +402,33 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
         }
     }
 
+    @Override
+    public Boolean handsToParseTxt(String kgId, String fileId) {
+        List<SysFile> sysFiles = baseMapper.selectList(new QueryWrapper<SysFile>().lambda().eq(SysFile::getFileId, fileId));
+        String objectKey = "";
+        String identifier = "";
+        if (!CollectionUtils.isEmpty(sysFiles)){
+            objectKey = sysFiles.get(0).getObjectKey();
+            identifier = sysFiles.get(0).getIdentifier();
+        }
+        List<ConvertDocToTxt> convertDocToTxts = new ArrayList<>();
+        convertDocToTxts.add(ConvertDocToTxt.builder().fileId(fileId).objectKey(objectKey).identifier(identifier).isNew(false).build());
+        if (!CollectionUtils.isEmpty(convertDocToTxts)) {
+            Map<String, Object> algMap = new HashMap<>();
+            algMap.put("files", convertDocToTxts);
+            try {
+                // 调用算法,获取文档转换为txt的文本内容。
+                String convertToTxtResTmp = algKgClient.convertToTxt(JSON.toJSONString(algMap));
+                dealAlgTxtRes(convertToTxtResTmp);
+            }catch (Exception ex){
+                ex.printStackTrace();
+                log.info("手动调用算法获取txt文本内容返回结果 ex:{}",ex);
+                return false;
+            }
+        }
+        return true;
+    }
+
 
     /**
      * 用户编辑的文件上传至minio中。