| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | 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(); |
| | | } |