diff --git a/bookshelfplus-frontend/views/dashboard/admin/FileManage.html b/bookshelfplus-frontend/views/dashboard/admin/FileManage.html
index 837fd06..dfa14e4 100644
--- a/bookshelfplus-frontend/views/dashboard/admin/FileManage.html
+++ b/bookshelfplus-frontend/views/dashboard/admin/FileManage.html
@@ -43,7 +43,7 @@
console.log(element);
renderData.push({
编号: `${element.id}`,
- 关联书籍: `
+ 关联书籍: element.bookId === 0 ? "未关联书籍" : `
ID: ${element.bookId}
查看
修改
diff --git a/bookshelfplus-frontend/views/dashboard/admin/FileManage_ObjectManage.html b/bookshelfplus-frontend/views/dashboard/admin/FileManage_ObjectManage.html
index 6a15cd3..d0c0985 100644
--- a/bookshelfplus-frontend/views/dashboard/admin/FileManage_ObjectManage.html
+++ b/bookshelfplus-frontend/views/dashboard/admin/FileManage_ObjectManage.html
@@ -1,7 +1,7 @@
@@ -33,18 +33,23 @@
编号: `${element.id}`,
关联文件: `
ID: ${element.fileId}
- 查看
+ 查看
`,
文件名: `${element.fileName}`,
- 格式: `${element.fileType}`,
+ 修改日期: element.lastModified === 0 ? "未知" : `
提取码: ${element.fileShareCode}
文件名(不含扩展名):
文件大小:
+ 修改日期:
文件SHA1:
计算文件哈希进度
@@ -135,6 +136,7 @@ fileName: "", fileSize: 0, fileType: "", + lastModified: "", fileSha1: "", fileExt: "", fileNameWithoutExt: "", @@ -196,6 +198,7 @@ fileInfo.fileName = file.name; fileInfo.fileSize = file.size; fileInfo.fileType = file.type; + fileInfo.lastModified = file.lastModified; // 获取文件扩展名:首先按照 . 拆分,然后删掉第一个元素(考虑无扩展名文件),再取出最后一个元素 let fileNameSplit = file.name.split("."); fileNameSplit.shift(); @@ -208,6 +211,7 @@ document.getElementById("file-ext").innerHTML = fileInfo.fileExt; document.getElementById("file-name-no-ext").innerHTML = fileInfo.fileNameWithoutExt; document.getElementById("file-size").innerHTML = sOutput; + document.getElementById("file-lastModified").innerHTML = new Date(fileInfo.lastModified).toISOString().replace(/T/, ' ').replace(/\..+/, ''); // 计算文件哈希 let sha1 = await sha1File(file, (file) => { @@ -354,6 +358,7 @@ fileName: fileInfo.fileNameWithoutExt, fileSize: fileInfo.fileSize, // fileType: fileInfo.fileType, + lastModified: fileInfo.lastModified, fileSha1: fileInfo.fileSha1, fileExt: fileInfo.fileExt, fileId: $("#fileAssociator").val() // 关联的文件ID,创建新文件则为0 diff --git a/bookshelfplus/src/main/java/plus/bookshelf/Controller/Controller/FileController.java b/bookshelfplus/src/main/java/plus/bookshelf/Controller/Controller/FileController.java index c380fd7..66e3957 100644 --- a/bookshelfplus/src/main/java/plus/bookshelf/Controller/Controller/FileController.java +++ b/bookshelfplus/src/main/java/plus/bookshelf/Controller/Controller/FileController.java @@ -50,9 +50,6 @@ public class FileController extends BaseController { @Autowired FileObjectServiceImpl fileObjectService; - // @Autowired - // ScheduleTaskServiceImpl scheduleTaskService; - @ApiOperation(value = "【管理员】查询文件列表", notes = "查询文件列表") @RequestMapping(value = "list", method = {RequestMethod.POST}, consumes = {CONTENT_TYPE_FORMED}) @ResponseBody @@ -131,6 +128,7 @@ public class FileController extends BaseController { // 以下为 PUT 请求必传参数 @RequestParam(value = "fileSize", required = false) Long fileSize, // @RequestParam(value = "fileType", required = false) String fileType, + @RequestParam(value = "lastModified", required = false) Long lastModified, @RequestParam(value = "fileSha1", required = false) String fileSha1, @RequestParam(value = "fileExt", required = false) String fileExt, @RequestParam(value = "fileId", required = false) Integer fileId // 关联的文件ID,创建新文件则为0 @@ -168,7 +166,7 @@ public class FileController extends BaseController { if (isExist) throw new BusinessException(BusinessErrorCode.PARAMETER_VALIDATION_ERROR, "文件已存在"); fileObjectService.uploadFile(fileId, fileName, bookSaveFolder + fileName, fileSize, - fileSha1, fileExt, fileName, FileStorageMediumEnum.QCLOUD_COS, ""); + fileSha1, fileExt, fileName, FileStorageMediumEnum.QCLOUD_COS, "", lastModified); break; case GET: if (!isExist) throw new BusinessException(BusinessErrorCode.PARAMETER_VALIDATION_ERROR, "文件不存在"); @@ -190,6 +188,7 @@ public class FileController extends BaseController { /** * 腾讯云 COS 文件上传成功回调方法 + * * @param eventStr * @param contextStr * @return diff --git a/bookshelfplus/src/main/java/plus/bookshelf/Controller/VO/FileObjectVO.java b/bookshelfplus/src/main/java/plus/bookshelf/Controller/VO/FileObjectVO.java index 9aef958..3bb1253 100644 --- a/bookshelfplus/src/main/java/plus/bookshelf/Controller/VO/FileObjectVO.java +++ b/bookshelfplus/src/main/java/plus/bookshelf/Controller/VO/FileObjectVO.java @@ -33,6 +33,9 @@ public class FileObjectVO { // 文件提取码 String fileShareCode; + // 文件最后修改时间戳 + Long lastModified; + // 文件上传状态 String uploadStatus; diff --git a/bookshelfplus/src/main/java/plus/bookshelf/Dao/DO/FileObjectDO.java b/bookshelfplus/src/main/java/plus/bookshelf/Dao/DO/FileObjectDO.java index c9b2c6f..8a3af96 100644 --- a/bookshelfplus/src/main/java/plus/bookshelf/Dao/DO/FileObjectDO.java +++ b/bookshelfplus/src/main/java/plus/bookshelf/Dao/DO/FileObjectDO.java @@ -100,6 +100,15 @@ public class FileObjectDO { */ private String fileSha1; + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column file_object_info.last_modified + * + * @mbg.generated + */ + private Long lastModified; + /** * * This field was generated by MyBatis Generator. @@ -373,6 +382,30 @@ public class FileObjectDO { this.fileSha1 = fileSha1 == null ? null : fileSha1.trim(); } + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column file_object_info.last_modified + * + * @return the value of file_object_info.last_modified + * + * @mbg.generated + */ + public Long getLastModified() { + return lastModified; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column file_object_info.last_modified + * + * @param lastModified the value for file_object_info.last_modified + * + * @mbg.generated + */ + public void setLastModified(Long lastModified) { + this.lastModified = lastModified; + } + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column file_object_info.additional_fields diff --git a/bookshelfplus/src/main/java/plus/bookshelf/Service/Impl/FileObjectServiceImpl.java b/bookshelfplus/src/main/java/plus/bookshelf/Service/Impl/FileObjectServiceImpl.java index 769dc9a..e87080c 100644 --- a/bookshelfplus/src/main/java/plus/bookshelf/Service/Impl/FileObjectServiceImpl.java +++ b/bookshelfplus/src/main/java/plus/bookshelf/Service/Impl/FileObjectServiceImpl.java @@ -107,7 +107,7 @@ public class FileObjectServiceImpl implements FileObjectService { @Transactional public Boolean uploadFile(Integer fileId, String fileName, String filePath, Long fileSize, String fileSHA1, String fileExt, String fileNameWithoutExt, FileStorageMediumEnum fileStorageMediumEnum, - String bookOrigin + String bookOrigin, Long lastModified ) throws InvocationTargetException, IllegalAccessException, BusinessException { if (fileId == 0) { @@ -153,6 +153,7 @@ public class FileObjectServiceImpl implements FileObjectService { fileObjectModel.setFilePath(filePath); fileObjectModel.setFileSha1(fileSHA1); fileObjectModel.setUploadStatus("UPLOADING"); + fileObjectModel.setLastModified(lastModified); // 其余使用默认设置 fileObjectModel.setFilePwd(""); diff --git a/bookshelfplus/src/main/java/plus/bookshelf/Service/Model/FileObjectModel.java b/bookshelfplus/src/main/java/plus/bookshelf/Service/Model/FileObjectModel.java index 5f9cc7c..c4c125b 100644 --- a/bookshelfplus/src/main/java/plus/bookshelf/Service/Model/FileObjectModel.java +++ b/bookshelfplus/src/main/java/plus/bookshelf/Service/Model/FileObjectModel.java @@ -33,6 +33,9 @@ public class FileObjectModel { // 文件提取码 String fileShareCode; + // 文件最后修改时间戳 + Long lastModified; + // 文件上传状态 String uploadStatus; diff --git a/bookshelfplus/src/main/java/plus/bookshelf/Service/Service/FileObjectService.java b/bookshelfplus/src/main/java/plus/bookshelf/Service/Service/FileObjectService.java index b33ce52..16295d4 100644 --- a/bookshelfplus/src/main/java/plus/bookshelf/Service/Service/FileObjectService.java +++ b/bookshelfplus/src/main/java/plus/bookshelf/Service/Service/FileObjectService.java @@ -45,7 +45,7 @@ public interface FileObjectService { * @throws BusinessException */ @Transactional - Boolean uploadFile(Integer fileId, String fileName, String filePath, Long fileSize, String fileSHA1, String fileExt, String fileNameWithoutExt, FileStorageMediumEnum fileStorageMediumEnum, String bookOrigin) throws InvocationTargetException, IllegalAccessException, BusinessException; + Boolean uploadFile(Integer fileId, String fileName, String filePath, Long fileSize, String fileSHA1, String fileExt, String fileNameWithoutExt, FileStorageMediumEnum fileStorageMediumEnum, String bookOrigin, Long lastModified) throws InvocationTargetException, IllegalAccessException, BusinessException; /** * 修改文件对象上传状态信息 diff --git a/bookshelfplus/src/main/resources/mapping/FileObjectDOMapper.xml b/bookshelfplus/src/main/resources/mapping/FileObjectDOMapper.xml index 3fefdd0..5ad4171 100644 --- a/bookshelfplus/src/main/resources/mapping/FileObjectDOMapper.xml +++ b/bookshelfplus/src/main/resources/mapping/FileObjectDOMapper.xml @@ -17,6 +17,7 @@