|
@@ -196,6 +196,9 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
String key = symbolData.substring(startPos, endPos);
|
|
String key = symbolData.substring(startPos, endPos);
|
|
|
String url = redisCache.getCacheObject(key);
|
|
String url = redisCache.getCacheObject(key);
|
|
|
if (org.springframework.util.StringUtils.hasText(url)) {
|
|
if (org.springframework.util.StringUtils.hasText(url)) {
|
|
|
|
|
+ if(url.contains("https://10.1.28.14:9000")){
|
|
|
|
|
+ url = url.replace("https://10.1.28.14:9000", "https://minio.jkec.info:9000");
|
|
|
|
|
+ }
|
|
|
//匹配markdown图片格式
|
|
//匹配markdown图片格式
|
|
|
symbolData = symbolData.replace(key, "");
|
|
symbolData = symbolData.replace(key, "");
|
|
|
}
|
|
}
|
|
@@ -456,10 +459,33 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
Integer code = obj.getInteger("code");
|
|
Integer code = obj.getInteger("code");
|
|
|
if (code == 200) {
|
|
if (code == 200) {
|
|
|
// TakaiKnowledge info = takaiKnowledgeMapper.selectTargetKnowledge(TakaiKnowledge.builder().knowledgeId(knowledgeId).build());
|
|
// TakaiKnowledge info = takaiKnowledgeMapper.selectTargetKnowledge(TakaiKnowledge.builder().knowledgeId(knowledgeId).build());
|
|
|
|
|
+ List<TakaiMediaReplacement> list = takaiMediaReplacementMapper.selectMediaList(TakaiMediaReplacement.builder().knowledgeId(knowledgeId).build());
|
|
|
|
|
+ List<TakaiDocument> documentList = takaiDocumentMapper.selectDocumentList(TakaiDocument.builder().knowledgeId(knowledgeId).build());
|
|
|
int knowledgeInt = takaiKnowledgeMapper.delKnowledge(knowledgeId);
|
|
int knowledgeInt = takaiKnowledgeMapper.delKnowledge(knowledgeId);
|
|
|
if (knowledgeInt > 0) {
|
|
if (knowledgeInt > 0) {
|
|
|
takaiDocumentMapper.delDocumentByKnowledgeId(knowledgeId);
|
|
takaiDocumentMapper.delDocumentByKnowledgeId(knowledgeId);
|
|
|
takaiDocumentSettingsMapper.deleteDocumentSettingsByKnowledgeId(knowledgeId);
|
|
takaiDocumentSettingsMapper.deleteDocumentSettingsByKnowledgeId(knowledgeId);
|
|
|
|
|
+
|
|
|
|
|
+ if(list != null && list.size() > 0){
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ for(TakaiDocument document: documentList){
|
|
|
|
|
+ logger.info("删除知识库->删除minio文件");
|
|
|
|
|
+ minioUtil.remove("deepseek-doc", "/"+document.getName());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for (int k = 0; k < list.size(); k++ ) {
|
|
|
|
|
+ logger.info("删除知识库->删除minio图片{}", k);
|
|
|
|
|
+ String key = "/pdf/"+knowledgeId+"/"+list.get(k).getDocumentId()+"/【示意图序号_"+list.get(k).getDocumentId()+"_"+k+1+"】.jpg";
|
|
|
|
|
+ logger.info("删除知识库->删除minio图片key{}", key);
|
|
|
|
|
+ minioUtil.remove("deepseek-doc" , key);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ logger.error("删除知识库->删除minion文件失败", e.getMessage());
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
return knowledgeInt;
|
|
return knowledgeInt;
|
|
|
}
|
|
}
|
|
@@ -501,13 +527,14 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
// 更新知识库文件大小,总字符数, 文件总数
|
|
// 更新知识库文件大小,总字符数, 文件总数
|
|
|
JSONObject docInfo = jsonObject.getJSONObject("doc_info");
|
|
JSONObject docInfo = jsonObject.getJSONObject("doc_info");
|
|
|
if(docInfo != null){
|
|
if(docInfo != null){
|
|
|
|
|
+ List<TakaiDocument> documentList = takaiDocumentMapper.selectDocumentList(TakaiDocument.builder().knowledgeId(knowledgeId).build());
|
|
|
Integer fileLen = docInfo.getInteger("file_size");
|
|
Integer fileLen = docInfo.getInteger("file_size");
|
|
|
Integer wordNum = docInfo.getInteger("total_char_len");
|
|
Integer wordNum = docInfo.getInteger("total_char_len");
|
|
|
Integer sliceTotal = docInfo.getInteger("slice_num");
|
|
Integer sliceTotal = docInfo.getInteger("slice_num");
|
|
|
TakaiKnowledge paramInfo = TakaiKnowledge.builder().knowledgeId(knowledgeId)
|
|
TakaiKnowledge paramInfo = TakaiKnowledge.builder().knowledgeId(knowledgeId)
|
|
|
.length(info.getLength() == null ? fileLen : info.getLength() + fileLen ) // 文件大小
|
|
.length(info.getLength() == null ? fileLen : info.getLength() + fileLen ) // 文件大小
|
|
|
.wordNum(info.getWordNum() == null ? wordNum : info.getWordNum() + wordNum) // 总字符数
|
|
.wordNum(info.getWordNum() == null ? wordNum : info.getWordNum() + wordNum) // 总字符数
|
|
|
- .documentSize(info.getDocumentSize() == null ? sliceTotal : info.getDocumentSize() + sliceTotal) // 文件总数
|
|
|
|
|
|
|
+ .documentSize(documentList == null || documentList.size() == 0 ? 1 : documentList.size() + 1) // 文件总数
|
|
|
.build();
|
|
.build();
|
|
|
takaiKnowledgeMapper.updateKnowledge(paramInfo);
|
|
takaiKnowledgeMapper.updateKnowledge(paramInfo);
|
|
|
|
|
|
|
@@ -588,7 +615,14 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
JSONObject obj = JSON.parseObject(body);
|
|
JSONObject obj = JSON.parseObject(body);
|
|
|
Integer code = obj.getInteger("code");
|
|
Integer code = obj.getInteger("code");
|
|
|
if (code == 200) {
|
|
if (code == 200) {
|
|
|
|
|
+ List<TakaiMediaReplacement> list = takaiMediaReplacementMapper.selectMediaList(TakaiMediaReplacement.builder().documentId(documentId).build());
|
|
|
|
|
+
|
|
|
|
|
+ // 删除图片
|
|
|
|
|
+ takaiMediaReplacementMapper.deleteMedia(documentId);
|
|
|
|
|
+
|
|
|
|
|
+ // 删除document文件
|
|
|
int i = takaiDocumentMapper.delDocument(documentId);
|
|
int i = takaiDocumentMapper.delDocument(documentId);
|
|
|
|
|
+
|
|
|
if(i > 0){
|
|
if(i > 0){
|
|
|
TakaiKnowledge info = takaiKnowledgeMapper.selectTargetKnowledge(TakaiKnowledge.builder().knowledgeId(vo.getKnowledgeId()).build());
|
|
TakaiKnowledge info = takaiKnowledgeMapper.selectTargetKnowledge(TakaiKnowledge.builder().knowledgeId(vo.getKnowledgeId()).build());
|
|
|
if(info != null){
|
|
if(info != null){
|
|
@@ -600,6 +634,22 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
.build();
|
|
.build();
|
|
|
takaiKnowledgeMapper.updateKnowledge(paramInfo);
|
|
takaiKnowledgeMapper.updateKnowledge(paramInfo);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 删除minio文件
|
|
|
|
|
+ try {
|
|
|
|
|
+ logger.info("删除minio文件");
|
|
|
|
|
+ minioUtil.remove("deepseek-doc", "/"+vo.getName());
|
|
|
|
|
+ if(list != null && list.size() > 0){
|
|
|
|
|
+ for (int k=1; k<=list.size(); k++ ) {
|
|
|
|
|
+ logger.info("删除minio图片{}", k);
|
|
|
|
|
+ minioUtil.remove("deepseek-doc" , "/pdf/"+vo.getKnowledgeId()+"/"+documentId+"/【示意图序号_"+documentId+"_"+k+"】.jpg");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ logger.error("删除minion文件失败", e.getMessage());
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+ return i;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|