From 09d3d31899bb346c6fe8ad5d89168730b5dfae4a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 08 五月 2026 13:45:42 +0800
Subject: [PATCH] refactor(business): 重构业务机会和销售台账的文件管理功能
---
src/main/java/com/ruoyi/basic/service/impl/BusinessOpportunityServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/impl/BusinessOpportunityServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/BusinessOpportunityServiceImpl.java
index db25ba6..f686454 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/BusinessOpportunityServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/BusinessOpportunityServiceImpl.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.BusinessDescriptionDto;
@@ -56,11 +55,41 @@
LoginUser loginUser = SecurityUtils.getLoginUser();
IPage<BusinessOpportunityDto> businessOpportunityDtoIPage = businessOpportunityMapper.listPage(page, businessOpportunityDto);
- businessOpportunityDtoIPage.getRecords().forEach(item -> {
- item.setBusinessCommonFiles(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.FILE, RecordTypeEnum.BUSINESS_OPPORTUNITY, item.getId()));
- item.setBusinessDescription(businessDescriptionMapper.selectList(Wrappers.lambdaQuery(BusinessDescription.class)
- .eq(BusinessDescription::getBusinessOpportunityId, item.getId())
- .orderByDesc(BusinessDescription::getCreateTime)));
+ businessOpportunityDtoIPage.getRecords().forEach(opportunity -> {
+ ArrayList<StorageBlobVO> storageBlobVOS = new ArrayList<>();
+ // 鏌ヨ涓氬姟鎻忚堪鍒楄〃
+ List<BusinessDescription> businessDescriptions = businessDescriptionMapper.selectList(
+ new LambdaQueryWrapper<BusinessDescription>()
+ .eq(BusinessDescription::getBusinessOpportunityId, opportunity.getId())
+ .orderByDesc(BusinessDescription::getCreateTime)
+ );
+
+ // 鏀堕泦姣忎釜涓氬姟鎻忚堪鐨勬枃浠�
+ if (businessDescriptions != null && !businessDescriptions.isEmpty()) {
+ businessDescriptions.forEach(description -> {
+ List<StorageBlobVO> files = fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
+ ApplicationTypeEnum.FILE,
+ RecordTypeEnum.BUSINESS_DESCRIPTION,
+ Long.valueOf(description.getId())
+ );
+ if (files != null && !files.isEmpty()) {
+ storageBlobVOS.addAll(files);
+ }
+ });
+ }
+
+ // 鏌ヨ鍟嗘満涓昏〃鐨勬枃浠�
+ List<StorageBlobVO> opportunityFiles = fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
+ ApplicationTypeEnum.FILE,
+ RecordTypeEnum.BUSINESS_OPPORTUNITY,
+ opportunity.getId()
+ );
+ if (opportunityFiles != null && !opportunityFiles.isEmpty()) {
+ storageBlobVOS.addAll(opportunityFiles);
+ }
+
+ opportunity.setBusinessCommonFiles(storageBlobVOS);
+ opportunity.setBusinessDescription(businessDescriptions);
});
return businessOpportunityDtoIPage;
@@ -130,7 +159,8 @@
unipushService.sendClientMessage(sysNoticeList);
}
int insert = businessDescriptionMapper.insert(businessDescription);
- fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.BUSINESS_DESCRIPTION, businessDescription.getBusinessOpportunityId(), businessDescription.getStorageBlobDTOS());
+
+ fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.BUSINESS_DESCRIPTION, Long.valueOf(businessDescription.getId()), businessDescription.getBusinessCommonFiles());
return insert > 0 ? R.ok() : R.fail();
}
--
Gitblit v1.9.3