From ce7582bd007b671dc311ee8511cc409230ef1b1c Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 08 七月 2025 17:49:29 +0800 Subject: [PATCH] yys 1.出库管理-分页查询 2.出库管理-导出 3.出库管理-领用 4.出库台账-分页查询 5.出库台账-导出 6.出库台账-删除 7.库存管理-分页查询 8.库存管理-导出 9.库存管理-删除 --- src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 91 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java new file mode 100644 index 0000000..78c8647 --- /dev/null +++ b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java @@ -0,0 +1,91 @@ +package com.ruoyi.basic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.dto.StorageBlobDTO; +import com.ruoyi.basic.pojo.StorageAttachment; +import com.ruoyi.basic.mapper.StorageAttachmentMapper; +import com.ruoyi.basic.mapper.StorageBlobMapper; +import com.ruoyi.basic.pojo.StorageBlob; +import com.ruoyi.basic.service.StorageAttachmentService; +import com.ruoyi.basic.service.StorageBlobService; +import com.ruoyi.common.constant.StorageAttachmentConstants; +import com.ruoyi.common.enums.StorageAttachmentRecordType; +import com.ruoyi.common.utils.MinioUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 閫氱敤鏂囦欢涓婁紶鐨勯檮浠朵俊鎭� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author ruoyi + * @since 2025-05-29 + */ +@Service +@RequiredArgsConstructor +public class StorageAttachmentServiceImpl extends ServiceImpl<StorageAttachmentMapper, StorageAttachment> implements StorageAttachmentService { + @Autowired + private StorageBlobMapper storageBlobMapper; + + @Autowired + private StorageAttachmentMapper storageAttachmentMapper; + + @Autowired + private StorageBlobService storageBlobService; + + @Autowired + private MinioUtils minioUtils; + + @Override + public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) { + List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>() + .eq(StorageAttachment::getRecordId, recordId) + .eq(StorageAttachment::getRecordType, recordType.ordinal()) + .eq(StorageAttachment::getName, fileType.toString())); + if (storageAttachments != null) { + for (StorageAttachment storageAttachment : storageAttachments) { + StorageBlob storageBlob = storageBlobMapper.selectById(storageAttachment.getStorageBlobId()); + StorageBlobDTO storageBlobDTO = new StorageBlobDTO(); + BeanUtils.copyProperties(storageBlob, storageBlobDTO); + storageBlobDTO.setUrl(minioUtils.getPreviewUrl(storageBlob.getBucketName(), storageBlob.getBucketName(), true)); + storageAttachment.setStorageBlobDTO(storageBlobDTO); + } + } + + return storageAttachments; + } + + @Override + public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) { + // 鍒犻櫎鏃у浘 + deleteStorageAttachment(new StorageAttachment(fileType.toString(), (long) recordType.ordinal(), recordId)); + for (StorageAttachment attachment : attachments) { + // 鑾峰彇鍏宠仈璁板綍 + StorageBlob storageBlob = attachment.getStorageBlobDTO(); + attachment.setName(fileType.toString()); + attachment.setRecordType((long) recordType.ordinal()); + attachment.setRecordId(recordId); + attachment.setStorageBlobId(storageBlob.getId()); + storageAttachmentMapper.insert(attachment); + } + + } + + @Override + public int deleteStorageAttachment(StorageAttachment storageAttachment) { + // 鍏堝垹闄ゆ槑缁嗚〃 + storageBlobService.deleteStorageBlobs(storageAttachment); + + + return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>() + .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId()) + .eq(StorageAttachment::getRecordType, storageAttachment.getRecordType()) + .eq(StorageAttachment::getName, storageAttachment.getName())); + } +} -- Gitblit v1.9.3