From 2a0886c7cebad63901b63536fb53685ba89423c9 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 3 Apr 2025 13:56:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=A0=E9=99=A4=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E7=9A=84=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BE=9B=E5=90=8E?= =?UTF-8?q?=E9=9D=A2=E9=9C=80=E8=A6=81=E6=97=B6=E4=BD=BF=E7=94=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/models/AiFileUploadRecord.java | 4 ++++ .../service/serviceimpl/ChatService.java | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/AiFileUploadRecord.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/AiFileUploadRecord.java index abbe98e..8f01b25 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/AiFileUploadRecord.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/AiFileUploadRecord.java @@ -24,4 +24,8 @@ public class AiFileUploadRecord extends BaseModel { @TableField(value = "file_size") private long fileSize; + + @TableField(value = "effect_flag") + private Integer effectFlag; + } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java index 095877d..ec09401 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/ChatService.java @@ -2,9 +2,11 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.EleCommonUtil; import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; @@ -30,6 +32,7 @@ import org.springframework.web.multipart.MultipartFile; import reactor.core.publisher.Flux; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -57,6 +60,22 @@ public class ChatService { vectorStore.write(documents); } + public ElectromagneticResult deleteDocument(List ids) { + List vectorIds = aiFileUploadRecordMapper.selectList(Wrappers.lambdaQuery(AiFileUploadRecord.class) + .in(AiFileUploadRecord::getId, ids)) + .stream() + .map(AiFileUploadRecord::getVectorId) + .collect(Collectors.toList()); + Optional delete = vectorStore.delete(vectorIds); + if (delete.isPresent() && ObjectUtil.equals(delete.get(), true)) { + aiFileUploadRecordMapper.update(Wrappers.lambdaUpdate(AiFileUploadRecord.class) + .in(AiFileUploadRecord::getId, ids) + .set(AiFileUploadRecord::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code)); + return ElectromagneticResultUtil.success(true); + } + return ElectromagneticResultUtil.fail("-1", "删除失败。"); + } + @Transactional(rollbackFor = Exception.class) public ElectromagneticResult addFromUpload(MultipartFile file) throws Exception {