From 748cb763ef5f7f100849d95a0edf6b160e34c878 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=A9=AC=E8=B6=85?= <1162714483@qq.com>
Date: Sat, 29 May 2021 22:03:42 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
file-common/pom.xml | 63 ---
.../common/config/AliyunConfig.java | 11 -
.../common/config/PropertiesConfig.java | 21 -
.../common/config/QiwenFileConfig.java | 20 -
.../common/constant/FileConstant.java | 10 -
.../qiwenshare/common/domain/AliyunOSS.java | 14 -
.../common/exception/NotLoginException.java | 18 -
.../exception/NotSameFileExpection.java | 7 -
.../common/exception/UploadException.java | 12 -
.../exception/UploadGeneralException.java | 16 -
.../factory/AliyunOSSOperationFactory.java | 39 --
.../factory/FastDFSOperationFactory.java | 38 --
.../common/factory/FileOperationFactory.java | 11 -
.../factory/LocalStorageOperationFactory.java | 38 --
.../common/operation/FileOperation.java | 425 ------------------
.../common/operation/ImageOperation.java | 43 --
.../common/operation/delete/Deleter.java | 7 -
.../operation/delete/domain/DeleteFile.java | 9 -
.../delete/product/AliyunOSSDeleter.java | 31 --
.../delete/product/FastDFSDeleter.java | 17 -
.../delete/product/LocalStorageDeleter.java | 19 -
.../common/operation/download/Downloader.java | 11 -
.../download/domain/DownloadFile.java | 9 -
.../download/product/AliyunOSSDownloader.java | 72 ---
.../download/product/FastDFSDownloader.java | 57 ---
.../product/LocalStorageDownloader.java | 62 ---
.../common/operation/upload/Uploader.java | 102 -----
.../operation/upload/domain/UploadFile.java | 27 --
.../upload/product/AliyunOSSUploader.java | 224 ---------
.../upload/product/FastDFSUploader.java | 186 --------
.../upload/product/LocalStorageUploader.java | 125 ------
.../qiwenshare/common/result/RestResult.java | 73 ---
.../common/result/ResultCodeEnum.java | 31 --
.../qiwenshare/common/util/CollectUtil.java | 61 ---
.../com/qiwenshare/common/util/DateUtil.java | 127 ------
.../com/qiwenshare/common/util/FileUtil.java | 95 ----
.../com/qiwenshare/common/util/JjwtUtil.java | 92 ----
.../com/qiwenshare/common/util/MimeUtils.java | 202 ---------
.../qiwenshare/common/util/PasswordUtil.java | 19 -
.../com/qiwenshare/common/util/PathUtil.java | 80 ----
.../common/util/PropertiesUtil.java | 18 -
.../com/qiwenshare/common/util/RedisUtil.java | 98 ----
.../util/concurrent/locks/RedisLock.java | 240 ----------
file-common/src/main/resources/rebel.xml | 16 -
file-web/.gitignore | 29 --
file-web/pom.xml | 171 -------
install.bat | 2 +-
pom.xml | 183 ++++++--
.../com/qiwenshare/file/FileApplication.java | 6 -
.../qiwenshare/file/advice/CMSException.java | 0
.../advice/GlobalExceptionHandlerAdvice.java | 7 +-
.../java/com/qiwenshare/file/anno/MyLog.java | 0
.../file/anno/ResponseResultBody.java | 0
.../com/qiwenshare/file/aop/WebLogAcpect.java | 0
.../file/api/IElasticSearchService.java | 0
.../com/qiwenshare/file/api/IFileService.java | 0
.../file/api/IFiletransferService.java | 0
.../file/api/IOperationLogService.java | 0
.../file/api/IRecoveryFileService.java | 0
.../file/api/IShareFileService.java | 0
.../qiwenshare/file/api/IShareService.java | 0
.../qiwenshare/file/api/IUserFileService.java | 0
.../com/qiwenshare/file/api/IUserService.java | 0
.../file/component/FileDealComp.java | 30 +-
.../file/component/UserDealComp.java | 0
.../qiwenshare/file}/config/FdfsConfig.java | 2 +-
.../qiwenshare/file}/config/RedisConfig.java | 6 +-
.../qiwenshare/file/config/WebMvcConfig.java | 0
.../file/config/cors/MyCorsRegistration.java | 0
.../qiwenshare/file/config/es/FileSearch.java | 0
.../file/config/openapi/OpenAPIConfig.java | 0
.../file/controller/FileController.java | 82 ++--
.../controller/FiletransferController.java | 24 +-
.../controller/RecoveryFileController.java | 1 -
.../file/controller/ShareController.java | 0
.../file/controller/TaskController.java | 0
.../file/controller/UserController.java | 9 -
.../com/qiwenshare/file/domain/FileBean.java | 6 +-
.../file/domain/OperationLogBean.java | 0
.../qiwenshare/file/domain/Permission.java | 0
.../qiwenshare/file/domain/RecoveryFile.java | 0
.../java/com/qiwenshare/file/domain/Role.java | 0
.../com/qiwenshare/file/domain/Share.java | 0
.../com/qiwenshare/file/domain/ShareFile.java | 0
.../qiwenshare/file/domain/StorageBean.java | 0
.../com/qiwenshare/file/domain/TreeNode.java | 0
.../com/qiwenshare/file/domain/UserBean.java | 0
.../com/qiwenshare/file/domain/UserFile.java | 0
.../file/dto/BatchDeleteRecoveryFileDTO.java | 0
.../qiwenshare/file/dto/BatchMoveFileDTO.java | 0
.../file/dto/DeleteRecoveryFileDTO.java | 0
.../qiwenshare/file/dto/DownloadFileDTO.java | 1 +
.../com/qiwenshare/file/dto/FileListDTO.java | 0
.../com/qiwenshare/file/dto/MoveFileDTO.java | 0
.../file/dto/RecoveryFileListDTO.java | 0
.../qiwenshare/file/dto/UploadFileDTO.java | 0
.../file/dto/file/BatchDeleteFileDTO.java | 0
.../file/dto/file/CreateFileDTO.java | 0
.../file/dto/file/DeleteFileDTO.java | 0
.../qiwenshare/file/dto/file/PreviewDTO.java | 0
.../file/dto/file/RenameFileDTO.java | 0
.../file/dto/file/SearchFileDTO.java | 0
.../file/dto/file/UnzipFileDTO.java | 0
.../BatchDeleteRecoveryFileDTO.java | 0
.../file/dto/recoveryfile/RestoreFileDTO.java | 0
.../file/dto/sharefile/CheckEndTimeDTO.java | 0
.../dto/sharefile/CheckExtractionCodeDTO.java | 0
.../file/dto/sharefile/SaveShareFileDTO.java | 0
.../file/dto/sharefile/ShareFileDTO.java | 0
.../file/dto/sharefile/ShareFileListDTO.java | 0
.../file/dto/sharefile/ShareListDTO.java | 0
.../file/dto/sharefile/ShareTypeDTO.java | 0
.../qiwenshare/file/dto/user/RegisterDTO.java | 0
.../AuthenticationInterceptor.java | 0
.../qiwenshare/file/mapper/FileMapper.java | 0
.../file/mapper/OperationLogMapper.java | 0
.../file/mapper/RecoveryFileMapper.java | 0
.../file/mapper/ShareFileMapper.java | 0
.../qiwenshare/file/mapper/ShareMapper.java | 0
.../qiwenshare/file/mapper/StorageMapper.java | 0
.../file/mapper/UserFileMapper.java | 0
.../qiwenshare/file/mapper/UserMapper.java | 0
.../qiwenshare/file/service/FileService.java | 0
.../file/service/FiletransferService.java | 109 ++---
.../file/service/OperationLogService.java | 0
.../file/service/RecoveryFileService.java | 4 -
.../file/service/ShareFileService.java | 0
.../qiwenshare/file/service/ShareService.java | 0
.../file/service/UserFileService.java | 29 +-
.../qiwenshare/file/service/UserService.java | 0
.../file/util/OperationLogUtil.java | 0
.../qiwenshare/file/vo/file/FileListVo.java | 0
.../file/vo/file/RecoveryFileListVo.java | 0
.../qiwenshare/file/vo/file/UploadFileVo.java | 0
.../file/vo/share/ShareFileListVO.java | 0
.../qiwenshare/file/vo/share/ShareFileVO.java | 0
.../qiwenshare/file/vo/share/ShareListVO.java | 0
.../qiwenshare/file/vo/share/ShareTypeVO.java | 0
.../qiwenshare/file/vo/user/UserLoginVo.java | 0
.../src => src}/main/resources/banner.txt | 0
.../main/resources/build}/assembly.xml | 0
.../main/resources/build}/settings.xml | 12 +-
.../config/application-dev.properties | 0
.../config/application-prod.properties | 0
.../resources/config/application.properties | 26 +-
.../main/resources/database/data.sql | 0
.../resources/mybatis/mapper/FileMapper.xml | 0
.../mybatis/mapper/OperationLogMapper.xml | 0
.../mybatis/mapper/RecoveryFileMapper.xml | 0
.../mybatis/mapper/ShareFileMapper.xml | 0
.../resources/mybatis/mapper/ShareMapper.xml | 0
.../mybatis/mapper/StorageMapper.xml | 0
.../mybatis/mapper/UserFileMapper.xml | 7 +-
.../resources/mybatis/mapper/UserMapper.xml | 0
.../main/resources/mybatis/mybatis-config.xml | 0
{file-web/src => src}/main/script/restart.sh | 0
{file-web/src => src}/main/script/start.sh | 0
{file-web/src => src}/main/script/stop.sh | 0
.../src => src}/main/script/winstart.bat | 0
.../src => src}/main/script/winstartw.bat | 0
.../qiwenshare/file/ScpApplicationTests.java | 0
161 files changed, 293 insertions(+), 3349 deletions(-)
delete mode 100644 file-common/pom.xml
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/config/AliyunConfig.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/config/PropertiesConfig.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/config/QiwenFileConfig.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/constant/FileConstant.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/domain/AliyunOSS.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/exception/NotLoginException.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/exception/NotSameFileExpection.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/factory/AliyunOSSOperationFactory.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/factory/FastDFSOperationFactory.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/factory/FileOperationFactory.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/factory/LocalStorageOperationFactory.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/FileOperation.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/ImageOperation.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/delete/Deleter.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/delete/domain/DeleteFile.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/delete/product/AliyunOSSDeleter.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/delete/product/FastDFSDeleter.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/delete/product/LocalStorageDeleter.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/download/Downloader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/download/domain/DownloadFile.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/download/product/AliyunOSSDownloader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/download/product/FastDFSDownloader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/download/product/LocalStorageDownloader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/upload/Uploader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/upload/domain/UploadFile.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/upload/product/AliyunOSSUploader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/upload/product/FastDFSUploader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/operation/upload/product/LocalStorageUploader.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/result/RestResult.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/result/ResultCodeEnum.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/CollectUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/DateUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/FileUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/JjwtUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/MimeUtils.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/PasswordUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/PathUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/PropertiesUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/RedisUtil.java
delete mode 100644 file-common/src/main/java/com/qiwenshare/common/util/concurrent/locks/RedisLock.java
delete mode 100644 file-common/src/main/resources/rebel.xml
delete mode 100644 file-web/.gitignore
delete mode 100644 file-web/pom.xml
rename {file-web/src => src}/main/java/com/qiwenshare/file/FileApplication.java (85%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/advice/CMSException.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/advice/GlobalExceptionHandlerAdvice.java (94%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/anno/MyLog.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/anno/ResponseResultBody.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/aop/WebLogAcpect.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IElasticSearchService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IFileService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IFiletransferService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IOperationLogService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IRecoveryFileService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IShareFileService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IShareService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IUserFileService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/api/IUserService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/component/FileDealComp.java (88%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/component/UserDealComp.java (100%)
rename {file-common/src/main/java/com/qiwenshare/common => src/main/java/com/qiwenshare/file}/config/FdfsConfig.java (91%)
rename {file-common/src/main/java/com/qiwenshare/common => src/main/java/com/qiwenshare/file}/config/RedisConfig.java (95%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/config/WebMvcConfig.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/config/cors/MyCorsRegistration.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/config/es/FileSearch.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/config/openapi/OpenAPIConfig.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/controller/FileController.java (90%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/controller/FiletransferController.java (94%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/controller/RecoveryFileController.java (99%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/controller/ShareController.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/controller/TaskController.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/controller/UserController.java (91%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/FileBean.java (91%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/OperationLogBean.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/Permission.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/RecoveryFile.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/Role.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/Share.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/ShareFile.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/StorageBean.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/TreeNode.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/UserBean.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/domain/UserFile.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/BatchDeleteRecoveryFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/BatchMoveFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/DeleteRecoveryFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/DownloadFileDTO.java (89%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/FileListDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/MoveFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/RecoveryFileListDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/UploadFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/BatchDeleteFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/CreateFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/DeleteFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/PreviewDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/RenameFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/SearchFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/file/UnzipFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/recoveryfile/BatchDeleteRecoveryFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/recoveryfile/RestoreFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/CheckEndTimeDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/CheckExtractionCodeDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/SaveShareFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/ShareFileDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/ShareFileListDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/ShareListDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/sharefile/ShareTypeDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/dto/user/RegisterDTO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/interceptor/AuthenticationInterceptor.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/FileMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/OperationLogMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/RecoveryFileMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/ShareFileMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/ShareMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/StorageMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/UserFileMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/mapper/UserMapper.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/FileService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/FiletransferService.java (73%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/OperationLogService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/RecoveryFileService.java (96%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/ShareFileService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/ShareService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/UserFileService.java (90%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/service/UserService.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/util/OperationLogUtil.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/file/FileListVo.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/file/RecoveryFileListVo.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/file/UploadFileVo.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/share/ShareFileListVO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/share/ShareFileVO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/share/ShareListVO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/share/ShareTypeVO.java (100%)
rename {file-web/src => src}/main/java/com/qiwenshare/file/vo/user/UserLoginVo.java (100%)
rename {file-web/src => src}/main/resources/banner.txt (100%)
rename {file-common/src/main/resources/conf => src/main/resources/build}/assembly.xml (100%)
rename {file-common/src/main/resources/conf => src/main/resources/build}/settings.xml (98%)
rename {file-web/src => src}/main/resources/config/application-dev.properties (100%)
rename {file-web/src => src}/main/resources/config/application-prod.properties (100%)
rename {file-web/src => src}/main/resources/config/application.properties (87%)
rename {file-web/src => src}/main/resources/database/data.sql (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/FileMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/OperationLogMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/RecoveryFileMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/ShareFileMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/ShareMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/StorageMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mapper/UserFileMapper.xml (93%)
rename {file-web/src => src}/main/resources/mybatis/mapper/UserMapper.xml (100%)
rename {file-web/src => src}/main/resources/mybatis/mybatis-config.xml (100%)
rename {file-web/src => src}/main/script/restart.sh (100%)
rename {file-web/src => src}/main/script/start.sh (100%)
rename {file-web/src => src}/main/script/stop.sh (100%)
rename {file-web/src => src}/main/script/winstart.bat (100%)
rename {file-web/src => src}/main/script/winstartw.bat (100%)
rename {file-web/src => src}/test/java/com/qiwenshare/file/ScpApplicationTests.java (100%)
diff --git a/file-common/pom.xml b/file-common/pom.xml
deleted file mode 100644
index 9bb3eda..0000000
--- a/file-common/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
- com.qiwenshare
- file
- 1.0-SNAPSHOT
-
- 4.0.0
- com.qiwenshare
- file-common
- 1.0.0-SNAPSHOT
- jar
-
-
-
- com.github.junrar
- junrar
- 7.4.0
-
-
-
-
-
-
-
-
-
-
- net.coobird
- thumbnailator
- 0.4.13
-
-
-
- com.aliyun.oss
- aliyun-sdk-oss
- 3.10.2
-
-
- io.jsonwebtoken
- jjwt
- 0.9.1
-
-
-
- com.github.tobato
- fastdfs-client
- 1.26.2
-
-
-
-
- org.springframework.boot
- spring-boot-starter-data-redis
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/config/AliyunConfig.java b/file-common/src/main/java/com/qiwenshare/common/config/AliyunConfig.java
deleted file mode 100644
index cbf36dd..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/config/AliyunConfig.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.qiwenshare.common.config;
-
-import com.qiwenshare.common.domain.AliyunOSS;
-import lombok.Data;
-
-@Data
-public class AliyunConfig {
- private AliyunOSS oss = new AliyunOSS();
-
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/config/PropertiesConfig.java b/file-common/src/main/java/com/qiwenshare/common/config/PropertiesConfig.java
deleted file mode 100644
index 8f6359c..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/config/PropertiesConfig.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.qiwenshare.common.config;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-
-import com.qiwenshare.common.util.PropertiesUtil;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-
-@Configuration
-public class PropertiesConfig {
-
- @Resource
- private Environment env;
-
- @PostConstruct
- public void setProperties() {
- PropertiesUtil.setEnvironment(env);
- }
-
-}
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/config/QiwenFileConfig.java b/file-common/src/main/java/com/qiwenshare/common/config/QiwenFileConfig.java
deleted file mode 100644
index b721e37..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/config/QiwenFileConfig.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.qiwenshare.common.config;
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-@Data
-@Component
-@ConfigurationProperties(prefix = "qiwen-file")
-public class QiwenFileConfig {
-
- private boolean shareMode;
-
- private String storageType;
- private String cacheMode;
- private String localStoragePath;
-
- private AliyunConfig aliyun = new AliyunConfig();
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/constant/FileConstant.java b/file-common/src/main/java/com/qiwenshare/common/constant/FileConstant.java
deleted file mode 100644
index 73cdec0..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/constant/FileConstant.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.qiwenshare.common.constant;
-
-public class FileConstant {
- /**
- * 路径分隔符
- */
- public static final String pathSeparator = "/";
- public static final int deleteFileRandomSize = 999999;
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/domain/AliyunOSS.java b/file-common/src/main/java/com/qiwenshare/common/domain/AliyunOSS.java
deleted file mode 100644
index 4b01964..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/domain/AliyunOSS.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.qiwenshare.common.domain;
-
-import lombok.Data;
-
-@Data
-public class AliyunOSS {
-
- private String endpoint;
- private String accessKeyId;
- private String accessKeySecret;
- private String bucketName;
- private String objectName;
- private String domain;
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/exception/NotLoginException.java b/file-common/src/main/java/com/qiwenshare/common/exception/NotLoginException.java
deleted file mode 100644
index 89a6d2c..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/exception/NotLoginException.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.qiwenshare.common.exception;
-
-public class NotLoginException extends RuntimeException{
- public NotLoginException() {
- super("未登录");
- }
- public NotLoginException(Throwable cause) {
- super("未登录", cause);
- }
-
- public NotLoginException(String message) {
- super(message);
- }
-
- public NotLoginException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/exception/NotSameFileExpection.java b/file-common/src/main/java/com/qiwenshare/common/exception/NotSameFileExpection.java
deleted file mode 100644
index 9ebd262..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/exception/NotSameFileExpection.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.qiwenshare.common.exception;
-
-public class NotSameFileExpection extends Exception {
- public NotSameFileExpection() {
- super("File MD5 Different");
- }
-}
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java b/file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java
deleted file mode 100644
index c83a7e1..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.qiwenshare.common.exception;
-
-public abstract class UploadException extends RuntimeException{
-
- protected UploadException(String message) {
- super(message);
- }
-
- protected UploadException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java b/file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java
deleted file mode 100644
index a974354..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.qiwenshare.common.exception;
-
-public class UploadGeneralException extends UploadException{
-
- public UploadGeneralException(Throwable cause) {
- super("上传出现了异常", cause);
- }
-
- public UploadGeneralException(String message) {
- super(message);
- }
-
- public UploadGeneralException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/factory/AliyunOSSOperationFactory.java b/file-common/src/main/java/com/qiwenshare/common/factory/AliyunOSSOperationFactory.java
deleted file mode 100644
index 44b4bfb..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/factory/AliyunOSSOperationFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.qiwenshare.common.factory;
-
-
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.delete.product.AliyunOSSDeleter;
-
-import com.qiwenshare.common.operation.download.Downloader;
-import com.qiwenshare.common.operation.download.product.AliyunOSSDownloader;
-import com.qiwenshare.common.operation.upload.Uploader;
-import com.qiwenshare.common.operation.upload.product.AliyunOSSUploader;
-
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-
-@Component
-public class AliyunOSSOperationFactory implements FileOperationFactory {
- @Resource
- AliyunOSSUploader aliyunOSSUploader;
- @Resource
- AliyunOSSDownloader aliyunOSSDownloader;
- @Resource
- AliyunOSSDeleter aliyunOSSDeleter;
- @Override
- public Uploader getUploader() {
- return aliyunOSSUploader;
- }
-
- @Override
- public Downloader getDownloader() {
- return aliyunOSSDownloader;
- }
-
- @Override
- public Deleter getDeleter() {
- return aliyunOSSDeleter;
- }
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/factory/FastDFSOperationFactory.java b/file-common/src/main/java/com/qiwenshare/common/factory/FastDFSOperationFactory.java
deleted file mode 100644
index 849fdf8..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/factory/FastDFSOperationFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.qiwenshare.common.factory;
-
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.delete.product.FastDFSDeleter;
-import com.qiwenshare.common.operation.download.Downloader;
-import com.qiwenshare.common.operation.download.product.FastDFSDownloader;
-import com.qiwenshare.common.operation.upload.Uploader;
-import com.qiwenshare.common.operation.upload.product.FastDFSUploader;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-
-@Component
-public class FastDFSOperationFactory implements FileOperationFactory {
-
- @Resource
- FastDFSUploader fastDFSUploader;
- @Resource
- FastDFSDownloader fastDFSDownloader;
- @Resource
- FastDFSDeleter fastDFSDeleter;
- @Override
- public Uploader getUploader() {
- return fastDFSUploader;
- }
-
- @Override
- public Downloader getDownloader() {
- return fastDFSDownloader;
- }
-
- @Override
- public Deleter getDeleter() {
- return fastDFSDeleter;
- }
-
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/factory/FileOperationFactory.java b/file-common/src/main/java/com/qiwenshare/common/factory/FileOperationFactory.java
deleted file mode 100644
index 15da8ed..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/factory/FileOperationFactory.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.qiwenshare.common.factory;
-
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.download.Downloader;
-import com.qiwenshare.common.operation.upload.Uploader;
-
-public interface FileOperationFactory {
- Uploader getUploader();
- Downloader getDownloader();
- Deleter getDeleter();
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/factory/LocalStorageOperationFactory.java b/file-common/src/main/java/com/qiwenshare/common/factory/LocalStorageOperationFactory.java
deleted file mode 100644
index d965ebf..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/factory/LocalStorageOperationFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.qiwenshare.common.factory;
-
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.delete.product.LocalStorageDeleter;
-import com.qiwenshare.common.operation.download.Downloader;
-import com.qiwenshare.common.operation.download.product.LocalStorageDownloader;
-import com.qiwenshare.common.operation.upload.product.LocalStorageUploader;
-import com.qiwenshare.common.operation.upload.Uploader;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-
-@Component
-public class LocalStorageOperationFactory implements FileOperationFactory{
-
- @Resource
- LocalStorageUploader localStorageUploader;
- @Resource
- LocalStorageDownloader localStorageDownloader;
- @Resource
- LocalStorageDeleter localStorageDeleter;
- @Override
- public Uploader getUploader() {
- return localStorageUploader;
- }
-
- @Override
- public Downloader getDownloader() {
- return localStorageDownloader;
- }
-
- @Override
- public Deleter getDeleter() {
- return localStorageDeleter;
- }
-
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/FileOperation.java b/file-common/src/main/java/com/qiwenshare/common/operation/FileOperation.java
deleted file mode 100644
index 863b25d..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/FileOperation.java
+++ /dev/null
@@ -1,425 +0,0 @@
-package com.qiwenshare.common.operation;
-
-import com.github.junrar.Archive;
-import com.github.junrar.rarfile.FileHeader;
-import com.qiwenshare.common.util.FileUtil;
-import com.qiwenshare.common.util.PathUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.nio.charset.Charset;
-import java.util.*;
-
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * 文件操作
- */
-@Slf4j
-public class FileOperation {
- private static Logger logger = LoggerFactory.getLogger(FileOperation.class);
- private static Executor executor = Executors.newFixedThreadPool(20);
- /**
- * 创建文件
- *
- * @param fileUrl 文件路径
- * @return 新文件
- */
- public static File newFile(String fileUrl) {
- File file = new File(fileUrl);
- return file;
- }
-
- /**
- * 删除文件
- *
- * @param file 文件
- * @return 是否删除成功
- */
- public static boolean deleteFile(File file) {
- if (file == null) {
- return false;
- }
-
- if (!file.exists()) {
- return false;
-
- }
-
- if (file.isFile()) {
- return file.delete();
- } else {
- for (File newfile : file.listFiles()) {
- deleteFile(newfile);
- }
- }
- return file.delete();
- }
-
- /**
- * 删除文件
- *
- * @param fileUrl 文件路径
- * @return 删除是否成功
- */
- public static boolean deleteFile(String fileUrl) {
- File file = newFile(fileUrl);
- return deleteFile(file);
- }
-
- /**
- * 得到文件大小
- *
- * @param fileUrl 文件路径
- * @return 文件大小
- */
- public static long getFileSize(String fileUrl) {
- File file = newFile(fileUrl);
- if (file.exists()) {
- return file.length();
- }
- return 0;
- }
-
- /**
- * 得到文件大小
- *
- * @param file 文件
- * @return 文件大小
- */
- public static long getFileSize(File file) {
- if (file == null) {
- return 0;
- }
- return file.length();
- }
-
- /**
- * 创建目录
- *
- * @param file 文件
- * @return 是否创建成功
- */
- public static boolean mkdir(File file) {
- if (file == null) {
- return false;
- }
-
- if (file.exists()) {
- return true;
- }
-
- return file.mkdirs();
- }
-
- /**
- * 创建目录
- *
- * @param fileUrl 文件路径
- * @return 是否创建成功
- */
- public static boolean mkdir(String fileUrl) {
- if (fileUrl == null) {
- return false;
- }
- File file = newFile(fileUrl);
- if (file.exists()) {
- return true;
- }
-
- return file.mkdirs();
- }
-
- /**
- * 拷贝文件
- *
- * @param fileInputStream 文件输入流
- * @param fileOutputStream 文件输出流
- * @throws IOException io异常
- */
- public static void copyFile(FileInputStream fileInputStream, FileOutputStream fileOutputStream) throws IOException {
- try {
- byte[] buf = new byte[4096]; //8k的缓冲区
-
- int len = fileInputStream.read(buf); //数据在buf中,len代表向buf中放了多少个字节的数据,-1代表读不到
- while (len != -1) {
-
- fileOutputStream.write(buf, 0, len); //读多少个字节,写多少个字节
-
- len = fileInputStream.read(buf);
- }
-
- } finally {
- if (fileInputStream != null) {
- try {
- fileInputStream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- if (fileOutputStream != null) {
- try {
- fileOutputStream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-
- }
-
-
- }
-
- /**
- * 拷贝文件
- *
- * @param src 源文件
- * @param dest 目的文件
- * @throws IOException io异常
- */
- public static void copyFile(File src, File dest) throws IOException {
- FileInputStream in = new FileInputStream(src);
- FileOutputStream out = new FileOutputStream(dest);
-
- copyFile(in, out);
-
-
- }
-
- /**
- * 拷贝文件
- *
- * @param srcUrl 源路径
- * @param destUrl 目的路径
- * @throws IOException io异常
- */
- public static void copyFile(String srcUrl, String destUrl) throws IOException {
- if (srcUrl == null || destUrl == null) {
- return;
- }
- File srcFile = newFile(srcUrl);
- File descFile = newFile(destUrl);
- copyFile(srcFile, descFile);
- }
-
- /**
- * 文件解压缩
- *
- * @param sourceFile 需要解压的文件
- * @param destDirPath 目的路径
- * @return 解压目录列表
- */
- public static List unzip(File sourceFile, String destDirPath) {
- ZipFile zipFile = null;
- Set set = new HashSet();
- // set.add("/");
- List fileEntryNameList = new ArrayList<>();
- try {
- zipFile = new ZipFile(sourceFile, Charset.forName("GBK"));
- Enumeration extends ZipEntry> entries = zipFile.entries();
- while (entries.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) entries.nextElement();
-
- String[] nameStrArr = entry.getName().split("/");
-
- String nameStr = "/";
- for (int i = 0; i < nameStrArr.length; i++) {
- if (!"".equals(nameStrArr[i])) {
- nameStr = nameStr + "/" + nameStrArr[i];
- set.add(nameStr);
- }
-
- }
-
- logger.info("解压" + entry.getName());
- String zipPath = "/" + entry.getName();
-
-
- fileEntryNameList.add(zipPath);
- //如果是文件夹,就创建个文件夹
- if (entry.isDirectory()) {
- String dirPath = destDirPath + File.separator + entry.getName();
- File dir = FileOperation.newFile(dirPath);
-
- dir.mkdir();
- } else {
- //如果是文件,就先创建一个文件,然后用io流把内容拷过去
- File targetFile = new File(destDirPath + "/" + entry.getName());
- // 保证这个文件的父文件夹必须要存在
- if (!targetFile.getParentFile().exists()) {
- targetFile.getParentFile().mkdirs();
- }
- targetFile.createNewFile();
- // 将压缩文件内容写入到这个文件中
- InputStream is = null;
- FileOutputStream fos = null;
- try {
- is = zipFile.getInputStream(entry);
- fos = new FileOutputStream(targetFile);
- int len;
- byte[] buf = new byte[2048];
- while ((len = is.read(buf)) != -1) {
- fos.write(buf, 0, len);
- }
- } catch (Exception e) {
- // 关流顺序,先打开的后关闭
- if (fos != null) {
- try {
- fos.close();
- } catch (Exception e1) {
- log.error("关闭流失败:" + e1);
- }
-
- }
- if (is != null) {
- try {
- is.close();
- } catch (Exception e2) {
- log.error("关闭流失败:" + e2);
- }
-
- }
-
- }
-
- }
- }
- } catch (Exception e) {
- throw new RuntimeException("unzip error from ZipUtils", e);
- } finally {
- if (zipFile != null) {
- try {
- zipFile.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- for (String zipPath : fileEntryNameList) {
- executor.execute(new Runnable() {
- @Override
- public void run() {
- if (FileUtil.isImageFile(FileUtil.getFileExtendName(zipPath))) {
- File file = new File(destDirPath + zipPath);
- File minFile = new File(destDirPath + FileUtil.getFileNameNotExtend(zipPath) + "_min." + FileUtil.getFileExtendName(zipPath));
- try {
- ImageOperation.thumbnailsImage(file, minFile, 300);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- });
-
- }
- List res = new ArrayList<>(set);
- return res;
- }
-
- /**
- * 解压rar
- *
- * @param sourceFile 需要解压的文件
- * @param destDirPath 目的路径
- * @throws Exception
- */
- public static List unrar(File sourceFile, String destDirPath) throws Exception {
- File destDir = new File(destDirPath);
- Set set = new HashSet();
- Archive archive = null;
- FileOutputStream fos = null;
- System.out.println("Starting 开始解压...");
- try {
- archive = new Archive(sourceFile);
- FileHeader fh = archive.nextFileHeader();
- int count = 0;
- File destFileName = null;
- while (fh != null) {
- set.add("/" + fh.getFileName());
- System.out.println((++count) + ") " + fh.getFileName());
- String compressFileName = fh.getFileName().trim();
- destFileName = new File(destDir.getAbsolutePath() + "/" + compressFileName);
- if (fh.isDirectory()) {
- if (!destFileName.exists()) {
- destFileName.mkdirs();
- }
- fh = archive.nextFileHeader();
- continue;
- }
- if (!destFileName.getParentFile().exists()) {
- destFileName.getParentFile().mkdirs();
- }
-
-
- fos = new FileOutputStream(destFileName);
- archive.extractFile(fh, fos);
- fos.close();
- fos = null;
- fh = archive.nextFileHeader();
- }
-
- archive.close();
- archive = null;
- System.out.println("Finished 解压完成!");
- } catch (Exception e) {
- throw e;
- } finally {
- if (fos != null) {
- try {
- fos.close();
- } catch (Exception e) {
- log.error("关闭流失败:" + e.getMessage());
- }
- }
- if (archive != null) {
- try {
- archive.close();
- } catch (Exception e) {
- log.error("关闭流失败:" + e.getMessage());
- }
- }
- }
-
-
- for (String zipPath : set) {
- executor.execute(new Runnable() {
- @Override
- public void run() {
- if (FileUtil.isImageFile(FileUtil.getFileExtendName(zipPath))) {
- File file = new File(destDirPath + zipPath);
- File minFile = new File(destDirPath + FileUtil.getFileNameNotExtend(zipPath) + "_min." + FileUtil.getFileExtendName(zipPath));
- try {
- ImageOperation.thumbnailsImage(file, minFile, 300);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- });
-
- }
- List res = new ArrayList<>(set);
- return res;
- }
-
- public static long deleteFileFromDisk(String fileurl) {
- String fileUrl = PathUtil.getStaticPath() + fileurl;
- String extendName = FileUtil.getFileExtendName(fileUrl);
- String minFileUrl = fileUrl.replace("." + extendName, "_min." + extendName);
- long filesize = getFileSize(fileUrl);
-
- FileOperation.deleteFile(fileUrl);
- FileOperation.deleteFile(minFileUrl);
-
- return filesize;
- }
-
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/ImageOperation.java b/file-common/src/main/java/com/qiwenshare/common/operation/ImageOperation.java
deleted file mode 100644
index 4f6820c..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/ImageOperation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.qiwenshare.common.operation;
-
-import net.coobird.thumbnailator.Thumbnails;
-
-import java.io.File;
-import java.io.IOException;
-
-public class ImageOperation {
- /**
- * 左旋
- * @param inFile 源文件
- * @param outFile 目的文件
- * @param angle 角度
- * @throws IOException io异常
- */
- public static void leftTotation(File inFile, File outFile, int angle) throws IOException {
- Thumbnails.of(inFile).scale(1).outputQuality(1).rotate(-angle).toFile(outFile);
- }
-
- /**
- * 右旋
- * @param inFile 源文件
- * @param outFile 目的文件
- * @param angle 角度
- * @throws IOException io异常
- */
- public static void rightTotation(File inFile, File outFile, int angle) throws IOException {
- Thumbnails.of(inFile).scale(1).outputQuality(1).rotate(angle).toFile(outFile);
- }
-
- /**
- * 压缩
- * @param inFile 源文件
- * @param outFile 目的文件
- * @throws IOException io异常
- */
- public static void thumbnailsImage(File inFile, File outFile, int imageSize) throws IOException {
-
- Thumbnails.of(inFile).size(imageSize, imageSize)
- .toFile(outFile);
-
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/delete/Deleter.java b/file-common/src/main/java/com/qiwenshare/common/operation/delete/Deleter.java
deleted file mode 100644
index cc233b0..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/delete/Deleter.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.qiwenshare.common.operation.delete;
-
-import com.qiwenshare.common.operation.delete.domain.DeleteFile;
-
-public abstract class Deleter {
- public abstract void delete(DeleteFile deleteFile);
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/delete/domain/DeleteFile.java b/file-common/src/main/java/com/qiwenshare/common/operation/delete/domain/DeleteFile.java
deleted file mode 100644
index 5f1f05a..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/delete/domain/DeleteFile.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.qiwenshare.common.operation.delete.domain;
-
-import lombok.Data;
-
-@Data
-public class DeleteFile {
- private String fileUrl;
- private String timeStampName;
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/AliyunOSSDeleter.java b/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/AliyunOSSDeleter.java
deleted file mode 100644
index 5c039ce..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/AliyunOSSDeleter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.qiwenshare.common.operation.delete.product;
-
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
-import com.qiwenshare.common.config.QiwenFileConfig;
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.delete.domain.DeleteFile;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-
-@Component
-public class AliyunOSSDeleter extends Deleter {
- @Resource
- QiwenFileConfig qiwenFileConfig;
- @Override
- public void delete(DeleteFile deleteFile) {
- String endpoint = qiwenFileConfig.getAliyun().getOss().getEndpoint();
- String accessKeyId = qiwenFileConfig.getAliyun().getOss().getAccessKeyId();
- String accessKeySecret = qiwenFileConfig.getAliyun().getOss().getAccessKeySecret();
- String bucketName = qiwenFileConfig.getAliyun().getOss().getBucketName();
- OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
-
- ossClient.deleteObject(bucketName, deleteFile.getFileUrl().substring(1));
-
-
-
- // 关闭OSSClient。
- ossClient.shutdown();
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/FastDFSDeleter.java b/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/FastDFSDeleter.java
deleted file mode 100644
index f3b80b9..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/FastDFSDeleter.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.qiwenshare.common.operation.delete.product;
-
-import com.github.tobato.fastdfs.service.FastFileStorageClient;
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.delete.domain.DeleteFile;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-@Component
-public class FastDFSDeleter extends Deleter {
- @Autowired
- private FastFileStorageClient fastFileStorageClient;
- @Override
- public void delete(DeleteFile deleteFile) {
- fastFileStorageClient.deleteFile(deleteFile.getFileUrl().replace("M00", "group1"));
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/LocalStorageDeleter.java b/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/LocalStorageDeleter.java
deleted file mode 100644
index 8043d08..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/delete/product/LocalStorageDeleter.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.qiwenshare.common.operation.delete.product;
-
-import com.qiwenshare.common.operation.delete.Deleter;
-import com.qiwenshare.common.operation.delete.domain.DeleteFile;
-import com.qiwenshare.common.operation.FileOperation;
-import com.qiwenshare.common.util.FileUtil;
-import com.qiwenshare.common.util.PathUtil;
-import org.springframework.stereotype.Component;
-
-@Component
-public class LocalStorageDeleter extends Deleter {
- @Override
- public void delete(DeleteFile deleteFile) {
- FileOperation.deleteFile(PathUtil.getStaticPath() + deleteFile.getFileUrl());
- if (FileUtil.isImageFile(FileUtil.getFileExtendName(deleteFile.getFileUrl()))) {
- FileOperation.deleteFile(PathUtil.getStaticPath() + deleteFile.getFileUrl().replace(deleteFile.getTimeStampName(), deleteFile.getTimeStampName() + "_min"));
- }
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/download/Downloader.java b/file-common/src/main/java/com/qiwenshare/common/operation/download/Downloader.java
deleted file mode 100644
index 61bf66d..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/download/Downloader.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.qiwenshare.common.operation.download;
-
-import com.qiwenshare.common.operation.download.domain.DownloadFile;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.InputStream;
-
-public abstract class Downloader {
- public abstract void download(HttpServletResponse httpServletResponse, DownloadFile uploadFile);
- public abstract InputStream getInputStream(DownloadFile downloadFile);
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/download/domain/DownloadFile.java b/file-common/src/main/java/com/qiwenshare/common/operation/download/domain/DownloadFile.java
deleted file mode 100644
index 02e690e..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/download/domain/DownloadFile.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.qiwenshare.common.operation.download.domain;
-
-import lombok.Data;
-
-@Data
-public class DownloadFile {
- private String fileUrl;
-// private String timeStampName;
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/download/product/AliyunOSSDownloader.java b/file-common/src/main/java/com/qiwenshare/common/operation/download/product/AliyunOSSDownloader.java
deleted file mode 100644
index c5c430c..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/download/product/AliyunOSSDownloader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.qiwenshare.common.operation.download.product;
-
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
-import com.aliyun.oss.model.OSSObject;
-import com.qiwenshare.common.config.QiwenFileConfig;
-import com.qiwenshare.common.domain.AliyunOSS;
-import com.qiwenshare.common.operation.download.domain.DownloadFile;
-import com.qiwenshare.common.operation.download.Downloader;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-@Component
-public class AliyunOSSDownloader extends Downloader {
- @Resource
- QiwenFileConfig qiwenFileConfig;
- @Override
- public void download(HttpServletResponse httpServletResponse, DownloadFile downloadFile) {
-
- BufferedInputStream bis = null;
- byte[] buffer = new byte[1024];
-
- OSS ossClient = createOSSClient(qiwenFileConfig.getAliyun().getOss());
- OSSObject ossObject = ossClient.getObject(qiwenFileConfig.getAliyun().getOss().getBucketName(),
- downloadFile.getFileUrl().substring(1));
- InputStream inputStream = ossObject.getObjectContent();
- try {
- bis = new BufferedInputStream(inputStream);
- OutputStream os = httpServletResponse.getOutputStream();
- int i = bis.read(buffer);
- while (i != -1) {
- os.write(buffer, 0, i);
- i = bis.read(buffer);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (bis != null) {
- try {
- bis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- }
- ossClient.shutdown();
- }
-
- @Override
- public InputStream getInputStream(DownloadFile downloadFile) {
- OSS ossClient = createOSSClient(qiwenFileConfig.getAliyun().getOss());
- OSSObject ossObject = ossClient.getObject(qiwenFileConfig.getAliyun().getOss().getBucketName(),
- downloadFile.getFileUrl().substring(1));
- InputStream inputStream = ossObject.getObjectContent();
- return inputStream;
- }
-
- public OSS createOSSClient(AliyunOSS aliyunOSS) {
- String endpoint = aliyunOSS.getEndpoint();
- String accessKeyId = aliyunOSS.getAccessKeyId();
- String accessKeySecret = aliyunOSS.getAccessKeySecret();
- OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
- return ossClient;
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/download/product/FastDFSDownloader.java b/file-common/src/main/java/com/qiwenshare/common/operation/download/product/FastDFSDownloader.java
deleted file mode 100644
index f5f671f..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/download/product/FastDFSDownloader.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.qiwenshare.common.operation.download.product;
-
-import com.github.tobato.fastdfs.proto.storage.DownloadByteArray;
-import com.github.tobato.fastdfs.service.FastFileStorageClient;
-import com.qiwenshare.common.operation.download.domain.DownloadFile;
-import com.qiwenshare.common.operation.download.Downloader;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-@Component
-public class FastDFSDownloader extends Downloader {
- @Autowired
- private FastFileStorageClient fastFileStorageClient;
- @Override
- public void download(HttpServletResponse httpServletResponse, DownloadFile downloadFile) {
- String group = downloadFile.getFileUrl().substring(0, downloadFile.getFileUrl().indexOf("/"));
- group = "group1";
- String path = downloadFile.getFileUrl().substring(downloadFile.getFileUrl().indexOf("/") + 1);
- DownloadByteArray downloadByteArray = new DownloadByteArray();
-
-
- ServletOutputStream outputStream = null;
- try {
- outputStream = httpServletResponse.getOutputStream();
- byte[] bytes = fastFileStorageClient.downloadFile(group, path, downloadByteArray);
- outputStream.write(bytes);
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (outputStream != null) {
- outputStream.flush();
- outputStream.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- @Override
- public InputStream getInputStream(DownloadFile downloadFile) {
- String group = downloadFile.getFileUrl().substring(0, downloadFile.getFileUrl().indexOf("/"));
- group = "group1";
- String path = downloadFile.getFileUrl().substring(downloadFile.getFileUrl().indexOf("/") + 1);
- DownloadByteArray downloadByteArray = new DownloadByteArray();
- byte[] bytes = fastFileStorageClient.downloadFile(group, path, downloadByteArray);
- InputStream inputStream = new ByteArrayInputStream(bytes);
- return inputStream;
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/download/product/LocalStorageDownloader.java b/file-common/src/main/java/com/qiwenshare/common/operation/download/product/LocalStorageDownloader.java
deleted file mode 100644
index f08f855..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/download/product/LocalStorageDownloader.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.qiwenshare.common.operation.download.product;
-
-import com.qiwenshare.common.operation.download.domain.DownloadFile;
-import com.qiwenshare.common.operation.FileOperation;
-import com.qiwenshare.common.operation.download.Downloader;
-import com.qiwenshare.common.util.PathUtil;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-
-@Component
-public class LocalStorageDownloader extends Downloader {
- @Override
- public void download(HttpServletResponse httpServletResponse, DownloadFile downloadFile) {
- BufferedInputStream bis = null;
- byte[] buffer = new byte[1024];
- //设置文件路径
- File file = FileOperation.newFile(PathUtil.getStaticPath() + downloadFile.getFileUrl());
- if (file.exists()) {
-
-
- FileInputStream fis = null;
-
- try {
- fis = new FileInputStream(file);
- bis = new BufferedInputStream(fis);
- OutputStream os = httpServletResponse.getOutputStream();
- int i = bis.read(buffer);
- while (i != -1) {
- os.write(buffer, 0, i);
- i = bis.read(buffer);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (bis != null) {
- try {
- bis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
-
- @Override
- public InputStream getInputStream(DownloadFile downloadFile) {
- //设置文件路径
- File file = FileOperation.newFile(PathUtil.getStaticPath() + downloadFile.getFileUrl());
- InputStream inputStream = null;
- try {
- inputStream = new FileInputStream(file);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- return inputStream;
-
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/upload/Uploader.java b/file-common/src/main/java/com/qiwenshare/common/operation/upload/Uploader.java
deleted file mode 100644
index e7647e6..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/upload/Uploader.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.qiwenshare.common.operation.upload;
-
-import com.qiwenshare.common.operation.upload.domain.UploadFile;
-import com.qiwenshare.common.util.PathUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-@Slf4j
-public abstract class Uploader {
-
-
- public static final String ROOT_PATH = "upload";
- public static final String FILE_SEPARATOR = "/";
- // 文件大小限制,单位KB
- public final int maxSize = 10000000;
-
- public abstract List upload(HttpServletRequest request, UploadFile uploadFile);
-
- /**
- * 获取本地文件保存路径
- *
- * @return
- */
- protected String getLocalFileSavePath() {
-
- String path = ROOT_PATH;
- SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd");
- path = FILE_SEPARATOR + path + FILE_SEPARATOR + formater.format(new Date());
-
- String staticPath = PathUtil.getStaticPath();
-
- File dir = new File(staticPath + path);
- //LOG.error(PathUtil.getStaticPath() + path);
- if (!dir.exists()) {
- try {
- boolean isSuccessMakeDir = dir.mkdirs();
- if (!isSuccessMakeDir) {
- log.error("目录创建失败:" + PathUtil.getStaticPath() + path);
- }
- } catch (Exception e) {
- log.error("目录创建失败" + PathUtil.getStaticPath() + path);
- return "";
- }
- }
- return path;
- }
-
- /**
- * 依据原始文件名生成新文件名
- *
- * @return
- */
- protected String getTimeStampName() {
- try {
- SecureRandom number = SecureRandom.getInstance("SHA1PRNG");
- return "" + number.nextInt(10000)
- + System.currentTimeMillis();
- } catch (NoSuchAlgorithmException e) {
- log.error("生成安全随机数失败");
- }
- return ""
- + System.currentTimeMillis();
-
- }
-
- public synchronized boolean checkUploadStatus(UploadFile param, File confFile) throws IOException {
- RandomAccessFile confAccessFile = new RandomAccessFile(confFile, "rw");
- //设置文件长度
- confAccessFile.setLength(param.getTotalChunks());
- //设置起始偏移量
- confAccessFile.seek(param.getChunkNumber() - 1);
- //将指定的一个字节写入文件中 127,
- confAccessFile.write(Byte.MAX_VALUE);
- byte[] completeStatusList = FileUtils.readFileToByteArray(confFile);
- confAccessFile.close();//不关闭会造成无法占用
- //创建conf文件文件长度为总分片数,每上传一个分块即向conf文件中写入一个127,那么没上传的位置就是默认的0,已上传的就是127
- for (int i = 0; i < completeStatusList.length; i++) {
- if (completeStatusList[i] != Byte.MAX_VALUE) {
- return false;
- }
- }
- confFile.delete();
- return true;
- }
-
- protected String getFileName(String fileName){
- if (!fileName.contains(".")) {
- return fileName;
- }
- return fileName.substring(0, fileName.lastIndexOf("."));
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/upload/domain/UploadFile.java b/file-common/src/main/java/com/qiwenshare/common/operation/upload/domain/UploadFile.java
deleted file mode 100644
index 4a57559..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/upload/domain/UploadFile.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.qiwenshare.common.operation.upload.domain;
-
-import lombok.Data;
-
-@Data
-public class UploadFile {
- private String fileName;
- private String fileType;
- private long fileSize;
- private String timeStampName;
- private int success;
- private String message;
- private String url;
- @Deprecated
- private Integer isOSS;
- private Integer storageType;
- //切片上传相关参数
- private String taskId;
- private int chunkNumber;
- private long chunkSize;
- private int totalChunks;
- private String identifier;
- private long totalSize;
- private long currentChunkSize;
-
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/AliyunOSSUploader.java b/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/AliyunOSSUploader.java
deleted file mode 100644
index 54a5690..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/AliyunOSSUploader.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package com.qiwenshare.common.operation.upload.product;
-
-import com.alibaba.fastjson.JSON;
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
-import com.aliyun.oss.model.*;
-import com.qiwenshare.common.config.QiwenFileConfig;
-import com.qiwenshare.common.operation.upload.domain.UploadFile;
-import com.qiwenshare.common.exception.UploadGeneralException;
-import com.qiwenshare.common.operation.upload.Uploader;
-import com.qiwenshare.common.util.FileUtil;
-import com.qiwenshare.common.util.PathUtil;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-//import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
-import org.springframework.stereotype.Component;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.util.*;
-@Slf4j
-@Component
-public class AliyunOSSUploader extends Uploader {
- @Resource
- QiwenFileConfig qiwenFileConfig;
-
-
- // partETags是PartETag的集合。PartETag由分片的ETag和分片号组成。
- public static Map> partETagsMap = new HashMap>();
- public static Map uploadPartRequestMap = new HashMap<>();
-
- public static Map ossMap = new HashMap<>();
-
- @Override
- public List upload(HttpServletRequest httpServletRequest, UploadFile uploadFile) {
- log.info("开始上传upload");
-
- List saveUploadFileList = new ArrayList<>();
- StandardMultipartHttpServletRequest request = (StandardMultipartHttpServletRequest) httpServletRequest;
-
- boolean isMultipart = ServletFileUpload.isMultipartContent(request);
- if (!isMultipart) {
- throw new UploadGeneralException("未包含文件上传域");
- }
-
- Iterator iter = request.getFileNames();
- while (iter.hasNext()) {
-
- saveUploadFileList = doUpload(request, iter, uploadFile);
- }
-
-
- log.info("结束上传");
- return saveUploadFileList;
- }
-
- private List doUpload(StandardMultipartHttpServletRequest standardMultipartHttpServletRequest, Iterator iter, UploadFile uploadFile) {
- String savePath = getLocalFileSavePath();
- OSS ossClient = getClient(uploadFile);
-
- List saveUploadFileList = new ArrayList<>();
-
- try {
- MultipartFile multipartfile = standardMultipartHttpServletRequest.getFile(iter.next());
-
- String timeStampName = getTimeStampName();
- String originalName = multipartfile.getOriginalFilename();
- String fileName = getFileName(originalName);
- String fileType = FileUtil.getFileExtendName(originalName);
- uploadFile.setFileName(fileName);
- uploadFile.setFileType(fileType);
- uploadFile.setTimeStampName(timeStampName);
-
- String ossFilePath = savePath + FILE_SEPARATOR + timeStampName + FILE_SEPARATOR + fileName + "." + fileType;
- String confFilePath = savePath + FILE_SEPARATOR + uploadFile.getIdentifier() + "." + "conf";
- File confFile = new File(PathUtil.getStaticPath() + FILE_SEPARATOR + confFilePath);
-
- synchronized (AliyunOSSUploader.class) {
- if (uploadPartRequestMap.get(uploadFile.getIdentifier()) == null) {
- InitiateMultipartUploadRequest request = new InitiateMultipartUploadRequest(qiwenFileConfig.getAliyun().getOss().getBucketName(), ossFilePath.substring(1));
- InitiateMultipartUploadResult upresult = ossClient.initiateMultipartUpload(request);
- String uploadId = upresult.getUploadId();
-
- UploadFileInfo uploadPartRequest = new UploadFileInfo();
- uploadPartRequest.setBucketName(qiwenFileConfig.getAliyun().getOss().getBucketName());
- uploadPartRequest.setKey(ossFilePath.substring(1));
- uploadPartRequest.setUploadId(uploadId);
- uploadPartRequestMap.put(uploadFile.getIdentifier(), uploadPartRequest);
- }
-
- }
-
- UploadFileInfo uploadFileInfo = uploadPartRequestMap.get(uploadFile.getIdentifier());
- UploadPartRequest uploadPartRequest = new UploadPartRequest();
- uploadPartRequest.setBucketName(uploadFileInfo.getBucketName());
- uploadPartRequest.setKey(uploadFileInfo.getKey());
- uploadPartRequest.setUploadId(uploadFileInfo.getUploadId());
- uploadPartRequest.setInputStream(multipartfile.getInputStream());
- uploadPartRequest.setPartSize(uploadFile.getCurrentChunkSize());
- uploadPartRequest.setPartNumber(uploadFile.getChunkNumber());
- log.info(JSON.toJSONString(uploadPartRequest));
-
- UploadPartResult uploadPartResult = ossClient.uploadPart(uploadPartRequest);
- synchronized (AliyunOSSUploader.class) {
- log.info("上传结果:" + JSON.toJSONString(uploadPartResult));
- if (partETagsMap.get(uploadFile.getIdentifier()) == null) {
- List partETags = new ArrayList();
- partETags.add(uploadPartResult.getPartETag());
- partETagsMap.put(uploadFile.getIdentifier(), partETags);
- } else {
- partETagsMap.get(uploadFile.getIdentifier()).add(uploadPartResult.getPartETag());
- }
- }
-
- boolean isComplete = checkUploadStatus(uploadFile, confFile);
- if (isComplete) {
- log.info("分片上传完成");
- completeMultipartUpload(uploadFile);
-
- uploadFile.setUrl("/" + uploadPartRequestMap.get(uploadFile.getIdentifier()).getKey());
- uploadFile.setSuccess(1);
- uploadFile.setMessage("上传成功");
- partETagsMap.remove(uploadFile.getIdentifier());
- uploadPartRequestMap.remove(uploadFile.getIdentifier());
- ossMap.remove(uploadFile.getIdentifier());
- } else {
- uploadFile.setSuccess(0);
- uploadFile.setMessage("未完成");
- }
-
- } catch (Exception e) {
- log.error("上传出错:" + e);
- throw new UploadGeneralException(e);
- }
-
- uploadFile.setIsOSS(1);
- uploadFile.setStorageType(1);
-
- uploadFile.setFileSize(uploadFile.getTotalSize());
- saveUploadFileList.add(uploadFile);
- return saveUploadFileList;
- }
-
- /**
- * 将文件分块进行升序排序并执行文件上传。
- */
- protected void completeMultipartUpload(UploadFile uploadFile) {
-
- List partETags = partETagsMap.get(uploadFile.getIdentifier());
- Collections.sort(partETags, Comparator.comparingInt(PartETag::getPartNumber));
- UploadFileInfo uploadFileInfo = uploadPartRequestMap.get(uploadFile.getIdentifier());
- CompleteMultipartUploadRequest completeMultipartUploadRequest =
- new CompleteMultipartUploadRequest(qiwenFileConfig.getAliyun().getOss().getBucketName(),
- uploadFileInfo.getKey(),
- uploadFileInfo.getUploadId(),
- partETags);
- log.info("----:" + JSON.toJSONString(partETags));
- // 完成上传。
- CompleteMultipartUploadResult completeMultipartUploadResult = getClient(uploadFile).completeMultipartUpload(completeMultipartUploadRequest);
- log.info("----:" + JSON.toJSONString(completeMultipartUploadRequest));
- getClient(uploadFile).shutdown();
-
-//
- }
-
- private void listFile(UploadFile uploadFile) {
- // 列举已上传的分片,其中uploadId来自于InitiateMultipartUpload返回的结果。
- ListPartsRequest listPartsRequest = new ListPartsRequest(qiwenFileConfig.getAliyun().getOss().getBucketName(), uploadPartRequestMap.get(uploadFile.getIdentifier()).getKey(), uploadPartRequestMap.get(uploadFile.getIdentifier()).getUploadId());
- // 设置uploadId。
- //listPartsRequest.setUploadId(uploadId);
- // 设置分页时每一页中分片数量为100个。默认列举1000个分片。
- listPartsRequest.setMaxParts(100);
- // 指定List的起始位置。只有分片号大于此参数值的分片会被列举。
-// listPartsRequest.setPartNumberMarker(1);
- PartListing partListing = getClient(uploadFile).listParts(listPartsRequest);
-
- for (PartSummary part : partListing.getParts()) {
- log.info("分片号:"+part.getPartNumber() + ", 分片数据大小: "+
- part.getSize() + ",分片的ETag:"+part.getETag()
- + ", 分片最后修改时间:"+ part.getLastModified());
- // 获取分片号。
- part.getPartNumber();
- // 获取分片数据大小。
- part.getSize();
- // 获取分片的ETag。
- part.getETag();
- // 获取分片的最后修改时间。
- part.getLastModified();
- }
-
- }
-
- /**
- * 取消上传
- */
- private void cancelUpload(UploadFile uploadFile) {
- AbortMultipartUploadRequest abortMultipartUploadRequest =
- new AbortMultipartUploadRequest(qiwenFileConfig.getAliyun().getOss().getBucketName(), uploadPartRequestMap.get(uploadFile.getIdentifier()).getKey(), uploadPartRequestMap.get(uploadFile.getIdentifier()).getUploadId());
- getClient(uploadFile).abortMultipartUpload(abortMultipartUploadRequest);
- }
-
- private synchronized OSS getClient(UploadFile uploadFile) {
- OSS ossClient = null;
- if (ossMap.get(uploadFile.getIdentifier()) == null) {
- ossClient = new OSSClientBuilder().build(qiwenFileConfig.getAliyun().getOss().getEndpoint(), qiwenFileConfig.getAliyun().getOss().getAccessKeyId(), qiwenFileConfig.getAliyun().getOss().getAccessKeySecret());
- ossMap.put(uploadFile.getIdentifier(), ossClient);
- } else {
- ossClient = ossMap.get(uploadFile.getIdentifier());
- }
- return ossClient;
- }
-
- @Data
- public class UploadFileInfo {
- private String bucketName;
- private String key;
- private String uploadId;
- }
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/FastDFSUploader.java b/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/FastDFSUploader.java
deleted file mode 100644
index 93ea3c2..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/FastDFSUploader.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package com.qiwenshare.common.operation.upload.product;
-
-import com.github.tobato.fastdfs.domain.StorePath;
-import com.github.tobato.fastdfs.service.AppendFileStorageClient;
-import com.qiwenshare.common.exception.UploadGeneralException;
-import com.qiwenshare.common.operation.upload.Uploader;
-import com.qiwenshare.common.operation.upload.domain.UploadFile;
-import com.qiwenshare.common.util.FileUtil;
-import com.qiwenshare.common.util.PathUtil;
-import com.qiwenshare.common.util.concurrent.locks.RedisLock;
-import com.qiwenshare.common.util.RedisUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
-import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
-import org.springframework.stereotype.Component;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@Component
-@Slf4j
-public class FastDFSUploader extends Uploader {
-
- @Resource
- AppendFileStorageClient defaultAppendFileStorageClient;
- @Resource
- RedisLock redisLock;
- @Resource
- RedisUtil redisUtil;
-
- @Override
- public List upload(HttpServletRequest request, UploadFile uploadFile) {
-
- List saveUploadFileList = new ArrayList<>();
- StandardMultipartHttpServletRequest standardMultipartHttpServletRequest = (StandardMultipartHttpServletRequest) request;
-
- boolean isMultipart = ServletFileUpload.isMultipartContent(standardMultipartHttpServletRequest);
- if (!isMultipart) {
- throw new UploadGeneralException("未包含文件上传域");
- }
-
- String savePath = getLocalFileSavePath();
-
- try {
-
- Iterator iter = standardMultipartHttpServletRequest.getFileNames();
- while (iter.hasNext()) {
- saveUploadFileList = doUpload(standardMultipartHttpServletRequest, savePath, iter, uploadFile);
- }
- } catch (Exception e) {
- throw new UploadGeneralException(e);
- }
-
- log.info("结束上传");
- return saveUploadFileList;
- }
-
-
- private List doUpload(StandardMultipartHttpServletRequest standardMultipartHttpServletRequest, String savePath, Iterator iter, UploadFile uploadFile) {
-
- List saveUploadFileList = new ArrayList<>();
-
- try {
- MultipartFile multipartfile = standardMultipartHttpServletRequest.getFile(iter.next());
-
- uploadFileChunk(multipartfile, uploadFile);
-
- String timeStampName = getTimeStampName();
- String originalName = multipartfile.getOriginalFilename();
-
- String fileName = getFileName(originalName);
-
- String fileType = FileUtil.getFileExtendName(originalName);
- uploadFile.setFileName(fileName);
- uploadFile.setFileType(fileType);
- uploadFile.setTimeStampName(timeStampName);
-
-
- String confFilePath = savePath + FILE_SEPARATOR + uploadFile.getIdentifier() + "." + "conf";
- File confFile = new File(PathUtil.getStaticPath() + FILE_SEPARATOR + confFilePath);
-
-
- boolean isComplete = checkUploadStatus(uploadFile, confFile);
- if (isComplete) {
- log.info("分片上传完成");
- String path = redisUtil.getObject(uploadFile.getIdentifier() + "_storage_path");
- uploadFile.setUrl(path);
- uploadFile.setSuccess(1);
- uploadFile.setMessage("上传成功");
- } else {
- uploadFile.setSuccess(0);
- uploadFile.setMessage("未完成");
- }
-
- } catch (Exception e) {
- throw new UploadGeneralException(e);
- }
-
- uploadFile.setIsOSS(0);
- uploadFile.setStorageType(2);
- uploadFile.setFileSize(uploadFile.getTotalSize());
- saveUploadFileList.add(uploadFile);
- return saveUploadFileList;
- }
-
- public void uploadFileChunk(MultipartFile multipartFile, UploadFile uploadFile) {
- redisLock.lock(uploadFile.getIdentifier());
- try {
-
- if (redisUtil.getObject(uploadFile.getIdentifier() + "_current_upload_chunk_number") == null) {
- redisUtil.set(uploadFile.getIdentifier() + "_current_upload_chunk_number", 1, 1000 * 60 * 60);
- }
-
- String currentUploadChunkNumber = redisUtil.getObject(uploadFile.getIdentifier() + "_current_upload_chunk_number");
- if (uploadFile.getChunkNumber() != Integer.parseInt(currentUploadChunkNumber)) {
- redisLock.unlock(uploadFile.getIdentifier());
- while (redisLock.tryLock(uploadFile.getIdentifier(), 300, TimeUnit.SECONDS)) {
- if (uploadFile.getChunkNumber() == Integer.parseInt(redisUtil.getObject(uploadFile.getIdentifier() + "_current_upload_chunk_number"))) {
- break;
- } else {
- redisLock.unlock(uploadFile.getIdentifier());
- }
- }
- }
-
- log.info("***********开始上传第{}块**********", uploadFile.getChunkNumber());
- StorePath storePath = null;
- redisUtil.getIncr(uploadFile.getIdentifier() + "_current_upload_chunk_number");
-
- if (uploadFile.getChunkNumber() <= 1) {
- log.info("上传第一块");
-
- storePath = defaultAppendFileStorageClient.uploadAppenderFile("group1", multipartFile.getInputStream(),
- multipartFile.getSize(), FileUtil.getFileExtendName(multipartFile.getOriginalFilename()));
- // 记录第一个分片上传的大小
- redisUtil.set(uploadFile.getIdentifier() + "_uploaded_size", uploadFile.getCurrentChunkSize(), 1000 * 60 * 60);
-
- log.info("第一块上传完成");
- if (storePath == null) {
- redisUtil.set(uploadFile.getIdentifier() + "_current_upload_chunk_number", uploadFile.getChunkNumber(), 1000 * 60 * 60);
-
- log.info("获取远程文件路径出错");
- throw new UploadGeneralException("获取远程文件路径出错");
- }
-
- redisUtil.set(uploadFile.getIdentifier() + "_storage_path", storePath.getPath(), 1000 * 60 * 60);
-
- log.info("上传文件 result = {}", storePath.getPath());
- } else {
- log.info("正在上传第{}块:" , uploadFile.getChunkNumber());
-
- String path = redisUtil.getObject(uploadFile.getIdentifier() + "_storage_path");
-
- if (path == null) {
- log.error("无法获取已上传服务器文件地址");
- throw new UploadGeneralException("无法获取已上传服务器文件地址");
- }
-
- String uploadedSizeStr = redisUtil.getObject(uploadFile.getIdentifier() + "_uploaded_size");
- Long alreadySize = Long.parseLong(uploadedSizeStr);
-
- // 追加方式实际实用如果中途出错多次,可能会出现重复追加情况,这里改成修改模式,即时多次传来重复文件块,依然可以保证文件拼接正确
- defaultAppendFileStorageClient.modifyFile("group1", path, multipartFile.getInputStream(),
- multipartFile.getSize(), alreadySize);
- // 记录分片上传的大小
- redisUtil.set(uploadFile.getIdentifier() + "_uploaded_size", alreadySize + multipartFile.getSize(), 1000 * 60 * 60);
-
- }
- log.info("***********第{}块上传成功**********", uploadFile.getChunkNumber());
- } catch (Exception e) {
- log.error("***********第{}块上传失败,自动重试**********", uploadFile.getChunkNumber());
- redisUtil.set(uploadFile.getIdentifier() + "_current_upload_chunk_number", uploadFile.getChunkNumber(), 1000 * 60 * 60);
- throw new UploadGeneralException("更新远程文件出错", e);
- } finally {
- redisLock.unlock(uploadFile.getIdentifier());
- }
-
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/LocalStorageUploader.java b/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/LocalStorageUploader.java
deleted file mode 100644
index aab6d6d..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/operation/upload/product/LocalStorageUploader.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package com.qiwenshare.common.operation.upload.product;
-
-import com.qiwenshare.common.exception.NotSameFileExpection;
-import com.qiwenshare.common.operation.upload.domain.UploadFile;
-import com.qiwenshare.common.exception.UploadGeneralException;
-import com.qiwenshare.common.operation.ImageOperation;
-import com.qiwenshare.common.operation.upload.Uploader;
-import com.qiwenshare.common.util.FileUtil;
-import com.qiwenshare.common.util.PathUtil;
-import org.apache.commons.codec.digest.DigestUtils;
-//import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.*;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.UUID;
-@Component
-public class LocalStorageUploader extends Uploader {
-
- @Override
- public List upload(HttpServletRequest httpServletRequest,UploadFile uploadFile) {
- List saveUploadFileList = new ArrayList();
- StandardMultipartHttpServletRequest standardMultipartHttpServletRequest = (StandardMultipartHttpServletRequest) httpServletRequest;
- boolean isMultipart = ServletFileUpload.isMultipartContent(standardMultipartHttpServletRequest);
- if (!isMultipart) {
- throw new UploadGeneralException("未包含文件上传域");
- }
-
- try {
-
- Iterator iter = standardMultipartHttpServletRequest.getFileNames();
- while (iter.hasNext()) {
- saveUploadFileList = doUpload(standardMultipartHttpServletRequest, iter, uploadFile);
- }
- } catch (IOException e) {
- throw new UploadGeneralException("未包含文件上传域");
- } catch (NotSameFileExpection notSameFileExpection) {
- notSameFileExpection.printStackTrace();
- }
- return saveUploadFileList;
- }
-
- private List doUpload(StandardMultipartHttpServletRequest standardMultipartHttpServletRequest, Iterator iter, UploadFile uploadFile) throws IOException, NotSameFileExpection {
- String savePath = getLocalFileSavePath();
- List saveUploadFileList = new ArrayList();
- MultipartFile multipartfile = standardMultipartHttpServletRequest.getFile(iter.next());
-
- String timeStampName = uploadFile.getIdentifier();
-
- String originalName = multipartfile.getOriginalFilename();
-
- String fileName = getFileName(originalName);
- String fileType = FileUtil.getFileExtendName(originalName);
- uploadFile.setFileName(fileName);
- uploadFile.setFileType(fileType);
- uploadFile.setTimeStampName(timeStampName);
-
- String saveFilePath = savePath + FILE_SEPARATOR + timeStampName + "." + fileType;
- String tempFilePath = savePath + FILE_SEPARATOR + timeStampName + "." + fileType + "_tmp";
- String minFilePath = savePath + FILE_SEPARATOR + timeStampName + "_min" + "." + fileType;
- String confFilePath = savePath + FILE_SEPARATOR + timeStampName + "." + "conf";
- File file = new File(PathUtil.getStaticPath() + FILE_SEPARATOR + saveFilePath);
- File tempFile = new File(PathUtil.getStaticPath() + FILE_SEPARATOR + tempFilePath);
- File minFile = new File(PathUtil.getStaticPath() + FILE_SEPARATOR + minFilePath);
- File confFile = new File(PathUtil.getStaticPath() + FILE_SEPARATOR + confFilePath);
- uploadFile.setIsOSS(0);
- uploadFile.setStorageType(0);
- uploadFile.setUrl(saveFilePath);
-
- if (StringUtils.isEmpty(uploadFile.getTaskId())) {
- uploadFile.setTaskId(UUID.randomUUID().toString());
- }
-
- //第一步 打开将要写入的文件
- RandomAccessFile raf = new RandomAccessFile(tempFile, "rw");
- //第二步 打开通道
- FileChannel fileChannel = raf.getChannel();
- //第三步 计算偏移量
- long position = (uploadFile.getChunkNumber() - 1) * uploadFile.getChunkSize();
- //第四步 获取分片数据
- byte[] fileData = multipartfile.getBytes();
- //第五步 写入数据
- fileChannel.position(position);
- fileChannel.write(ByteBuffer.wrap(fileData));
- fileChannel.force(true);
- fileChannel.close();
- raf.close();
- //判断是否完成文件的传输并进行校验与重命名
- boolean isComplete = checkUploadStatus(uploadFile, confFile);
- if (isComplete) {
- FileInputStream fileInputStream = new FileInputStream(tempFile.getPath());
- String md5 = DigestUtils.md5Hex(fileInputStream);
- fileInputStream.close();
- if (StringUtils.isNotBlank(md5) && !md5.equals(uploadFile.getIdentifier())) {
- throw new NotSameFileExpection();
- }
- tempFile.renameTo(file);
- if (FileUtil.isImageFile(uploadFile.getFileType())){
- ImageOperation.thumbnailsImage(file, minFile, 300);
- }
-
- uploadFile.setSuccess(1);
- uploadFile.setMessage("上传成功");
- } else {
- uploadFile.setSuccess(0);
- uploadFile.setMessage("未完成");
- }
- uploadFile.setFileSize(uploadFile.getTotalSize());
- saveUploadFileList.add(uploadFile);
-
- return saveUploadFileList;
- }
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/result/RestResult.java b/file-common/src/main/java/com/qiwenshare/common/result/RestResult.java
deleted file mode 100644
index 361f3fd..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/result/RestResult.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.qiwenshare.common.result;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-/**
- * 统一结果返回
- * @param
- */
-@Data
-@Schema(name = "统一结果返回",required = true)
-public class RestResult {
- @Schema(description = "请求是否成功", example = "true")
- private Boolean success = true;
- @Schema(description = "返回码", example = "20000")
- private Integer code;
- @Schema(description = "返回信息", example = "成功")
- private String message;
- @Schema(description = "返回数据")
- private T data;
-
- // 通用返回成功
- public static RestResult success() {
- RestResult r = new RestResult();
- r.setSuccess(ResultCodeEnum.SUCCESS.getSuccess());
- r.setCode(ResultCodeEnum.SUCCESS.getCode());
- r.setMessage(ResultCodeEnum.SUCCESS.getMessage());
- return r;
- }
-
- // 通用返回失败,未知错误
- public static RestResult fail() {
- RestResult r = new RestResult();
- r.setSuccess(ResultCodeEnum.UNKNOWN_ERROR.getSuccess());
- r.setCode(ResultCodeEnum.UNKNOWN_ERROR.getCode());
- r.setMessage(ResultCodeEnum.UNKNOWN_ERROR.getMessage());
- return r;
- }
-
- // 设置结果,形参为结果枚举
- public static RestResult setResult(ResultCodeEnum result) {
- RestResult r = new RestResult();
- r.setSuccess(result.getSuccess());
- r.setCode(result.getCode());
- r.setMessage(result.getMessage());
- return r;
- }
-
- // 自定义返回数据
- public RestResult data(T param) {
- this.setData(param);
- return this;
- }
-
- // 自定义状态信息
- public RestResult message(String message) {
- this.setMessage(message);
- return this;
- }
-
- // 自定义状态码
- public RestResult code(Integer code) {
- this.setCode(code);
- return this;
- }
-
- // 自定义返回结果
- public RestResult success(Boolean success) {
- this.setSuccess(success);
- return this;
- }
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/result/ResultCodeEnum.java b/file-common/src/main/java/com/qiwenshare/common/result/ResultCodeEnum.java
deleted file mode 100644
index 46ac16a..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/result/ResultCodeEnum.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.qiwenshare.common.result;
-
-import lombok.Getter;
-
-/**
- * 结果类枚举
- */
-@Getter
-public enum ResultCodeEnum {
- SUCCESS(true,20000,"成功"),
- UNKNOWN_ERROR(false,20001,"未知错误"),
- PARAM_ERROR(false,20002,"参数错误"),
- NULL_POINT(false, 20003, "空指针异常"),
- INDEX_OUT_OF_BOUNDS(false, 20004, "下标越界异常"),
- REQUEST_TIMEOUT(false, 20005, "请求超时"),
- NOT_LOGIN_ERROR(false, 20006, "未登录异常"),
- ;
-
- // 响应是否成功
- private Boolean success;
- // 响应状态码
- private Integer code;
- // 响应信息
- private String message;
-
- ResultCodeEnum(boolean success, Integer code, String message) {
- this.success = success;
- this.code = code;
- this.message = message;
- }
-}
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/CollectUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/CollectUtil.java
deleted file mode 100644
index e8fd047..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/CollectUtil.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.qiwenshare.common.util;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.http.HttpServletRequest;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-/**
- * 通信工具类
- *
- * @author ma116
- */
-public class CollectUtil {
-
- private static final Logger LOG = LoggerFactory.getLogger(CollectUtil.class);
-
- /**
- * java 后台获取访问客户端ip地址
- *
- * @param request HttpServletRequest请求
- * @return IP地址
- */
- public String getClientIpAddress(HttpServletRequest request) {
- String clientIp = request.getHeader("x-forwarded-for");
- if (clientIp == null || clientIp.length() == 0
- || "unknown".equalsIgnoreCase(clientIp)) {
- clientIp = request.getHeader("Proxy-Client-IP");
- }
- if (clientIp == null || clientIp.length() == 0
- || "unknown".equalsIgnoreCase(clientIp)) {
- clientIp = request.getHeader("WL-Proxy-Client-IP");
- }
- if (clientIp == null || clientIp.length() == 0
- || "unknown".equalsIgnoreCase(clientIp)) {
- clientIp = request.getRemoteAddr();
- }
- return clientIp;
- }
-
- /**
- * 获取本地IP
- *
- * @return IP地址
- */
- public String getLocalIp() {
- InetAddress addr = null;
- String ip = "";
- try {
- addr = InetAddress.getLocalHost();
- } catch (UnknownHostException e) {
- LOG.error("获取本地IP失败");
- }
- if (addr != null) {
- ip = addr.getHostAddress().toString();
- }
- return ip;
- }
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/DateUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/DateUtil.java
deleted file mode 100644
index 2df5b2e..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/DateUtil.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.qiwenshare.common.util;
-
-import cn.hutool.captcha.generator.RandomGenerator;
-import cn.hutool.core.util.RandomUtil;
-import org.apache.commons.lang3.RandomUtils;
-
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-public class DateUtil {
-
- /**
- * 获取系统当前时间
- *
- * @return 系统当前时间
- */
- public static String getCurrentTime() {
- Date date = new Date();
- String stringDate = String.format("%tF % getFileExtendsByType(int fileType) {
-
- List fileExtends;
- switch (fileType) {
- case IMAGE_TYPE:
- fileExtends = Arrays.asList(IMG_FILE);
- break;
- case DOC_TYPE:
- fileExtends = Arrays.asList(DOC_FILE);
- break;
- case VIDEO_TYPE:
- fileExtends = Arrays.asList(VIDEO_FILE);
- break;
- case MUSIC_TYPE:
- fileExtends = Arrays.asList(MUSIC_FILE);
- break;
- default:
- fileExtends = new ArrayList<>();
- break;
-
-
- }
- return fileExtends;
- }
-
- /**
- * 判断是否为图片文件
- *
- * @param extendName 文件扩展名
- * @return 是否为图片文件
- */
- public static boolean isImageFile(String extendName) {
- for (int i = 0; i < IMG_FILE.length; i++) {
- if (extendName.equalsIgnoreCase(IMG_FILE[i])) {
- return true;
- }
- }
- return false;
- }
-
-
-
- public static String pathSplitFormat(String filePath) {
- String path = filePath.replace("///", "/")
- .replace("//", "/")
- .replace("\\\\\\", "\\")
- .replace("\\\\", "\\");
- return path;
- }
-
- /**
- * 获取文件扩展名
- * @param fileName 文件名
- * @return 文件扩展名
- */
- public static String getFileExtendName(String fileName) {
- if (fileName.lastIndexOf(".") == -1) {
- return "";
- }
- return fileName.substring(fileName.lastIndexOf(".") + 1);
- }
-
- /**
- * 获取不包含扩展名的文件名
- *
- * @param fileName 文件名
- * @return 文件名(不带扩展名)
- */
- public static String getFileNameNotExtend(String fileName) {
- String fileType = getFileExtendName(fileName);
- return fileName.replace("." + fileType, "");
- }
-
-
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/JjwtUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/JjwtUtil.java
deleted file mode 100644
index 59f0fa9..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/JjwtUtil.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.qiwenshare.common.util;
-
-import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.JwtBuilder;
-import io.jsonwebtoken.Jwts;
-import io.jsonwebtoken.SignatureAlgorithm;
-import org.apache.commons.codec.binary.Base64;
-//import org.apache.commons.net.util.Base64;
-
-import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-public class JjwtUtil {
-
- // jti:jwt的唯一身份标识
- public static final String JWT_ID = UUID.randomUUID().toString();
-
- // 加密密文,私钥
- public static final String JWT_SECRET = "jiamimiwen";
-
- // 过期时间,单位毫秒
- public static final int EXPIRE_TIME = 60 * 60 * 1000 * 24 * 7; // 一个星期
-
- // 由字符串生成加密key
- public static SecretKey generalKey() {
- String secret = JWT_SECRET;
- // 本地的密码解码
- byte[] encodedKey = Base64.decodeBase64(JWT_SECRET);
- // 根据给定的字节数组使用AES加密算法构造一个密钥
- SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");
- return key;
- }
-
- // 创建jwt
- public static String createJWT(String issuer, String audience, String subject) throws Exception {
- // 设置头部信息
-// Map header = new HashMap();
-// header.put("typ", "JWT");
-// header.put("alg", "HS256");
- // 或
- // 指定header那部分签名的时候使用的签名算法,jjwt已经将这部分内容封装好了,只有{"alg":"HS256"}
- SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
- // 创建payload的私有声明(根据特定的业务需要添加,如果要拿这个做验证,一般是需要和jwt的接收方提前沟通好验证的方式)
- Map claims = new HashMap<>(2);
- claims.put("username", "admin");
- claims.put("password", "010203");
- // jti用户id,例如:20da39f8-b74e-4a9b-9a0f-a39f1f73fe64
- String jwtId = JWT_ID;
- // 生成JWT的时间
- long nowTime = System.currentTimeMillis();
- Date issuedAt = new Date(nowTime);
- // 生成签名的时候使用的秘钥secret,切记这个秘钥不能外露,是你服务端的私钥,在任何场景都不应该流露出去,一旦客户端得知这个secret,那就意味着客户端是可以自我签发jwt的
- SecretKey key = generalKey();
- // 为payload添加各种标准声明和私有声明
- JwtBuilder builder = Jwts.builder() // 表示new一个JwtBuilder,设置jwt的body
-// .setHeader(header) // 设置头部信息
- .setClaims(claims) // 如果有私有声明,一定要先设置自己创建的这个私有声明,这是给builder的claim赋值,一旦写在标准的声明赋值之后,就是覆盖了那些标准的声明
- .setId(jwtId) // jti(JWT ID):jwt的唯一身份标识,根据业务需要,可以设置为一个不重复的值,主要用来作为一次性token,从而回避重放攻击
- .setIssuedAt(issuedAt) // iat(issuedAt):jwt的签发时间
- .setIssuer(issuer) // iss(issuer):jwt签发者
- .setSubject(subject) // sub(subject):jwt所面向的用户,放登录的用户名,一个json格式的字符串,可存放userid,roldid之类,作为用户的唯一标志
- .signWith(signatureAlgorithm, key); // 设置签名,使用的是签名算法和签名使用的秘钥
- // 设置过期时间
- long expTime = EXPIRE_TIME;
- if (expTime >= 0) {
- long exp = nowTime + expTime;
- builder.setExpiration(new Date(exp));
- }
- // 设置jwt接收者
- if (audience == null || "".equals(audience)) {
- builder.setAudience("Tom");
- } else {
- builder.setAudience(audience);
- }
- return builder.compact();
- }
-
- // 解密jwt
- public static Claims parseJWT(String jwt) throws Exception {
- SecretKey key = generalKey(); // 签名秘钥,和生成的签名的秘钥一模一样
- Claims claims = Jwts.parser() // 得到DefaultJwtParser
- .setSigningKey(key) // 设置签名的秘钥
- .parseClaimsJws(jwt).getBody(); // 设置需要解析的jwt
- return claims;
- }
-
-
-}
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/MimeUtils.java b/file-common/src/main/java/com/qiwenshare/common/util/MimeUtils.java
deleted file mode 100644
index 6ca33df..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/MimeUtils.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package com.qiwenshare.common.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MimeUtils {
-
- public static String getMime(String suffix){
- return map.get(suffix);
- }
- private static Map map=new HashMap();
- static{
- map.put("323","text/h323");
- map.put("acx","application/internet-property-stream");
- map.put("ai","application/postscript");
- map.put("aif","audio/x-aiff");
- map.put("aifc","audio/x-aiff");
- map.put("aiff","audio/x-aiff");
- map.put("asf","video/x-ms-asf");
- map.put("asr","video/x-ms-asf");
- map.put("asx","video/x-ms-asf");
- map.put("au","audio/basic");
- map.put("avi","video/x-msvideo");
- map.put("axs","application/olescript");
- map.put("bas","text/plain");
- map.put("bcpio","application/x-bcpio");
- map.put("bin","application/octet-stream");
- map.put("bmp","image/bmp");
- map.put("c","text/plain");
- map.put("cat","application/vnd.ms-pkiseccat");
- map.put("cdf","application/x-cdf");
- map.put("cer","application/x-x509-ca-cert");
- map.put("class","application/octet-stream");
- map.put("clp","application/x-msclip");
- map.put("cmx","image/x-cmx");
- map.put("cod","image/cis-cod");
- map.put("cpio","application/x-cpio");
- map.put("crd","application/x-mscardfile");
- map.put("crl","application/pkix-crl");
- map.put("crt","application/x-x509-ca-cert");
- map.put("csh","application/x-csh");
- map.put("css","text/css");
- map.put("dcr","application/x-director");
- map.put("der","application/x-x509-ca-cert");
- map.put("dir","application/x-director");
- map.put("dll","application/x-msdownload");
- map.put("dms","application/octet-stream");
- map.put("doc","application/msword");
- map.put("dot","application/msword");
- map.put("dvi","application/x-dvi");
- map.put("dxr","application/x-director");
- map.put("eps","application/postscript");
- map.put("etx","text/x-setext");
- map.put("evy","application/envoy");
- map.put("exe","application/octet-stream");
- map.put("fif","application/fractals");
- map.put("flr","x-world/x-vrml");
- map.put("gif","image/gif");
- map.put("gtar","application/x-gtar");
- map.put("gz","application/x-gzip");
- map.put("h","text/plain");
- map.put("hdf","application/x-hdf");
- map.put("hlp","application/winhlp");
- map.put("hqx","application/mac-binhex40");
- map.put("hta","application/hta");
- map.put("htc","text/x-component");
- map.put("htm","text/plain");
- map.put("html","text/plain");
- map.put("htt","text/webviewhtml");
- map.put("ico","image/x-icon");
- map.put("ief","image/ief");
- map.put("iii","application/x-iphone");
- map.put("ins","application/x-internet-signup");
- map.put("isp","application/x-internet-signup");
- map.put("jfif","image/pipeg");
- map.put("jpe","image/jpeg");
- map.put("jpeg","image/jpeg");
- map.put("jpg","image/jpeg");
- map.put("js","application/x-javascript");
- map.put("latex","application/x-latex");
- map.put("lha","application/octet-stream");
- map.put("lsf","video/x-la-asf");
- map.put("lsx","video/x-la-asf");
- map.put("lzh","application/octet-stream");
- map.put("m13","application/x-msmediaview");
- map.put("m14","application/x-msmediaview");
- map.put("m3u","audio/x-mpegurl");
- map.put("man","application/x-troff-man");
- map.put("mdb","application/x-msaccess");
- map.put("me","application/x-troff-me");
- map.put("mht","message/rfc822");
- map.put("mhtml","message/rfc822");
- map.put("mid","audio/mid");
- map.put("mny","application/x-msmoney");
- map.put("mov","video/quicktime");
- map.put("movie","video/x-sgi-movie");
- map.put("mp2","video/mpeg");
- map.put("mp3","audio/mpeg");
- map.put("mp4","video/mp4");
- map.put("mpa","video/mpeg");
- map.put("mpe","video/mpeg");
- map.put("mpeg","video/mpeg");
- map.put("mpg","video/mpeg");
- map.put("mpp","application/vnd.ms-project");
- map.put("mpv2","video/mpeg");
- map.put("ms","application/x-troff-ms");
- map.put("mvb","application/x-msmediaview");
- map.put("nws","message/rfc822");
- map.put("oda","application/oda");
- map.put("p10","application/pkcs10");
- map.put("p12","application/x-pkcs12");
- map.put("p7b","application/x-pkcs7-certificates");
- map.put("p7c","application/x-pkcs7-mime");
- map.put("p7m","application/x-pkcs7-mime");
- map.put("p7r","application/x-pkcs7-certreqresp");
- map.put("p7s","application/x-pkcs7-signature");
- map.put("pbm","image/x-portable-bitmap");
- map.put("pdf","application/pdf");
- map.put("pfx","application/x-pkcs12");
- map.put("pgm","image/x-portable-graymap");
- map.put("pko","application/ynd.ms-pkipko");
- map.put("pma","application/x-perfmon");
- map.put("pmc","application/x-perfmon");
- map.put("pml","application/x-perfmon");
- map.put("pmr","application/x-perfmon");
- map.put("pmw","application/x-perfmon");
- map.put("pnm","image/x-portable-anymap");
- map.put("pot,","application/vnd.ms-powerpoint");
- map.put("ppm","image/x-portable-pixmap");
- map.put("pps","application/vnd.ms-powerpoint");
- map.put("ppt","application/vnd.ms-powerpoint");
- map.put("prf","application/pics-rules");
- map.put("ps","application/postscript");
- map.put("pub","application/x-mspublisher");
- map.put("qt","video/quicktime");
- map.put("ra","audio/x-pn-realaudio");
- map.put("ram","audio/x-pn-realaudio");
- map.put("ras","image/x-cmu-raster");
- map.put("rgb","image/x-rgb");
- map.put("rmi","audio/mid");
- map.put("roff","application/x-troff");
- map.put("rtf","application/rtf");
- map.put("rtx","text/richtext");
- map.put("scd","application/x-msschedule");
- map.put("sct","text/scriptlet");
- map.put("setpay","application/set-payment-initiation");
- map.put("setreg","application/set-registration-initiation");
- map.put("sh","application/x-sh");
- map.put("shar","application/x-shar");
- map.put("sit","application/x-stuffit");
- map.put("snd","audio/basic");
- map.put("spc","application/x-pkcs7-certificates");
- map.put("spl","application/futuresplash");
- map.put("src","application/x-wais-source");
- map.put("sst","application/vnd.ms-pkicertstore");
- map.put("stl","application/vnd.ms-pkistl");
- map.put("stm","text/html");
- map.put("svg","image/svg+xml");
- map.put("sv4cpio","application/x-sv4cpio");
- map.put("sv4crc","application/x-sv4crc");
- map.put("swf","application/x-shockwave-flash");
- map.put("t","application/x-troff");
- map.put("tar","application/x-tar");
- map.put("tcl","application/x-tcl");
- map.put("tex","application/x-tex");
- map.put("texi","application/x-texinfo");
- map.put("texinfo","application/x-texinfo");
- map.put("tgz","application/x-compressed");
- map.put("tif","image/tiff");
- map.put("tiff","image/tiff");
- map.put("tr","application/x-troff");
- map.put("trm","application/x-msterminal");
- map.put("tsv","text/tab-separated-values");
- map.put("txt","text/plain");
- map.put("uls","text/iuls");
- map.put("ustar","application/x-ustar");
- map.put("vcf","text/x-vcard");
- map.put("vrml","x-world/x-vrml");
- map.put("wav","audio/x-wav");
- map.put("wcm","application/vnd.ms-works");
- map.put("wdb","application/vnd.ms-works");
- map.put("wks","application/vnd.ms-works");
- map.put("wmf","application/x-msmetafile");
- map.put("wps","application/vnd.ms-works");
- map.put("wri","application/x-mswrite");
- map.put("wrl","x-world/x-vrml");
- map.put("wrz","x-world/x-vrml");
- map.put("xaf","x-world/x-vrml");
- map.put("xbm","image/x-xbitmap");
- map.put("xla","application/vnd.ms-excel");
- map.put("xlc","application/vnd.ms-excel");
- map.put("xlm","application/vnd.ms-excel");
- map.put("xls","application/vnd.ms-excel");
- map.put("xlt","application/vnd.ms-excel");
- map.put("xlw","application/vnd.ms-excel");
- map.put("xof","x-world/x-vrml");
- map.put("xpm","image/x-xpixmap");
- map.put("xwd","image/x-xwindowdump");
- map.put("z","application/x-compress");
- map.put("zip","application/zip");
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/PasswordUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/PasswordUtil.java
deleted file mode 100644
index 7fb3e8e..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/PasswordUtil.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.qiwenshare.common.util;
-
-import java.util.Random;
-
-public class PasswordUtil {
- public static String getSaltValue() {
- Random r = new Random();
- StringBuilder sb = new StringBuilder(16);
- sb.append(r.nextInt(99999999)).append(r.nextInt(99999999));
- int len = sb.length();
- if (len < 16) {
- for (int i = 0; i < 16 - len; i++) {
- sb.append("0");
- }
- }
- String salt = sb.toString();
- return salt;
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/PathUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/PathUtil.java
deleted file mode 100644
index 3c09799..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/PathUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.qiwenshare.common.util;
-
-import cn.hutool.core.util.RandomUtil;
-import com.qiwenshare.common.constant.FileConstant;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.util.ResourceUtils;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
-public class PathUtil {
- /**
- * 获取项目所在的根目录路径 resources路径
- * @return
- */
- public static String getProjectRootPath() {
- String absolutePath = null;
- try {
- String url = ResourceUtils.getURL("classpath:").getPath();
- absolutePath = urlDecode(new File(url).getAbsolutePath()) + File.separator;
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
-
- return absolutePath;
- }
-
- /**
- * 路径解码
- * @param url
- * @return
- */
- public static String urlDecode(String url){
- String decodeUrl = null;
- try {
- decodeUrl = URLDecoder.decode(url, "utf-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return decodeUrl;
- }
-
- /**
- * 得到static路径
- *
- * @return
- */
- public static String getStaticPath() {
- String localStoragePath = PropertiesUtil.getProperty("qiwen-file.local-storage-path");
- if (StringUtils.isNotEmpty(localStoragePath)) {
- return localStoragePath;
- }else {
- String projectRootAbsolutePath = getProjectRootPath();
-
- int index = projectRootAbsolutePath.indexOf("file:");
- if (index != -1) {
- projectRootAbsolutePath = projectRootAbsolutePath.substring(0, index);
- }
-
- return projectRootAbsolutePath + "static" + File.separator;
- }
-
-
- }
-
-
- public static String getParentPath(String path) {
- return path.substring(0, path.lastIndexOf(FileConstant.pathSeparator));
- }
-
- public static void main(String[] args) {
- System.out.println(RandomUtil.randomLong(999999));
-// String path = "aaa/bbb/ccc/";
-// System.out.println(getParentPath(path));
-// String fileName = path.substring(path.lastIndexOf("/"));
-// System.out.println(fileName);
- }
-}
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/PropertiesUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/PropertiesUtil.java
deleted file mode 100644
index 997820c..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/PropertiesUtil.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.qiwenshare.common.util;
-
-import org.springframework.core.env.Environment;
-
-public class PropertiesUtil {
-
- private static Environment env = null;
-
- public static void setEnvironment(Environment env) {
- PropertiesUtil.env = env;
- }
-
- public static String getProperty(String key) {
- return PropertiesUtil.env.getProperty(key);
- }
-
-
-}
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/RedisUtil.java b/file-common/src/main/java/com/qiwenshare/common/util/RedisUtil.java
deleted file mode 100644
index 725a279..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/RedisUtil.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.qiwenshare.common.util;
-
-import io.netty.util.internal.StringUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.dao.DataAccessException;
-import org.springframework.data.redis.core.RedisOperations;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.SessionCallback;
-import org.springframework.data.redis.support.atomic.RedisAtomicLong;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.Lock;
-
-@Component
-@Slf4j
-public class RedisUtil {
-
- @Resource
- RedisTemplate redisTemplate;
-
- /**
- * 将值放入缓存
- */
- public void set(String key, Object value) {
- redisTemplate.opsForValue().set(key, value);
- }
-
- /**
- * 字符串:取对象
- */
- public T getObject(String key) {
- Object o = redisTemplate.opsForValue().get(key);
- if (o != null) {
- return (T) o;
- }
- return null;
- }
-
- /**
- * 将值放入缓存并设置时间-秒
- */
- public void set(String key, Object value, long time) {
- if (time > 0) {
- redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
- } else {
- redisTemplate.opsForValue().set(key, value);
- }
- }
-
- /**
- * 删除key
- */
- public void deleteKey(String key) {
- redisTemplate.delete(key);
- }
-
- /**
- * 创建锁
- * @param key 锁的Key
- * @param value 值(随便写毫无意义)
- * @param releaseTime 锁过期时间 防止死锁
- * @return boolean
- */
- public boolean lock(String key, int value, long releaseTime) {
- // 尝试获取锁
- Boolean boo = redisTemplate.opsForValue().setIfAbsent(key, value, releaseTime, TimeUnit.SECONDS);
- // 判断结果
- return boo != null && boo;
- }
-
-
- /**
- * 根据key删除锁
- */
- public void deleteLock(String key) {
- // 删除key即可释放锁
- deleteKey(key);
- }
-
- /**
- * @Description: 获取自增长值
- * @param key key
- * @return
- */
- public Long getIncr(String key) {
- Long count = redisTemplate.opsForValue().increment(key, 1);
- return count;
- }
-
-// public static void main(String[] args) {
-// Lock
-// }
-
-
-}
\ No newline at end of file
diff --git a/file-common/src/main/java/com/qiwenshare/common/util/concurrent/locks/RedisLock.java b/file-common/src/main/java/com/qiwenshare/common/util/concurrent/locks/RedisLock.java
deleted file mode 100644
index d78daba..0000000
--- a/file-common/src/main/java/com/qiwenshare/common/util/concurrent/locks/RedisLock.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package com.qiwenshare.common.util.concurrent.locks;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.data.redis.connection.RedisStringCommands;
-import org.springframework.data.redis.connection.ReturnType;
-import org.springframework.data.redis.core.RedisCallback;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.types.Expiration;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.Condition;
-
-/**
- * redis实现分布式锁
- *
- */
-@Component
-public class RedisLock{
-
- private static final Logger log = LoggerFactory.getLogger(RedisLock.class);
-
- /**
- * 默认轮休获取锁间隔时间, 单位:毫秒
- */
- private static final int DEFAULT_ACQUIRE_RESOLUTION_MILLIS = 100;
-
- private static final String UNLOCK_LUA;
-
- private static final long LOCK_EXPIRE_TIME = 60 * 15; //获取锁最大15分钟就会过期
-
-
- @Resource
- RedisTemplate redisTemplate;
-
- static {
- StringBuilder lua = new StringBuilder();
- lua.append("if redis.call(\"get\",KEYS[1]) == ARGV[1] ");
- lua.append("then ");
- lua.append(" return redis.call(\"del\",KEYS[1]) ");
- lua.append("else ");
- lua.append(" return 0 ");
- lua.append("end ");
- UNLOCK_LUA = lua.toString();
- }
-
- private final ThreadLocal