From 709192d0c65ab68ce351fb5686f290c99df6b50f Mon Sep 17 00:00:00 2001 From: luogw <3132758203@qq.com> Date: Fri, 27 Feb 2026 11:24:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=B7=B3=E8=BF=87=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InformationApplicationService.java | 2 +- .../impl/InformationApplicationServiceImpl.java | 4 ++-- .../KnowledgePointApplicationServiceImpl.java | 3 ++- .../controller/InformationController.java | 4 ++-- .../service/UploadInformationDomainService.java | 2 +- .../impl/UploadInformationDomainServiceImpl.java | 15 +++++++++++---- 6 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/project/information/application/InformationApplicationService.java b/src/main/java/com/project/information/application/InformationApplicationService.java index 8e59ac1..53c3cca 100644 --- a/src/main/java/com/project/information/application/InformationApplicationService.java +++ b/src/main/java/com/project/information/application/InformationApplicationService.java @@ -14,7 +14,7 @@ public interface InformationApplicationService { Result checkDuplicates(Long subLineId, List files) throws Exception; - Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception; + Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId,Boolean skipExisting) throws Exception; /** * 查询资料列表 diff --git a/src/main/java/com/project/information/application/impl/InformationApplicationServiceImpl.java b/src/main/java/com/project/information/application/impl/InformationApplicationServiceImpl.java index 831d28b..1c0883f 100644 --- a/src/main/java/com/project/information/application/impl/InformationApplicationServiceImpl.java +++ b/src/main/java/com/project/information/application/impl/InformationApplicationServiceImpl.java @@ -34,8 +34,8 @@ public class InformationApplicationServiceImpl implements InformationApplication } @Override - public Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception { - return uploadInformationDomainService.batchUploadAndOverwrite(files , subLineId); + public Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId, Boolean skipExisting) throws Exception { + return uploadInformationDomainService.batchUploadAndOverwrite(files , subLineId, skipExisting); } @Override diff --git a/src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java b/src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java index 643911f..e1b185e 100644 --- a/src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java +++ b/src/main/java/com/project/information/application/impl/KnowledgePointApplicationServiceImpl.java @@ -8,6 +8,7 @@ import com.project.information.application.KnowledgePointApplicationService; import com.project.information.domain.dto.KnowledgePointStatisticsDTO; import com.project.information.domain.entity.InformationEntity; import com.project.information.domain.entity.KnowledgePointEntity; +import com.project.information.domain.enums.InformationParseStatusEnum; import com.project.information.domain.service.GetStatisticsKnowledgePointDomainService; import com.project.information.domain.service.InformationBaseService; import com.project.information.domain.service.KnowledgePointBaseService; @@ -102,9 +103,9 @@ public class KnowledgePointApplicationServiceImpl implements KnowledgePointAppli //向资料中冗余pareName字段值 InformationEntity informationEntity = new InformationEntity(); informationEntity.setId(id); + informationEntity.setParseStatus(InformationParseStatusEnum.Success.getValue()); informationEntity.setParseName(knowledgePointEntities.get(0).getParseName()); informationBaseService.updateById(informationEntity); - } } diff --git a/src/main/java/com/project/information/controller/InformationController.java b/src/main/java/com/project/information/controller/InformationController.java index a9e5f8c..42824ee 100644 --- a/src/main/java/com/project/information/controller/InformationController.java +++ b/src/main/java/com/project/information/controller/InformationController.java @@ -32,8 +32,8 @@ public class InformationController { } @PostMapping("/batchUploadAndOverwrite") - public Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception { - return informationApplicationService.batchUploadAndOverwrite(files , subLineId); + public Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId, @RequestParam(required = false, defaultValue = "false") Boolean skipExisting) throws Exception { + return informationApplicationService.batchUploadAndOverwrite(files , subLineId, skipExisting); } @GetMapping("/list") diff --git a/src/main/java/com/project/information/domain/service/UploadInformationDomainService.java b/src/main/java/com/project/information/domain/service/UploadInformationDomainService.java index ff376f5..38b3273 100644 --- a/src/main/java/com/project/information/domain/service/UploadInformationDomainService.java +++ b/src/main/java/com/project/information/domain/service/UploadInformationDomainService.java @@ -10,5 +10,5 @@ public interface UploadInformationDomainService { Result checkDuplicates(Long subLineId, List files) throws Exception; - Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception; + Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId, Boolean skipExisting) throws Exception; } diff --git a/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java b/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java index 70c55df..95c19a2 100644 --- a/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java +++ b/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java @@ -83,7 +83,7 @@ public class UploadInformationDomainServiceImpl implements UploadInformationDoma @Override @Transactional(rollbackFor = Exception.class) - public Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId) throws Exception { + public Result batchUploadAndOverwrite(MultipartFile[] files, Long subLineId, Boolean skipExisting) throws Exception { if (Objects.isNull(subLineId)) { throw new BusinessErrorException("所属子产品线id不能为空"); } @@ -98,10 +98,17 @@ public class UploadInformationDomainServiceImpl implements UploadInformationDoma Map fileMap = new HashMap<>(); for (MultipartFile file : files) { String fileName = file.getOriginalFilename(); - // 删掉原来的 - informationBaseService.remove(new LambdaQueryWrapper() + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .eq(InformationEntity::getSubLineId, subLineId) - .eq(InformationEntity::getName, fileName)); + .eq(InformationEntity::getName, fileName); + long count = informationBaseService.count(wrapper); + //如果存在重复的,并且是跳过则不做处理 + if (count > 0 && skipExisting) { + continue; + } + // 删掉原来的 + informationBaseService.remove(wrapper); String filePath = String.format("%s/%s/%s.%s", subLineId, DateUtil.format(new Date(), "yyyyMMdd"),