diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysFileServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysFileServiceImpl.java index cc023e513..97d7b1405 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysFileServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysFileServiceImpl.java @@ -109,14 +109,16 @@ public class SysFileServiceImpl extends ServiceImpl impl @Override public R innerUpload(MultipartFile file, String dir, Long groupId, String type) { String fileName = IdUtil.simpleUUID() + StrUtil.DOT + FileUtil.extName(file.getOriginalFilename()); - Map resultMap = new HashMap<>(4); + Map resultMap = new HashMap<>(5); resultMap.put("bucketName", properties.getBucketName()); resultMap.put("fileName", fileName); resultMap.put("url", String.format("/admin/sys-file/oss/file?fileName=%s", fileName)); try (InputStream inputStream = file.getInputStream()) { fileTemplate.putObject(properties.getBucketName(), dir, fileName, inputStream, file.getContentType()); // 文件管理数据记录,收集管理追踪文件 - innerFileLog(file, dir, fileName, groupId, type); + SysFile sysFile = innerFileLog(file, dir, fileName, groupId, type); + // 内部上传调用方需要文件中心主键执行后续替换、清理和保留周期管理。 + resultMap.put("id", sysFile.getId()); } catch (Exception e) { return R.failed(e.getLocalizedMessage()); } @@ -283,7 +285,7 @@ public class SysFileServiceImpl extends ServiceImpl impl } @SneakyThrows - private void innerFileLog(MultipartFile file, String dir, String fileName, Long groupId, String type) { + private SysFile innerFileLog(MultipartFile file, String dir, String fileName, Long groupId, String type) { // 创建SysFile对象并设置相关属性 SysFile sysFile = new SysFile(); sysFile.setFileName(fileName); @@ -304,6 +306,7 @@ public class SysFileServiceImpl extends ServiceImpl impl sysFile.setUpdateBy("SYSTEM"); // 调用save方法保存SysFile对象 this.save(sysFile); + return sysFile; } }