chenhj
2026-04-24 2e71bdbcdf853bb35e68016b84f0254f7366bfeb
文件工具类变更
已添加2个文件
已修改9个文件
已删除2个文件
587 ■■■■■ 文件已修改
src/main/java/com/ruoyi/basic/dto/StorageAttachmentDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/dto/StorageAttachmentVO.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/enums/RecordTypeEnum.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/config/MinioConfig.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/utils/MinioUtils.java 433 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/common/CommonController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/ShippingInfoService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/dto/StorageAttachmentDTO.java
@@ -10,5 +10,5 @@
    /**
     * å­˜å‚¨æ–‡ä»¶åˆ—表
     */
    private List<StorageBlobVO> storageBlobVOS;
    private List<StorageBlobDTO> storageBlobDTOs;
}
src/main/java/com/ruoyi/basic/dto/StorageAttachmentVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package com.ruoyi.basic.dto;
import com.ruoyi.basic.pojo.StorageAttachment;
import lombok.Data;
import java.util.List;
@Data
public class StorageAttachmentVO extends StorageAttachment {
    /**
     * å­˜å‚¨æ–‡ä»¶åˆ—表
     */
    private List<StorageBlobVO> storageBlobVOS;
}
src/main/java/com/ruoyi/basic/dto/StorageBlobDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.ruoyi.basic.dto;
import com.ruoyi.basic.pojo.StorageBlob;
import lombok.Data;
@Data
public class StorageBlobDTO extends StorageBlob {
    /**
     * é¢„览地址
     */
    private String previewURL;
    /**
     * ä¸‹è½½åœ°å€
     */
    private String downloadURL;
}
src/main/java/com/ruoyi/basic/enums/RecordTypeEnum.java
@@ -1,7 +1,7 @@
package com.ruoyi.basic.enums;
public enum RecordTypeEnum {
    FILE("file");
    ShippingInfo("shipping_info");
    private final String type;
    RecordTypeEnum(String type) { this.type = type; }
src/main/java/com/ruoyi/basic/service/StorageAttachmentService.java
@@ -16,14 +16,6 @@
 * @since 2025-05-29
 */
public interface StorageAttachmentService extends IService<StorageAttachment> {
    /**
     * æŸ¥è¯¢é€šç”¨æ–‡ä»¶ä¸Šä¼ çš„附件信息
     * @param recordId å…³è”记录id
     * @param recordType å…³è”记录类型
     * @param fileType æ–‡ä»¶ç±»åž‹
     * @return æ–‡ä»¶ä¿¡æ¯åˆ—表
     */
    List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType);
    /**
     * ä¿å­˜é€šç”¨æ–‡ä»¶ä¸Šä¼ çš„附件信息
src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
@@ -8,7 +8,6 @@
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.stereotype.Service;
@@ -31,28 +30,6 @@
    private final StorageBlobService storageBlobService;
    private final MinioUtils minioUtils;
    @Override
    public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType) {
        // todo fileChange
//        List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
//                .eq(StorageAttachment::getRecordId, recordId)
//                .eq(StorageAttachment::getRecordType, recordType.ordinal())
//                .eq(StorageAttachment::getName, fileType));
//        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;
        return null;
    }
    @Override
    public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) {
src/main/java/com/ruoyi/common/config/MinioConfig.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/common/utils/MinioUtils.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -5,13 +5,10 @@
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.StorageBlobVO;
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.common.enums.FileNameType;
import com.ruoyi.common.utils.MinioUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
@@ -53,8 +50,6 @@
    private final StorageBlobMapper storageBlobMapper;
    private final StorageAttachmentMapper storageAttachmentMapper;
    private final MinioUtils minioUtils;
    private final SysUserMapper sysUserMapper;
@@ -165,29 +160,6 @@
        BeanUtils.copyProperties(entityPage, resultPage);
        resultPage.setRecords(dtoList);
        return resultPage;
    }
    // æå–创建BlobDTO的公共方法
    private StorageBlobVO createBlobDto(StorageBlob blob) {
        StorageBlobVO dto = new StorageBlobVO();
        BeanUtils.copyProperties(blob, dto);
        // todo fileChange
//        // è®¾ç½®URL
//        dto.setUrl(minioUtils.getPreviewUrls(
//                blob.getBucketFilename(),
//                blob.getBucketName(),
//                true
//        ));
//
//        // è®¾ç½®ä¸‹è½½URL
//        dto.setDownloadUrl(minioUtils.getDownloadUrls(
//                blob.getBucketFilename(),
//                blob.getBucketName(),
//                blob.getOriginalFilename(),
//                true
//        ));
        return dto;
    }
    @Override
src/main/java/com/ruoyi/project/common/CommonController.java
@@ -77,16 +77,6 @@
//    }
//
//    /**
//     * minio通用上传请求(多个)
//     */
//    @PostMapping("/minioUploads")
//    @Operation(summary = "minio通用上传请求")
//    public AjaxResult minioUploadFiles(List<MultipartFile> files, String bucketName, Long type) throws Exception
//    {
//        return AjaxResult.success();
//    }
//
//    /**
//     * é€šç”¨ä¸Šä¼ è¯·æ±‚(单个)
//     */
//    @PostMapping("/upload")
src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
@@ -1,10 +1,9 @@
package com.ruoyi.sales.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.basic.dto.StorageBlobDTO;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.ShippingInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@@ -33,4 +32,6 @@
    private String productName;
    private List<StorageBlobDTO> storageBlobDTOs;
}
src/main/java/com/ruoyi/sales/service/ShippingInfoService.java
@@ -3,13 +3,10 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.procurementrecord.dto.ReturnSaleProductDto;
import com.ruoyi.sales.dto.SalesLedgerProductDto;
import com.ruoyi.sales.dto.ShippingInfoDto;
import com.ruoyi.sales.pojo.ShippingInfo;
import org.apache.ibatis.annotations.Param;
import java.io.IOException;
import java.util.List;
/**
@@ -19,7 +16,7 @@
public interface ShippingInfoService extends IService<ShippingInfo>{
    IPage<ShippingInfoDto> listPage(Page page, ShippingInfo req);
    boolean deductStock(ShippingInfoDto req) throws IOException;
    boolean deductStock(ShippingInfoDto req);
    boolean delete(List<Long> ids);
src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -6,6 +6,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
import com.ruoyi.basic.enums.ApplicationTypeEnum;
import com.ruoyi.basic.enums.RecordTypeEnum;
import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.other.service.impl.TempFileServiceImpl;
@@ -22,7 +25,6 @@
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
@@ -41,6 +43,7 @@
    private final StockUtils stockUtils;
    private final CommonFileServiceImpl commonFileService;
    private final ApproveProcessServiceImpl approveProcessService;
    private final FileUtil fileUtil;
    @Override
    public IPage<ShippingInfoDto> listPage(Page page, ShippingInfo req) {
@@ -52,7 +55,7 @@
    }
    @Override
    public boolean deductStock(ShippingInfoDto req) throws IOException {
    public boolean deductStock(ShippingInfoDto req) {
        ShippingInfo byId = this.getById(req.getId());
        if (byId == null) {
            throw new RuntimeException("发货信息不存在");
@@ -68,10 +71,8 @@
        byId.setShippingCarNumber(req.getShippingCarNumber());
        byId.setShippingDate(req.getShippingDate());
        boolean update = this.updateById(byId);
        // è¿ç§»æ–‡ä»¶
        if(CollectionUtils.isNotEmpty(req.getTempFileIds())){
            tempFileService.migrateTempFilesToFormal(req.getId(), req.getTempFileIds(), FileNameType.SHIP.getValue());
        }
        // ä¿å­˜æ–‡ä»¶
        fileUtil.saveStorageAttachment(ApplicationTypeEnum.IMAGE, RecordTypeEnum.ShippingInfo, req.getId(), req.getStorageBlobDTOs());
        return update ;
    }