yuan
2026-04-25 d344ee41f0b39c143bf4229b5c3e7aed965c444a
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -8,17 +8,14 @@
import com.ruoyi.other.service.TempFileService;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.pojo.CommonFile;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.util.URLEncoder;
import org.apache.commons.io.FilenameUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -26,22 +23,20 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
@Service
@Slf4j
@RequiredArgsConstructor
public class TempFileServiceImpl extends ServiceImpl<TempFileMapper, TempFile> implements TempFileService {
    @Autowired
    private TempFileMapper tempFileMapper;
    @Autowired
    private CommonFileMapper commonFileMapper;
    private final TempFileMapper tempFileMapper;
    private final CommonFileMapper commonFileMapper;
    @Value("${file.upload-dir}")
    private String uploadDir;
    @Value("${file.temp-dir}")
    private String tempDir;
@@ -75,9 +70,19 @@
        tempFileRecord.setTempPath(tempFilePath.toString());
        tempFileRecord.setExpireTime(LocalDateTime.now().plusHours(2)); // 2小时后过期
        tempFileRecord.setType(type);
        tempFileRecord.setFileSize(file.getSize());
        tempFileMapper.insert(tempFileRecord);
        return tempFileRecord;
    }
    @Override
    public String uploadByCommon(MultipartFile file, Integer type, Long id) throws  IOException{
        TempFile tempFile = uploadFile(file, type);
        if (tempFile != null) {
            migrateTempFilesToFormal(id, Collections.singletonList(tempFile.getTempId()), type);
            return tempFile.getTempPath();
        }
        return null;
    }
    /**
@@ -141,6 +146,7 @@
                fileRecord.setUrl(formalFilePath.toString());
                fileRecord.setCreateTime(LocalDateTime.now());
                fileRecord.setType(fileType);
                fileRecord.setFileSize(tempFile.getFileSize());
                commonFileMapper.insert(fileRecord);
                // 删除临时文件记录