package com.fzzy.igds; import com.bstek.dorado.uploader.UploadFile; import com.bstek.dorado.uploader.annotation.FileResolver; import com.fzzy.igds.service.FileService; import com.fzzy.igds.utils.ContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateFormatUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.Map; /** * @Description Dorado7 附件上传公共管理层 * @Author CZT * @Date 2025/12/05 10:05 */ @Slf4j @Component public class FileUploadManage { @Resource private FileService fileService; /** * 上传库区鸟瞰图 * fileUploadManage#imgFile * * @param file * @param parameter * @return */ @FileResolver public String imgFile(UploadFile file, Map parameter) { String fileId = null; try { String basePath = fileService.getFileSavePath("DEPT"); fileId = "aerial-" + ContextUtil.subDeptId(null) + file.getFileName().substring( file.getFileName().lastIndexOf(".")); file.transferTo(new File(basePath + fileId)); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return fileId; } /** * 上传出入库附件 * fileUploadManage#inoutFile * * @param file * @param parameter * @return */ @FileResolver public String inoutFile(UploadFile file, Map parameter) { //流程 String bizTag = (String) parameter.get("bizTag"); String newFileName = null; try { String basePath = fileService.getFileSavePath("INOUT"); // 获取新的ID newFileName = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"); if(StringUtils.isNotEmpty(bizTag)){ newFileName = bizTag + "_" + newFileName; } // 文件后缀名 String suffixName = file.getFileName().substring(file.getFileName().lastIndexOf(".")); // 合成新的文件名 newFileName = newFileName + suffixName; file.transferTo(new File(basePath + newFileName)); } catch (Exception e) { e.printStackTrace(); } return newFileName; } }