From 83a85c8bdbf379a3ca43eaf3952c0263ea6448c2 Mon Sep 17 00:00:00 2001 From: xuchang Date: Thu, 1 Apr 2021 17:03:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?--user=3Dxuchang,--message=3D'fms=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=B3=BB=E7=BB=9F'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itools/core/validate/EnableValidator.java | 3 + .../java/com/itools/core/utils/Base64.java | 224 +++++++ .../com/itools/core/utils/Base64Utils.java | 80 +++ .../java/com/itools/core/utils/ZipUtils.java | 56 ++ .../1604555758869.png" | Bin 0 -> 67680 bytes .../1604556120012.png" | Bin 0 -> 118601 bytes .../1604556346057.png" | Bin 0 -> 123975 bytes .../1604556562914.png" | Bin 0 -> 116180 bytes .../1604556812426.png" | Bin 0 -> 137534 bytes .../1604558494167.png" | Bin 0 -> 138585 bytes .../1604561499549.png" | Bin 0 -> 119132 bytes ...45\345\217\243\346\226\207\346\241\243.md" | 260 ++++++++ itools-fms/itools-fms-core/pom.xml | 39 ++ .../itools/core/annotation/FileStrategy.java | 24 + .../core/config/SwaggerAutoConfiguration.java | 41 ++ .../com/itools/core/config/SwaggerConfig.java | 108 ++++ .../context/FileStrategyServiceContext.java | 52 ++ .../java/com/itools/core/em/FmsCodeBean.java | 80 +++ .../java/com/itools/core/em/FmsConstants.java | 13 + .../java/com/itools/core/em/StrategyType.java | 37 ++ .../core/listener/FileStrategyListener.java | 44 ++ .../core/service/FileManagerService.java | 13 + .../impl/FastDfsFileManagerServiceImpl.java | 20 + .../impl/MinioFileManagerServiceImpl.java | 20 + .../impl/NioFileManagerServiceImpl.java | 20 + itools-fms/itools-fms-model/pom.xml | 33 + .../dto/accessToken/FmsAccessTokenDTO.java | 28 + .../dto/businessType/FmsBusinessTypeDTO.java | 52 ++ .../core/dto/fileRecord/FmsRecordDTO.java | 77 +++ .../core/param/FmsAccessTokenParam.java | 69 +++ .../core/param/FmsBusinessTypeParam.java | 102 ++++ .../core/param/FmsUploadTokenParam.java | 58 ++ .../request/FmsBase64FileUploadRequest.java | 55 ++ .../core/request/FmsFileAccessUrlRequest.java | 51 ++ .../core/result/FmsAccessTokenResult.java | 67 +++ .../core/result/FmsBusinessTypeResult.java | 104 ++++ .../core/result/FmsDetailRecordResult.java | 156 +++++ .../core/result/FmsFileRecordPathResult.java | 32 + .../core/result/FmsFileUploadResult.java | 21 + .../core/result/FmsMultipartFileResult.java | 35 ++ .../itools/core/result/FmsRecordResult.java | 20 + .../core/result/FmsUploadTokenResult.java | 48 ++ itools-fms/itools-fms-server/pom.xml | 90 +++ .../itools/core/FileSystemApplication.java | 53 ++ .../controller/FmsFileRecordController.java | 43 ++ .../controller/FmsFileSystemController.java | 312 ++++++++++ .../core/controller/TestController.java | 35 ++ .../core/mapper/FmsAccessTokenMapper.java | 34 ++ .../core/mapper/FmsBusinessTypeMapper.java | 52 ++ .../core/mapper/FmsFileRecordMapper.java | 54 ++ .../core/service/FmsAccessTokenService.java | 40 ++ .../core/service/FmsBusinessTypeService.java | 42 ++ .../core/service/FmsFileSystemService.java | 128 ++++ .../itools/core/service/FmsRecordService.java | 16 + .../impl/FmsAccessTokenServiceImpl.java | 126 ++++ .../impl/FmsBusinessTypeServiceImpl.java | 88 +++ .../impl/FmsFileSystemServiceImpl.java | 567 ++++++++++++++++++ .../service/impl/FmsRecordServiceImpl.java | 37 ++ .../service/impl/task/MyUploadFileTask.java | 37 ++ .../src/main/resources/application-dev.yml | 78 +++ .../src/main/resources/application.yml | 28 + .../src/main/resources/bootstrap.yml | 17 + .../resources/mapper/FmsAccessTokenMapper.xml | 27 + .../mapper/FmsBusinessTypeMapper.xml | 134 +++++ .../resources/mapper/FmsFileRecordMapper.xml | 197 ++++++ itools-fms/pom.xml | 92 +++ itools-fms/script/itools-fms | 40 ++ .../itools-oms-jwt-sample-example/pom.xml | 44 ++ .../com/itools/core/OmsSampleApplication.java | 17 + .../config/ClientWebsecurityConfigurer.java | 31 + .../itools/core/config/JwtTokenEnhancer.java | 23 + .../core/config/JwtTokenStoreConfig.java | 29 + .../java/com/itools/core/config/Solution.java | 54 ++ .../core/controller/ProductController.java | 15 + .../src/main/resources/application.yml | 17 + .../config/AuthorizationServerConfig.java | 45 +- .../itools/core/config/JwtTokenEnhancer.java | 7 +- .../core/config/JwtTokenStoreConfig.java | 7 +- .../core/config/ResourceServerConfig.java | 36 ++ .../itools/core/config/WebSecurityConfig.java | 37 +- .../itools/core/mapper/PermissionMapper.java | 3 +- .../com/itools/core/mapper/UserMapper.java | 3 +- .../java/com/itools/core/package-info.java | 14 + .../src/main/resources/application-dev.yml | 8 +- itools-oms/pom.xml | 1 + 85 files changed, 4879 insertions(+), 21 deletions(-) create mode 100644 itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64.java create mode 100644 itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64Utils.java create mode 100644 itools-core/itools-utils/src/main/java/com/itools/core/utils/ZipUtils.java create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604555758869.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556120012.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556346057.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556562914.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556812426.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604558494167.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604561499549.png" create mode 100644 "itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.md" create mode 100644 itools-fms/itools-fms-core/pom.xml create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/annotation/FileStrategy.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerAutoConfiguration.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerConfig.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsCodeBean.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsConstants.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/em/StrategyType.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/listener/FileStrategyListener.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java create mode 100644 itools-fms/itools-fms-model/pom.xml create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/accessToken/FmsAccessTokenDTO.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/businessType/FmsBusinessTypeDTO.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/fileRecord/FmsRecordDTO.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsAccessTokenParam.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsBusinessTypeParam.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsUploadTokenParam.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsBase64FileUploadRequest.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsFileAccessUrlRequest.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsAccessTokenResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsBusinessTypeResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsDetailRecordResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileRecordPathResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileUploadResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsMultipartFileResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsRecordResult.java create mode 100644 itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java create mode 100644 itools-fms/itools-fms-server/pom.xml create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/TestController.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsAccessTokenMapper.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsBusinessTypeMapper.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsFileRecordMapper.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsAccessTokenService.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsBusinessTypeService.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsFileSystemService.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsRecordService.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsAccessTokenServiceImpl.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsBusinessTypeServiceImpl.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsRecordServiceImpl.java create mode 100644 itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/task/MyUploadFileTask.java create mode 100644 itools-fms/itools-fms-server/src/main/resources/application-dev.yml create mode 100644 itools-fms/itools-fms-server/src/main/resources/application.yml create mode 100644 itools-fms/itools-fms-server/src/main/resources/bootstrap.yml create mode 100644 itools-fms/itools-fms-server/src/main/resources/mapper/FmsAccessTokenMapper.xml create mode 100644 itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml create mode 100644 itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml create mode 100644 itools-fms/script/itools-fms create mode 100644 itools-oms/itools-oms-jwt-sample-example/pom.xml create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/OmsSampleApplication.java create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/ClientWebsecurityConfigurer.java create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenEnhancer.java create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/Solution.java create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/controller/ProductController.java create mode 100644 itools-oms/itools-oms-jwt-sample-example/src/main/resources/application.yml create mode 100644 itools-oms/itools-oms-server/src/main/java/com/itools/core/config/ResourceServerConfig.java diff --git a/itools-core/itools-common/src/main/java/com/itools/core/validate/EnableValidator.java b/itools-core/itools-common/src/main/java/com/itools/core/validate/EnableValidator.java index cb426ad..fa6a9b1 100644 --- a/itools-core/itools-common/src/main/java/com/itools/core/validate/EnableValidator.java +++ b/itools-core/itools-common/src/main/java/com/itools/core/validate/EnableValidator.java @@ -5,6 +5,9 @@ import org.springframework.context.annotation.Import; import java.lang.annotation.*; +/** + * @author xuchang + */ @Target(ElementType.TYPE) @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64.java b/itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64.java new file mode 100644 index 0000000..1fbfccb --- /dev/null +++ b/itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64.java @@ -0,0 +1,224 @@ +package com.itools.core.utils; + +public class Base64 { + private static final byte[] encodingTable = new byte[]{65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47}; + private static final byte[] decodingTable = new byte[128]; + + public Base64() { + } + + public static byte[] encode(byte[] data) { + int modulus = data.length % 3; + byte[] bytes; + if (modulus == 0) { + bytes = new byte[4 * data.length / 3]; + } else { + bytes = new byte[4 * (data.length / 3 + 1)]; + } + + int dataLength = data.length - modulus; + int b1 = 0; + + int b2; + for(b2 = 0; b1 < dataLength; b2 += 4) { + int a1 = data[b1] & 255; + int a2 = data[b1 + 1] & 255; + int a3 = data[b1 + 2] & 255; + bytes[b2] = encodingTable[a1 >>> 2 & 63]; + bytes[b2 + 1] = encodingTable[(a1 << 4 | a2 >>> 4) & 63]; + bytes[b2 + 2] = encodingTable[(a2 << 2 | a3 >>> 6) & 63]; + bytes[b2 + 3] = encodingTable[a3 & 63]; + b1 += 3; + } + + int d1; + switch(modulus) { + case 0: + default: + break; + case 1: + d1 = data[data.length - 1] & 255; + b1 = d1 >>> 2 & 63; + b2 = d1 << 4 & 63; + bytes[bytes.length - 4] = encodingTable[b1]; + bytes[bytes.length - 3] = encodingTable[b2]; + bytes[bytes.length - 2] = 61; + bytes[bytes.length - 1] = 61; + break; + case 2: + d1 = data[data.length - 2] & 255; + int d2 = data[data.length - 1] & 255; + b1 = d1 >>> 2 & 63; + b2 = (d1 << 4 | d2 >>> 4) & 63; + int b3 = d2 << 2 & 63; + bytes[bytes.length - 4] = encodingTable[b1]; + bytes[bytes.length - 3] = encodingTable[b2]; + bytes[bytes.length - 2] = encodingTable[b3]; + bytes[bytes.length - 1] = 61; + } + + return bytes; + } + + public static byte[] decode(byte[] data) { + data = discardNonBase64Bytes(data); + byte[] bytes; + if (data[data.length - 2] == 61) { + bytes = new byte[(data.length / 4 - 1) * 3 + 1]; + } else if (data[data.length - 1] == 61) { + bytes = new byte[(data.length / 4 - 1) * 3 + 2]; + } else { + bytes = new byte[data.length / 4 * 3]; + } + + int i = 0; + + byte b1; + byte b2; + byte b3; + byte b4; + for(int j = 0; i < data.length - 4; j += 3) { + b1 = decodingTable[data[i]]; + b2 = decodingTable[data[i + 1]]; + b3 = decodingTable[data[i + 2]]; + b4 = decodingTable[data[i + 3]]; + bytes[j] = (byte)(b1 << 2 | b2 >> 4); + bytes[j + 1] = (byte)(b2 << 4 | b3 >> 2); + bytes[j + 2] = (byte)(b3 << 6 | b4); + i += 4; + } + + if (data[data.length - 2] == 61) { + b1 = decodingTable[data[data.length - 4]]; + b2 = decodingTable[data[data.length - 3]]; + bytes[bytes.length - 1] = (byte)(b1 << 2 | b2 >> 4); + } else if (data[data.length - 1] == 61) { + b1 = decodingTable[data[data.length - 4]]; + b2 = decodingTable[data[data.length - 3]]; + b3 = decodingTable[data[data.length - 2]]; + bytes[bytes.length - 2] = (byte)(b1 << 2 | b2 >> 4); + bytes[bytes.length - 1] = (byte)(b2 << 4 | b3 >> 2); + } else { + b1 = decodingTable[data[data.length - 4]]; + b2 = decodingTable[data[data.length - 3]]; + b3 = decodingTable[data[data.length - 2]]; + b4 = decodingTable[data[data.length - 1]]; + bytes[bytes.length - 3] = (byte)(b1 << 2 | b2 >> 4); + bytes[bytes.length - 2] = (byte)(b2 << 4 | b3 >> 2); + bytes[bytes.length - 1] = (byte)(b3 << 6 | b4); + } + + return bytes; + } + + public static byte[] decode(String data) { + data = discardNonBase64Chars(data); + byte[] bytes; + if (data.charAt(data.length() - 2) == '=') { + bytes = new byte[(data.length() / 4 - 1) * 3 + 1]; + } else if (data.charAt(data.length() - 1) == '=') { + bytes = new byte[(data.length() / 4 - 1) * 3 + 2]; + } else { + bytes = new byte[data.length() / 4 * 3]; + } + + int i = 0; + + byte b1; + byte b2; + byte b3; + byte b4; + for(int j = 0; i < data.length() - 4; j += 3) { + b1 = decodingTable[data.charAt(i)]; + b2 = decodingTable[data.charAt(i + 1)]; + b3 = decodingTable[data.charAt(i + 2)]; + b4 = decodingTable[data.charAt(i + 3)]; + bytes[j] = (byte)(b1 << 2 | b2 >> 4); + bytes[j + 1] = (byte)(b2 << 4 | b3 >> 2); + bytes[j + 2] = (byte)(b3 << 6 | b4); + i += 4; + } + + if (data.charAt(data.length() - 2) == '=') { + b1 = decodingTable[data.charAt(data.length() - 4)]; + b2 = decodingTable[data.charAt(data.length() - 3)]; + bytes[bytes.length - 1] = (byte)(b1 << 2 | b2 >> 4); + } else if (data.charAt(data.length() - 1) == '=') { + b1 = decodingTable[data.charAt(data.length() - 4)]; + b2 = decodingTable[data.charAt(data.length() - 3)]; + b3 = decodingTable[data.charAt(data.length() - 2)]; + bytes[bytes.length - 2] = (byte)(b1 << 2 | b2 >> 4); + bytes[bytes.length - 1] = (byte)(b2 << 4 | b3 >> 2); + } else { + b1 = decodingTable[data.charAt(data.length() - 4)]; + b2 = decodingTable[data.charAt(data.length() - 3)]; + b3 = decodingTable[data.charAt(data.length() - 2)]; + b4 = decodingTable[data.charAt(data.length() - 1)]; + bytes[bytes.length - 3] = (byte)(b1 << 2 | b2 >> 4); + bytes[bytes.length - 2] = (byte)(b2 << 4 | b3 >> 2); + bytes[bytes.length - 1] = (byte)(b3 << 6 | b4); + } + + return bytes; + } + + private static byte[] discardNonBase64Bytes(byte[] data) { + byte[] temp = new byte[data.length]; + int bytesCopied = 0; + + for(int i = 0; i < data.length; ++i) { + if (isValidBase64Byte(data[i])) { + temp[bytesCopied++] = data[i]; + } + } + + byte[] newData = new byte[bytesCopied]; + System.arraycopy(temp, 0, newData, 0, bytesCopied); + return newData; + } + + private static String discardNonBase64Chars(String data) { + StringBuffer sb = new StringBuffer(); + int length = data.length(); + + for(int i = 0; i < length; ++i) { + if (isValidBase64Byte((byte)data.charAt(i))) { + sb.append(data.charAt(i)); + } + } + + return sb.toString(); + } + + private static boolean isValidBase64Byte(byte b) { + if (b == 61) { + return true; + } else if (b >= 0 && b < 128) { + return decodingTable[b] != -1; + } else { + return false; + } + } + + static { + int i; + for(i = 0; i < 128; ++i) { + decodingTable[i] = -1; + } + + for(i = 65; i <= 90; ++i) { + decodingTable[i] = (byte)(i - 65); + } + + for(i = 97; i <= 122; ++i) { + decodingTable[i] = (byte)(i - 97 + 26); + } + + for(i = 48; i <= 57; ++i) { + decodingTable[i] = (byte)(i - 48 + 52); + } + + decodingTable[43] = 62; + decodingTable[47] = 63; + } +} \ No newline at end of file diff --git a/itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64Utils.java b/itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64Utils.java new file mode 100644 index 0000000..c033222 --- /dev/null +++ b/itools-core/itools-utils/src/main/java/com/itools/core/utils/Base64Utils.java @@ -0,0 +1,80 @@ +package com.itools.core.utils; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +public class Base64Utils { + private static final int CACHE_SIZE = 1024; + + public Base64Utils() { + } + + public static byte[] decode(String base64) { + return Base64.decode(base64.getBytes()); + } + + public static String encode(byte[] bytes) { + return new String(Base64.encode(bytes)); + } + + public static String encodeFile(String filePath) throws IOException { + byte[] bytes = fileToByte(filePath); + return encode(bytes); + } + + public static void decodeToFile(String filePath, String base64) throws IOException { + byte[] bytes = decode(base64); + byteArrayToFile(bytes, filePath); + } + + public static byte[] fileToByte(String filePath) throws IOException { + byte[] data = new byte[0]; + File file = new File(filePath); + if (file.exists()) { + FileInputStream in = new FileInputStream(file); + ByteArrayOutputStream out = new ByteArrayOutputStream(2048); + byte[] cache = new byte[1024]; + boolean var6 = false; + + int nRead; + while((nRead = in.read(cache)) != -1) { + out.write(cache, 0, nRead); + out.flush(); + } + + out.close(); + in.close(); + data = out.toByteArray(); + } + + return data; + } + + public static void byteArrayToFile(byte[] bytes, String filePath) throws IOException { + InputStream in = new ByteArrayInputStream(bytes); + File destFile = new File(filePath); + if (!destFile.getParentFile().exists()) { + destFile.getParentFile().mkdirs(); + } + + destFile.createNewFile(); + OutputStream out = new FileOutputStream(destFile); + byte[] cache = new byte[1024]; + boolean var6 = false; + + int nRead; + while((nRead = in.read(cache)) != -1) { + out.write(cache, 0, nRead); + out.flush(); + } + + out.close(); + in.close(); + } +} \ No newline at end of file diff --git a/itools-core/itools-utils/src/main/java/com/itools/core/utils/ZipUtils.java b/itools-core/itools-utils/src/main/java/com/itools/core/utils/ZipUtils.java new file mode 100644 index 0000000..8591326 --- /dev/null +++ b/itools-core/itools-utils/src/main/java/com/itools/core/utils/ZipUtils.java @@ -0,0 +1,56 @@ +package com.itools.core.utils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Iterator; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +public class ZipUtils { + private static int BUFFER_SIZE = 1024; + + public ZipUtils() { + } + + public static void toZip(List files, OutputStream outputStream) throws RuntimeException { + long start = System.currentTimeMillis(); + ZipOutputStream zipOutputStream = null; + + try { + zipOutputStream = new ZipOutputStream(outputStream); + Iterator var5 = files.iterator(); + + while(var5.hasNext()) { + File file = (File)var5.next(); + byte[] buf = new byte[BUFFER_SIZE]; + zipOutputStream.putNextEntry(new ZipEntry(file.getName())); + FileInputStream in = new FileInputStream(file); + + int len; + while((len = in.read(buf)) != -1) { + zipOutputStream.write(buf, 0, len); + } + + zipOutputStream.closeEntry(); + in.close(); + } + + long end = System.currentTimeMillis(); + System.out.println("压缩完成,耗时:" + (end - start) + " ms"); + } catch (Exception var17) { + throw new RuntimeException("zip error from ZipUtils", var17); + } finally { + if (zipOutputStream != null) { + try { + zipOutputStream.close(); + } catch (IOException var16) { + var16.printStackTrace(); + } + } + + } + } +} \ No newline at end of file diff --git "a/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604555758869.png" "b/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604555758869.png" new file mode 100644 index 0000000000000000000000000000000000000000..0e32b4943355381dfec39417aa8afa398bbd8cd2 GIT binary patch literal 67680 zcmcG$1yogS*EYHd0g<%mRxn8E4iTk65h+RO2I&?Qk(QK35TvCuH-i$bCBr5{N?Mxibop->q2 zaj@V!yV3bNC=@M9T2fraIbn6&#rewb5z)$+63Jt^a#4a|Xf29vpN~Kg+ zk$jCSbB)-LIFzI&4d)fMGQlP_|66Pou`Sw<4+sUXN6CNQW4U%K{*f%nyQ^{0tkN-a z`wu6`ib`*c_e5?ilvk!lyqIqtLINHC}k})*A`Sa(`RfRqCQVkUq6)wA+AUrJJ5@xrEQ~Yj`=ykfk@5D@B|9$dX zN+uliJ9qD{dDbv&Sl*H!7x|C7i6d>>CF&1lI1c07E6cE=`5#yOf4Q^&c|phi+unYh zPxcW zm)Os)Ilo*t*mhXQ4i0UmUogOn!)~fOgtr^uC4_R=h&0t6u3yDac5&gqbLWmOJ89f! zLwQ*uOlN23FsHf25$B)C{^0#K2F;IT1s}}bmDxY)SVPo^Js1O_*JD?Ra$jQ!@Ff{zs zABttr^%5>7hXw0ThqbsDYojzvg@?>s?zb7DO#fKIwHX{5~Rr!*yp-$~xXuU-b6vi??szej5@Z zB_s2$uY$&gz1y0dRAa}doSzu8Zl1v^NW53?-{JMwuKnMm4laDrDxfiO;JyKwuq#&x zCI2f<<6kL?G^2*9RH=`%$a5zSYJD&`Y^G|lKExE0;$hvmd9$vwld#^O(8(Tn66~NKkEe$U4K_D7YromfvcFtZq7-($ zDtdOn0C9&wLqii86EmxGenbN4Xli=er#Dm4pecw9{)$?KBg-2+vR4?`1Y$&(?TLaU zhlhs;5O-lwQ5USOt%Ilpulr&XzR_YWaQJ@n=1sL?BYb)W2HV9hx~tc(OXR6C+_{6R z<8{i7d+Ablv9Y3DJP*F7r>D_MYI!;N>CtX|x^%?U!osszJLIgopY9GGO#9QM46bY? zpPyjcFZ^=&eB<)?@Kl|zvYOgkII+b`R01z;WZu)D6q1BYpW4@?q=?D56YkFqpr0sWa+Y^7-6O4kYJ@Wa^jJ4oDqBhjS4_U-U2{ zPJ&-Rn%>;oi$2@i+jCsLa+OeM69tJ7QbD>YAS z&JGL`M7^j+6h%z8t599pPw)DVJn6N25Q0}OY&FIgM8=t+(3aX{tdZS3ApbdI zuNH%F3U2e^GAaJEQ7GH4HJCntHs(3HI$fwA}}F=GC|nwx}xxIWa8wA2sJhJ zVpl4L=gHQ?m&<(@69t{5Y;8GU&xtNy)*lr5^XHF}iVEhZ#}{8qbf>JPjgsq&Exp-+ zEKesa{Cv3;^1M@)f)~J!Ux|YLvN5cBwccp*8ZllSaokSsod;X9AO1mqcHF|QJ7Ov- zS3{_U@5ob#xbu~0u&Cy$p+R-C8ZV#zV4M^#GpTm8m=>DuwGTJTY1IC0)^2=!95T09 zu4Wm*lMJ~m+lgq6QnS~ly%~B?iw__sAj7jet`1=-#^S#6<}hf2#ODrK=@y`bni^3? z#U%IUzn1akORnmZKeBLIFyVv5Ei5d2zlO$@K>~WYIz$XP;xZq|)zDFtk&%#*!Tkq>^qX*P?(bW_-3zC($g^%rG3CJe_3R1WNQvoe`t@;- ze4UzKr?sul%yuG8DK5H{e%PidEq5Ed$I+)Z?j!AJrpz$EfFHwolPs7lyI?Xk)R z&x?0g1{nkdG+edXR4d7UjFb8byX~bwcI_!2FEYHOZ(#6=+!bJ{^FpFiyU3NxmtQ>y zybeXTpmlWgz2!tD8I&O@XXkIjFF!pFfaqZW)Q9?_SC3UZ81eo+3YD6gs#f$OpuS4w z9w%p^(}wok!h*r-P@z%5+E5_|d@w+s#nG~YG@XDJ!|~u6><;4DDfb|s?QwYyqE6ZR z`ub1y9(k(f+m)h_QmkuEc_79NxuJN{Fl&A5T94~`@#~MqUHI9<5X!nDM?m>YqHU0j;=j9q~EShc1yu7)pELh9ywQGUta0I1!F}_+1zX}T@YLDmb zT>X*FVf~8xq9wJB`z<9`G@=*YPHbYQ7pAVDy~x90W#yr^pVJmw

Yb7V9pkZO!!Q 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 literal 0 HcmV?d00001 diff --git "a/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556120012.png" "b/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556120012.png" new file mode 100644 index 0000000000000000000000000000000000000000..8d7f13ae7c733f6fa572a2c2943233b320256d1d GIT binary patch literal 118601 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%0A0{OlXYS= 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 J+rsC%Chi&R21+QgR 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 literal 0 HcmV?d00001 diff --git "a/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556346057.png" "b/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556346057.png" new file mode 100644 index 0000000000000000000000000000000000000000..44f988f8da16c2abfc259d24ab693495ce0f2020 GIT binary patch literal 123975 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 V{6H|vdnYue$L#Ov0n;~4wWwy8m980WHqr} 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 z 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 bu%~$`v(t+0%zb=>JY8Bs{!#WrUGM(`o26>r literal 0 HcmV?d00001 diff --git "a/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556562914.png" "b/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604556562914.png" new file mode 100644 index 0000000000000000000000000000000000000000..dc611f6980a833853d8a2af425eef00397d18359 GIT binary patch literal 116180 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 Rb8`e7_hgi%izN+T{4cgdV0i!l literal 0 HcmV?d00001 diff --git "a/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604558494167.png" "b/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604558494167.png" new file mode 100644 index 0000000000000000000000000000000000000000..4f14c0a225654e62308ed6e39879f51689b026e8 GIT binary patch literal 138585 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ℑHjMXP> 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 literal 0 HcmV?d00001 diff --git "a/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604561499549.png" "b/itools-fms/document/fms\346\216\245\345\217\243\346\226\207\346\241\243.assets/1604561499549.png" new file mode 100644 index 0000000000000000000000000000000000000000..62202ac704972029a71cf63423b359afbfa63e8f GIT binary patch literal 119132 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 + + + itools-fms + com.itools.core + 1.0-SNAPSHOT + + 4.0.0 + + itools-fms-core + + + com.itools.core + itools-common + 1.0-SNAPSHOT + compile + + + + io.springfox + springfox-swagger2 + 2.9.2 + + + io.springfox + springfox-swagger-ui + 2.9.2 + + + com.github.xiaoymin + swagger-bootstrap-ui + 1.9.6 + + + + + \ No newline at end of file diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/annotation/FileStrategy.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/annotation/FileStrategy.java new file mode 100644 index 0000000..57665e5 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/annotation/FileStrategy.java @@ -0,0 +1,24 @@ +package com.itools.core.annotation; + +import com.itools.core.em.StrategyType; +import org.springframework.stereotype.Service; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @project: itools-backend + * @description: 选择文件系统的策略注解 + * @author: XUCHANG + * @create: 2021-04-01 15:57 + */ +@Service +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface FileStrategy { + + StrategyType value(); + +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerAutoConfiguration.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerAutoConfiguration.java new file mode 100644 index 0000000..ddd193e --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerAutoConfiguration.java @@ -0,0 +1,41 @@ +//package com.itools.core.config; +// +//import io.swagger.annotations.ApiOperation; +//import io.swagger.annotations.Contact; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import springfox.documentation.builders.ApiInfoBuilder; +//import springfox.documentation.builders.PathSelectors; +//import springfox.documentation.builders.RequestHandlerSelectors; +//import springfox.documentation.service.ApiInfo; +//import springfox.documentation.spi.DocumentationType; +//import springfox.documentation.spring.web.plugins.Docket; +//import springfox.documentation.swagger2.annotations.EnableSwagger2; +// +//@Configuration +//@EnableSwagger2 +//public class SwaggerAutoConfiguration{ +// +// @Bean +// public Docket createRestApi() { +// return new Docket(DocumentationType.SWAGGER_2) +// .groupName("") +// .apiInfo(apiInfo()) +// .select() +// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) +// .paths(PathSelectors.any()) +// .build(); +// } +// +// +// private ApiInfo apiInfo() { +// return new ApiInfoBuilder() +// .title("**平台对外接口") +// .description("1.提供**后台使用的接口 2.提供对其他服务调用的服务") +//// .contact(new Contact("xtj332", "https://blog.csdn.net/xtj332", "xtj332111@163.com")) +// .version("1.0") +// .build(); +// } +// +// +//} \ No newline at end of file diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerConfig.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerConfig.java new file mode 100644 index 0000000..b19297e --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/SwaggerConfig.java @@ -0,0 +1,108 @@ +//package com.itools.core.config; +// +//import io.swagger.annotations.ApiOperation; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Profile; +//import springfox.documentation.builders.ApiInfoBuilder; +//import springfox.documentation.builders.ParameterBuilder; +//import springfox.documentation.builders.PathSelectors; +//import springfox.documentation.builders.RequestHandlerSelectors; +//import springfox.documentation.schema.ModelRef; +//import springfox.documentation.service.*; +//import springfox.documentation.spi.DocumentationType; +//import springfox.documentation.spi.service.contexts.SecurityContext; +//import springfox.documentation.spring.web.plugins.Docket; +//import springfox.documentation.swagger2.annotations.EnableSwagger2; +// +//import java.time.LocalTime; +//import java.util.ArrayList; +//import java.util.List; +// +///** +// * SwaggerConfig api文档地址:/swagger-ui.html 或者 /doc.html +// */ +////指定在某些环境启用swagger的配置 +//@Profile({ +// "dev","test" +//}) +//// swagger暂不支持webflux +//@Configuration +//@EnableSwagger2 +//public class SwaggerConfig { +// @Bean +// public Docket createRestApi() { +// //定义swagger全局入参token +// ParameterBuilder tokenPar = new ParameterBuilder(); +// List pars = new ArrayList(); +// tokenPar.name("Authorization").description("用户令牌(无须鉴权的可以不传 格式:bearer 密文串").modelRef(new ModelRef("string")) +// .parameterType("header").required(false).build(); +// pars.add(tokenPar.build()); +// +// return new Docket(DocumentationType.SWAGGER_2) +// .directModelSubstitute(LocalTime.class, String.class) +// //.groupName("normal") //使用默认分组,便于网关层的swagger转发 +// .apiInfo(defaultTitleInfo()) //可设置默认分组api顶部说明文字 +// .useDefaultResponseMessages(false) +// .select() +// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) +// //只允许生成ApiOperation注解的方法,其他系统内部用的api可隐藏 +// .build(); +//// //.globalOperationParameters(pars); +//// //设置安全模式,swagger全局设置token +//// .securitySchemes(securitySchemes()) +//// .securityContexts(securityContexts()); +// +// } +// +// /** +// * 安全模式,这里指定token通过Authorization头请求头传递 +// */ +// private List securitySchemes() +// { +// List apiKeyList = new ArrayList<>(); +// apiKeyList.add(new ApiKey("Authorization", "Authorization", "header")); +// return apiKeyList; +// } +// +// /** +// * 安全上下文 +// */ +// private List securityContexts() +// { +// List securityContexts = new ArrayList<>(); +// securityContexts.add( +// SecurityContext.builder() +// .securityReferences(defaultAuth()) +// .forPaths(PathSelectors.regex("^(?!auth).*$")) +// .build()); +// return securityContexts; +// } +// +// /** +// * 默认的安全上引用 +// */ +// private List defaultAuth() +// { +// AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); +// AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; +// authorizationScopes[0] = authorizationScope; +// List securityReferences = new ArrayList<>(); +// securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); +// return securityReferences; +// } +// +// /** +// * 默认标题信息 +// * @return - +// */ +// private ApiInfo defaultTitleInfo() { +// return new ApiInfoBuilder() +// .title("接口地址使用Base URL")//大标题 +// .description("· 接口成功返回:{\"success\": true,\"code\": 20000,\"message\": \"成功\",\"data\": null} " +// + "
· 失败的返回:{\"success\": false,\"code\": 50002,\"message\": \"算术运算异常\",\"data\": null} " +// )//详细描述 +// .version("1.0")//版本 +// .build(); +// } +//} \ No newline at end of file diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java new file mode 100644 index 0000000..a6fdc4d --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java @@ -0,0 +1,52 @@ +package com.itools.core.context; + +import com.itools.core.em.StrategyType; +import com.itools.core.service.FileManagerService; +import lombok.Getter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:02 + */ +@Component +public class FileStrategyServiceContext { + @Autowired + private Environment environment; + @Getter + private final static Map fileServiceMap; + + static { + fileServiceMap = new HashMap<>(); + } + + public FileManagerService get(String type) { + return fileServiceMap.get(type); + } + + /** + * 获取默认或者配置的文件服务策略 + * @return + */ + public FileManagerService get(){ + boolean containsProperty = environment.containsProperty("file.strategy"); + if (containsProperty){ + fileServiceMap.get(environment.getProperty("file.strategy")); + } + return fileServiceMap.get(StrategyType.NIO.getType()); + } + + public void put(String type, FileManagerService calcService) { + fileServiceMap.put(type, calcService); + } + public Map getMap(){ + return fileServiceMap; + } +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsCodeBean.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsCodeBean.java new file mode 100644 index 0000000..f2db455 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsCodeBean.java @@ -0,0 +1,80 @@ +package com.itools.core.em; + + +import com.itools.core.code.SystemCode; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@SystemCode +public class FmsCodeBean { + + public enum FmsCode { + /** + * 文件系统内部错误 + */ + FAIL("FSS01", "文件系统内部错误"), + /** + * BUSINESS_TYPE不存在 + */ + ERROR_BUSINESS_TYPE_NOT_EXIST("FSS02", "BUSINESS_TYPE不存在"), + /** + * 文件不能为空 + */ + ERROR_FILE_IS_NULL("FSS11", "文件不能为空"), + /** + * 参数错误 + */ + ERROR_PARAMS("FSS12", "参数错误"), + /** + * 文件上传时间限定超时 + */ + ERROR_TIMEOUT("FSS13", "文件上传时间限定超时"), + /** + * 文件大小超过限制 + */ + ERROR_FILESIZE_OUT_OFF_LIMIT("FSS14", "文件大小超过限制"), + /** + * 该文件类型不允许 + */ + ERROR_FILETYPE("FSS15", "该文件类型不允许"), + /** + * 文件ID非法 + */ + INVALID_FS_UNIQUE_ID("FSS21", "文件ID非法"), + + ERROR_TRANS_BASE64("FSS22", "文件转base64失败"), + /** + * 鉴权失败 + */ + INVALID_FS_TOKEN("401", "鉴权失败"), + /** + * 找不到该文件 + * 错误码直接放到response中,所以按照http的规范设置 + */ + NOT_EXIST_FILE("404", "找不到该文件"), + + FILE_LIMIT_SIZE("FSS23", "文件上传个数受限"), + + FILE_MULTIPART_UPLOAD("FSS24", "批量上传文件失败"), + ; + + public final String code; + public final String message; + + FmsCode(String code, String message) { + this.code = code; + this.message = message; + } + + public String getCode() { + return code; + } + + public String getMessage() { + return message; + } + } +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsConstants.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsConstants.java new file mode 100644 index 0000000..5322ffc --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/FmsConstants.java @@ -0,0 +1,13 @@ +package com.itools.core.em; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +public interface FmsConstants { + + String FSS_RECORD_ID_SEQ_NAME="FSS:FssRecord:ID"; + + +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/StrategyType.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/StrategyType.java new file mode 100644 index 0000000..85be616 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/em/StrategyType.java @@ -0,0 +1,37 @@ +package com.itools.core.em; + +import com.itools.core.utils.StringUtils; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:02 + */ +public enum StrategyType { + NIO("nio", "NIO","nioFileManagerServiceImpl"), + MINIO("minio", "miniio文件系统","minioFileManagerServiceImpl"), + FASTDFS("fastdfs", "fastdfs文件系统","fastDfsFileManagerServiceImpl"); + private String type; + private String desc; + private String beanName; + + StrategyType(String type, String desc,String beanName) { + this.type = type; + this.desc = desc; + this.beanName = beanName; + } + + public String getType() { + return type; + } + + public static String getType(String beanName) { + for (StrategyType strategyType : StrategyType.values()){ + if (StringUtils.equals(beanName,strategyType.beanName)){ + return strategyType.type; + } + } + return null; + } +} \ No newline at end of file diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/listener/FileStrategyListener.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/listener/FileStrategyListener.java new file mode 100644 index 0000000..06b83d8 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/listener/FileStrategyListener.java @@ -0,0 +1,44 @@ +package com.itools.core.listener; + +import com.itools.core.annotation.FileStrategy; +import com.itools.core.context.FileStrategyServiceContext; +import com.itools.core.em.StrategyType; +import com.itools.core.service.FileManagerService; +import com.itools.core.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:06 + */ +@Component +public class FileStrategyListener implements ApplicationListener { + @Autowired + private FileStrategyServiceContext fileStrategyServiceContext; + + /** + * 监听类 + * @param contextRefreshedEvent + */ + @Override + public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { + + Map beans = contextRefreshedEvent.getApplicationContext().getBeansOfType(FileManagerService.class); + beans.forEach((k, service) -> { + String type = StrategyType.getType(k); + fileStrategyServiceContext.put(type, service); +// if (StringUtils.equals(k,)) +// Class clazz = service.getClass(); +// FileStrategy fileStrategy = (FileStrategy)clazz.getAnnotation(FileStrategy.class); +// fileStrategyServiceContext.put(fileStrategy.value().getType(), service); + }); + } +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java new file mode 100644 index 0000000..14e0fcf --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java @@ -0,0 +1,13 @@ +package com.itools.core.service; + +import com.itools.core.base.CommonResult; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-04-01 15:44 + */ +public interface FileManagerService { + + CommonResult mutipartUploadFiles(); +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java new file mode 100644 index 0000000..7254a8f --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java @@ -0,0 +1,20 @@ +package com.itools.core.service.impl; + +import com.itools.core.annotation.FileStrategy; +import com.itools.core.base.CommonResult; +import com.itools.core.em.StrategyType; +import com.itools.core.service.FileManagerService; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:17 + */ +@FileStrategy(value = StrategyType.FASTDFS) +public class FastDfsFileManagerServiceImpl implements FileManagerService { + @Override + public CommonResult mutipartUploadFiles() { + return CommonResult.success(StrategyType.FASTDFS.getType()); + } +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java new file mode 100644 index 0000000..1f82790 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java @@ -0,0 +1,20 @@ +package com.itools.core.service.impl; + +import com.itools.core.annotation.FileStrategy; +import com.itools.core.base.CommonResult; +import com.itools.core.em.StrategyType; +import com.itools.core.service.FileManagerService; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:17 + */ +@FileStrategy(value = StrategyType.MINIO) +public class MinioFileManagerServiceImpl implements FileManagerService { + @Override + public CommonResult mutipartUploadFiles() { + return CommonResult.success(StrategyType.MINIO.getType()); + } +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java new file mode 100644 index 0000000..c83ead3 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java @@ -0,0 +1,20 @@ +package com.itools.core.service.impl; + +import com.itools.core.annotation.FileStrategy; +import com.itools.core.base.CommonResult; +import com.itools.core.em.StrategyType; +import com.itools.core.service.FileManagerService; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:17 + */ +@FileStrategy(value = StrategyType.NIO) +public class NioFileManagerServiceImpl implements FileManagerService { + @Override + public CommonResult mutipartUploadFiles() { + return CommonResult.success(StrategyType.NIO.getType()); + } +} diff --git a/itools-fms/itools-fms-model/pom.xml b/itools-fms/itools-fms-model/pom.xml new file mode 100644 index 0000000..f7be9ab --- /dev/null +++ b/itools-fms/itools-fms-model/pom.xml @@ -0,0 +1,33 @@ + + + + itools-fms + com.itools.core + 1.0-SNAPSHOT + + 4.0.0 + + itools-fms-model + + + + com.baomidou + mybatis-plus-boot-starter + + + org.springframework.boot + spring-boot-starter-jdbc + + + com.baomidou + mybatis-plus-generator + + + org.projectlombok + lombok + + + + \ No newline at end of file diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/accessToken/FmsAccessTokenDTO.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/accessToken/FmsAccessTokenDTO.java new file mode 100644 index 0000000..ada12f0 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/accessToken/FmsAccessTokenDTO.java @@ -0,0 +1,28 @@ +package com.itools.core.dto.accessToken; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Data +@TableName("itools_fms_access_token") +public final class FmsAccessTokenDTO { + /** + * 文件访问token + */ + private String fileAccessToken; + /** + * 文件的唯一id + */ + private String uniqueId; + /** + * 访问类型:show或者download + */ + private String type; + +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/businessType/FmsBusinessTypeDTO.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/businessType/FmsBusinessTypeDTO.java new file mode 100644 index 0000000..9a0ff79 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/businessType/FmsBusinessTypeDTO.java @@ -0,0 +1,52 @@ +package com.itools.core.dto.businessType; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Data +@TableName("itools_fms_business_type") +public class FmsBusinessTypeDTO { + /** + * 主键 + */ + private Long id; + + /** + * 业务类型 + */ + private String businessType; + + /** + * 说明 + */ + private String remark; + + /** + * 文件大小, 单位kb + */ + private String fsSize; + + /** + * 文件类型,逗号分隔符,例如: jpg,png + */ + private String fsType; + + /** + * 创建时间 + */ + private Date createDate; + + /** + * 更新时间 + */ + private Date updateDate; + +} \ No newline at end of file diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/fileRecord/FmsRecordDTO.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/fileRecord/FmsRecordDTO.java new file mode 100644 index 0000000..cc3932d --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/dto/fileRecord/FmsRecordDTO.java @@ -0,0 +1,77 @@ +package com.itools.core.dto.fileRecord; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; +import java.util.List; +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Data +@TableName("itools_fms_record") +public class FmsRecordDTO { + /** + * 主键 + */ + private Long id; + + /** + * HTTP协议定义的文件类型,文件上传从文件流中获取 + * 文件存取时使用该字段填入response的content-type字段 + */ + private String contentType; + + /** + * 文件所属系统,文件上传时指定 + */ + private String fromSystemId; + + /** + * 文件大小,单位为字节 + */ + private Long fileSize; + + /** + * 文件的全局唯一ID,后续访问均使用该ID + */ + private String uniqueId; + /** + * 文件的全局唯一IDs,后续访问均使用该IDs + */ + private List uniqueIds; + + /** + * 文件描述信息 + */ + private String remark; + + /** + * 原文件名,来自入参 + */ + private String origFileName; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 删除时间 + */ + private Date deleteTime; + + /** + * 是否已删除文件本身,也即是说,删除文件时数据库记录仅仅将该字段置位1,并不实际删除数据库记录 + * 0:没有删除 + * 1:已删除 + */ + private String deleted; +} \ No newline at end of file diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsAccessTokenParam.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsAccessTokenParam.java new file mode 100644 index 0000000..01f4a84 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsAccessTokenParam.java @@ -0,0 +1,69 @@ +package com.itools.core.param; + + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +public class FmsAccessTokenParam { + /** + * 有效时长 + */ + private int expiredTime; + + /** + * 最大访问次数 + */ + private int maxAccessCount; + + /** + * 文件访问唯一id + */ + private String uniqueId; + + private String type; + + public FmsAccessTokenParam(int expiredTime, int maxAccessCount, String uniqueId, String type) { + this.expiredTime = expiredTime; + this.maxAccessCount = maxAccessCount; + this.uniqueId = uniqueId; + this.type = type; + } + + public FmsAccessTokenParam() { + } + + public int getExpiredTime() { + return expiredTime; + } + + public void setExpiredTime(int expiredTime) { + this.expiredTime = expiredTime; + } + + public int getMaxAccessCount() { + return maxAccessCount; + } + + public void setMaxAccessCount(int maxAccessCount) { + this.maxAccessCount = maxAccessCount; + } + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsBusinessTypeParam.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsBusinessTypeParam.java new file mode 100644 index 0000000..2095974 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsBusinessTypeParam.java @@ -0,0 +1,102 @@ +package com.itools.core.param; + +import java.util.Date; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +public class FmsBusinessTypeParam { + /** + * 主键 + */ + private Long id; + + /** + * 业务类型 + */ + private String businessType; + + /** + * 说明 + */ + private String remark; + + /** + * 文件大小, 单位kb + */ + private String fsSize; + + /** + * 文件类型,逗号分隔符,例如: jpg,png + */ + private String fsType; + + /** + * 创建时间 + */ + private Date createDate; + + /** + * 更新时间 + */ + private Date updateDate; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getBusinessType() { + return businessType; + } + + public void setBusinessType(String businessType) { + this.businessType = businessType; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getFsSize() { + return fsSize; + } + + public void setFsSize(String fsSize) { + this.fsSize = fsSize; + } + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } +} \ No newline at end of file diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsUploadTokenParam.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsUploadTokenParam.java new file mode 100644 index 0000000..fb5b2c4 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/param/FmsUploadTokenParam.java @@ -0,0 +1,58 @@ +package com.itools.core.param; + +import com.itools.core.result.FmsBusinessTypeResult; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +public class FmsUploadTokenParam { + + private FmsBusinessTypeResult fsBusinessType; + private String fromSystemId; + private String needEncrypt; + private String remark; + private String originalFilename; + + public FmsBusinessTypeResult getFsBusinessType() { + return fsBusinessType; + } + + public void setFsBusinessType(FmsBusinessTypeResult fsBusinessType) { + this.fsBusinessType = fsBusinessType; + } + + public String getFromSystemId() { + return fromSystemId; + } + + public void setFromSystemId(String fromSystemId) { + this.fromSystemId = fromSystemId; + } + + public String getNeedEncrypt() { + return needEncrypt; + } + + public void setNeedEncrypt(String needEncrypt) { + this.needEncrypt = needEncrypt; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getOriginalFilename() { + return originalFilename; + } + + public void setOriginalFilename(String originalFilename) { + this.originalFilename = originalFilename; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsBase64FileUploadRequest.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsBase64FileUploadRequest.java new file mode 100644 index 0000000..42ac326 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsBase64FileUploadRequest.java @@ -0,0 +1,55 @@ +package com.itools.core.request; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +public class FmsBase64FileUploadRequest { + + String fileBaseSixFour; + String fileName; + String businessType; + String uploadToken; + + public String getFileBaseSixFour() { + return fileBaseSixFour; + } + + + public void setFileBaseSixFour(String fileBaseSixFour) { + this.fileBaseSixFour = fileBaseSixFour; + } + + + public String getFileName() { + return fileName; + } + + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + + public String getBusinessType() { + return businessType; + } + + + public void setBusinessType(String businessType) { + this.businessType = businessType; + } + + + public String getUploadToken() { + return uploadToken; + } + + + public void setUploadToken(String uploadToken) { + this.uploadToken = uploadToken; + } + +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsFileAccessUrlRequest.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsFileAccessUrlRequest.java new file mode 100644 index 0000000..6f06b4f --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/request/FmsFileAccessUrlRequest.java @@ -0,0 +1,51 @@ +package com.itools.core.request; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/5 13:46 + */ +public class FmsFileAccessUrlRequest implements Serializable { + private List uniqueIds; + private Integer expiredTime; + private Integer maxAccessCount; + private String type; + + public FmsFileAccessUrlRequest() { + } + + public List getUniqueIds() { + return uniqueIds; + } + + public void setUniqueIds(List uniqueIds) { + this.uniqueIds = uniqueIds; + } + + public Integer getExpiredTime() { + return expiredTime; + } + + public void setExpiredTime(Integer expiredTime) { + this.expiredTime = expiredTime; + } + + public Integer getMaxAccessCount() { + return maxAccessCount; + } + + public void setMaxAccessCount(Integer maxAccessCount) { + this.maxAccessCount = maxAccessCount; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsAccessTokenResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsAccessTokenResult.java new file mode 100644 index 0000000..0eb4450 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsAccessTokenResult.java @@ -0,0 +1,67 @@ +package com.itools.core.result; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/5 14:35 + */ +public class FmsAccessTokenResult { + /** + * 有效时长 + */ + private int expiredTime; + + /** + * 最大访问次数 + */ + private int maxAccessCount; + + /** + * 文件访问唯一id + */ + private String uniqueId; + + private String type; + + public FmsAccessTokenResult(int expiredTime, int maxAccessCount, String uniqueId, String type) { + this.expiredTime = expiredTime; + this.maxAccessCount = maxAccessCount; + this.uniqueId = uniqueId; + this.type = type; + } + + public FmsAccessTokenResult() { + } + + public int getExpiredTime() { + return expiredTime; + } + + public void setExpiredTime(int expiredTime) { + this.expiredTime = expiredTime; + } + + public int getMaxAccessCount() { + return maxAccessCount; + } + + public void setMaxAccessCount(int maxAccessCount) { + this.maxAccessCount = maxAccessCount; + } + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsBusinessTypeResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsBusinessTypeResult.java new file mode 100644 index 0000000..b1a6546 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsBusinessTypeResult.java @@ -0,0 +1,104 @@ +package com.itools.core.result; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/5 14:35 + */ +public class FmsBusinessTypeResult implements Serializable { + + private static final long serialVersionUID = -5246507559164483529L; + /** + * 主键 + */ + private Long id; + + /** + * 业务类型 + */ + private String businessType; + + /** + * 说明 + */ + private String remark; + + /** + * 文件大小, 单位kb + */ + private String fsSize; + + /** + * 文件类型,逗号分隔符,例如: jpg,png + */ + private String fsType; + + /** + * 创建时间 + */ + private Date createDate; + + /** + * 更新时间 + */ + private Date updateDate; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getBusinessType() { + return businessType; + } + + public void setBusinessType(String businessType) { + this.businessType = businessType; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getFsSize() { + return fsSize; + } + + public void setFsSize(String fsSize) { + this.fsSize = fsSize; + } + + public String getFsType() { + return fsType; + } + + public void setFsType(String fsType) { + this.fsType = fsType; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } +} \ No newline at end of file diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsDetailRecordResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsDetailRecordResult.java new file mode 100644 index 0000000..cb29afe --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsDetailRecordResult.java @@ -0,0 +1,156 @@ +package com.itools.core.result; + +import java.util.Date; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/4 18:01 + */ +public class FmsDetailRecordResult { + /** + * 主键 + */ + private Long id; + + /** + * HTTP协议定义的文件类型,文件上传从文件流中获取 + * 文件存取时使用该字段填入response的content-type字段 + */ + private String contentType; + + /** + * 文件所属系统,文件上传时指定 + */ + private String fromSystemId; + + /** + * 文件大小,单位为字节 + */ + private Long fileSize; + + /** + * 文件的全局唯一ID,后续访问均使用该ID + */ + private String uniqueId; + + /** + * 文件描述信息 + */ + private String remark; + + /** + * 原文件名,来自入参 + */ + private String origFileName; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 删除时间 + */ + private Date deleteTime; + + /** + * 是否已删除文件本身,也即是说,删除文件时数据库记录仅仅将该字段置位1,并不实际删除数据库记录 + * 0:没有删除 + * 1:已删除 + */ + private String deleted; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getContentType() { + return contentType; + } + + public void setContentType(String contentType) { + this.contentType = contentType; + } + + public String getFromSystemId() { + return fromSystemId; + } + + public void setFromSystemId(String fromSystemId) { + this.fromSystemId = fromSystemId; + } + + public Long getFileSize() { + return fileSize; + } + + public void setFileSize(Long fileSize) { + this.fileSize = fileSize; + } + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getOrigFileName() { + return origFileName; + } + + public void setOrigFileName(String origFileName) { + this.origFileName = origFileName; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Date getDeleteTime() { + return deleteTime; + } + + public void setDeleteTime(Date deleteTime) { + this.deleteTime = deleteTime; + } + + public String getDeleted() { + return deleted; + } + + public void setDeleted(String deleted) { + this.deleted = deleted; + } +} \ No newline at end of file diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileRecordPathResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileRecordPathResult.java new file mode 100644 index 0000000..18b04c6 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileRecordPathResult.java @@ -0,0 +1,32 @@ +package com.itools.core.result; + +import java.io.Serializable; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/5 14:35 + */ +public class FmsFileRecordPathResult implements Serializable { + /** + * 文件访问唯一id + */ + private String uniqueId; + private String path; + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileUploadResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileUploadResult.java new file mode 100644 index 0000000..675c018 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsFileUploadResult.java @@ -0,0 +1,21 @@ +package com.itools.core.result; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/5 14:35 + */ +public class FmsFileUploadResult { + /** + * 成功时必填,该文件的唯一ID + */ + private String uniqueId; + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsMultipartFileResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsMultipartFileResult.java new file mode 100644 index 0000000..9d6b560 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsMultipartFileResult.java @@ -0,0 +1,35 @@ +package com.itools.core.result; + +import java.io.Serializable; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/4 18:01 + */ +public class FmsMultipartFileResult implements Serializable { + /** + * 文件访问唯一id + */ + private String uniqueId; + /** + * 文件名称 + */ + private String fileName; + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsRecordResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsRecordResult.java new file mode 100644 index 0000000..470226e --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsRecordResult.java @@ -0,0 +1,20 @@ +package com.itools.core.result; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/4 18:01 + */ +public class FmsRecordResult { + + private FmsDetailRecordResult fssRecord; + + public FmsDetailRecordResult getFssRecord() { + return fssRecord; + } + + public void setFssRecord(FmsDetailRecordResult fssRecord) { + this.fssRecord = fssRecord; + } + +} diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java new file mode 100644 index 0000000..d358953 --- /dev/null +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java @@ -0,0 +1,48 @@ +package com.itools.core.result; + +import java.io.Serializable; + +/** + * @Author XUCHANG + * @description: + * @Date 2020/11/4 18:01 + */ +public class FmsUploadTokenResult implements Serializable { + + private FmsBusinessTypeResult fsBusinessType; + private String fromSystemId; + private String needEncrypt; + private String remark; + + public FmsBusinessTypeResult getFsBusinessType() { + return fsBusinessType; + } + + public void setFsBusinessType(FmsBusinessTypeResult fsBusinessType) { + this.fsBusinessType = fsBusinessType; + } + + public String getFromSystemId() { + return fromSystemId; + } + + public void setFromSystemId(String fromSystemId) { + this.fromSystemId = fromSystemId; + } + + public String getNeedEncrypt() { + return needEncrypt; + } + + public void setNeedEncrypt(String needEncrypt) { + this.needEncrypt = needEncrypt; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } +} diff --git a/itools-fms/itools-fms-server/pom.xml b/itools-fms/itools-fms-server/pom.xml new file mode 100644 index 0000000..9c50910 --- /dev/null +++ b/itools-fms/itools-fms-server/pom.xml @@ -0,0 +1,90 @@ + + + + itools-fms + com.itools.core + 1.0-SNAPSHOT + + 4.0.0 + + itools-fms-server + + + com.itools.core + itools-fms-core + 1.0-SNAPSHOT + + + com.itools.core + itools-fms-model + 1.0-SNAPSHOT + + + com.itools.core + itools-common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + org.projectlombok + lombok + + + com.baomidou + mybatis-plus-boot-starter + + + org.springframework.boot + spring-boot-starter-jdbc + + + com.baomidou + mybatis-plus-generator + + + + mysql + mysql-connector-java + + + + org.springframework.boot + spring-boot-starter-data-redis + + + org.apache.commons + commons-pool2 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java new file mode 100644 index 0000000..f93dd41 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java @@ -0,0 +1,53 @@ +package com.itools.core; + +import com.itools.core.snowflake.config.EnableSequenceService; +import com.itools.core.validate.EnableValidator; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.Banner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@SpringBootApplication +@EnableSequenceService +@EnableValidator +@MapperScan("com.itools.core.mapper") +public class FileSystemApplication { + public static void main(String[] args) { + SpringApplication springApplication = new SpringApplication(FileSystemApplication.class); + springApplication.setBannerMode(Banner.Mode.OFF); + springApplication.run(args); + } + @Bean + public CorsFilter corsFilter() { + final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + final CorsConfiguration config = new CorsConfiguration(); + // 允许cookies跨域 + config.setAllowCredentials(true); + // 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。 + config.addAllowedOrigin("*"); + // 允许访问的头信息,*表示全部 + config.addAllowedHeader("*"); + // 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了 + config.setMaxAge(18000L); + // 允许提交请求的方法,*表示全部允许,也可以单独设置GET、PUT等 + config.addAllowedMethod("*"); + config.addAllowedMethod("HEAD"); + // 允许Get的请求方法 + config.addAllowedMethod("GET"); + config.addAllowedMethod("PUT"); + config.addAllowedMethod("POST"); + config.addAllowedMethod("DELETE"); + config.addAllowedMethod("PATCH"); + source.registerCorsConfiguration("/**", config); + return new CorsFilter(source); + } +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java new file mode 100644 index 0000000..75aa875 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java @@ -0,0 +1,43 @@ +package com.itools.core.controller; + + +import com.itools.core.base.CommonResult; +import com.itools.core.log.Logable; +import com.itools.core.result.FmsRecordResult; +import com.itools.core.result.FmsDetailRecordResult; +import com.itools.core.service.FmsRecordService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-04-01 11:26 + */ +@RestController +public class FmsFileRecordController { + + @Autowired + private FmsRecordService fmsRecordService; + + /** + * 获取文件记录信息 (内部调用) + * @return + * @throws IOException + */ + @RequestMapping(value = "/fssRecord", method = RequestMethod.GET) + @Logable + @ApiOperation(value = "获取文件记录信息", notes = "获取文件记录信息", httpMethod = "GET") + public CommonResult queryFssRecordByUniqueId(@RequestParam("uniqueId") String uniqueId) { + FmsRecordResult response = new FmsRecordResult(); + FmsDetailRecordResult record = fmsRecordService.queryFssRecordByUniqueId(uniqueId); + response.setFssRecord(record); + return CommonResult.success(response); + } +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java new file mode 100644 index 0000000..931b9c1 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java @@ -0,0 +1,312 @@ +package com.itools.core.controller; + +import com.itools.core.base.CommonResult; +import com.itools.core.em.FmsCodeBean; +import com.itools.core.exception.AppException; +import com.itools.core.log.Logable; +import com.itools.core.param.FmsAccessTokenParam; +import com.itools.core.param.FmsUploadTokenParam; +import com.itools.core.param.FmsBusinessTypeParam; +import com.itools.core.request.FmsBase64FileUploadRequest; +import com.itools.core.result.*; +import com.itools.core.service.FmsAccessTokenService; +import com.itools.core.service.FmsBusinessTypeService; +import com.itools.core.service.FmsFileSystemService; +import com.itools.core.utils.Base64Utils; +import com.itools.core.utils.StringUtils; +import com.itools.core.utils.ZipUtils; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Encoder; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +/** + * @description: + * @author: XUCHANG + * @create: 2021-04-01 11:26 + */ +@RestController +public class FmsFileSystemController { + + @Autowired + private FmsBusinessTypeService fmsBusinessTypeService; + + @Autowired + private FmsAccessTokenService fmsAccessTokenService; + + @Autowired + private FmsFileSystemService fmsFileSystemService; + + private static final String SHOW = "show"; + + private static final String DOWNLOAD = "download"; + + private static final Logger LOGGER = LoggerFactory.getLogger(FmsFileSystemController.class); + + @PostMapping("FilePath") + @Logable + @ApiOperation(value = "获取文件访问路径", notes = "获取文件访问路径", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uniqueId", value = "文件的唯一ID", required = true, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "expiredTime", value = "有效时长,单位分钟", required = true, dataType = "Long", paramType = "query"), + @ApiImplicitParam(name = "maxAccessCount", value = "最大访问次数", required = false, dataType = "Long", paramType = "query"), + @ApiImplicitParam(name = "type", value = "文件下载 download/展示 show", required = true, dataType = "String", paramType = "query") + }) + public CommonResult getFileAccessUrl(String uniqueId, Integer expiredTime, @RequestParam(defaultValue = "-1", required = false) int maxAccessCount, String type) { + String fileUrlByFileId = fmsFileSystemService.getFileUrlByFileId(uniqueId, expiredTime, maxAccessCount, type); + return CommonResult.success(fileUrlByFileId); + } + + @PostMapping("FilesPath") + @Logable + @ApiOperation(value = "获取文件访问路径", notes = "获取文件访问路径", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uniqueIds", value = "文件的唯一IDS数组", required = true, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "expiredTime", value = "有效时长,单位分钟", required = true, dataType = "Long", paramType = "query"), + @ApiImplicitParam(name = "maxAccessCount", value = "最大访问次数", required = false, dataType = "Long", paramType = "query"), + @ApiImplicitParam(name = "type", value = "文件下载 download/展示 show", required = true, dataType = "String", paramType = "query") + }) + public CommonResult getFileAccessUrl(@RequestParam(value = "uniqueIds",required = false) List uniqueIds, + @RequestParam(value = "expiredTime",required = false) Integer expiredTime, + @RequestParam(value = "maxAccessCount",defaultValue = "-1", required = false) Integer maxAccessCount, + @RequestParam(value = "type",required = false) String type) { + return fmsFileSystemService.getFileUrlByFileIds(uniqueIds, expiredTime, maxAccessCount, type); + } + + /** + * 仅内部微服务使用,不应该对外开放 + * @param businessType + * @param fromSystemId + * @param needEncrypt + * @param remark + * @return + */ + @PostMapping("UploadToken") + @Logable + @ApiOperation(value = "申请文件上传token", notes = "申请文件上传token", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "businessType", value = "文件类型", required = true, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "fromSystemId", value = "上传的文件来自哪个子系统,系统编号", required = true, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "needEncrypt", value = "是否需加密,后续扩展使用,本期不使用,默认否.0:否 1:是", required = false, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "remark", value = "文件描述信息", required = false, dataType = "String", paramType = "query") + }) + public CommonResult applyUploadToken(String businessType, String fromSystemId, @RequestParam(required = false, defaultValue = "0") String needEncrypt, String remark) { + String uploadToken = fmsFileSystemService.applyUploadToken(businessType, fromSystemId, needEncrypt, remark); + return CommonResult.success(uploadToken); + } + + @GetMapping("File/{uniqueId}") + @Logable + public void downloadFile(@PathVariable String uniqueId, @RequestParam("fileAccessToken") String fileAccessToken, HttpServletResponse response) { + try { + FmsAccessTokenResult fsAccessToken = fmsAccessTokenService.getFileAccessToken(fileAccessToken); + if (fsAccessToken == null) { + throw new AppException(FmsCodeBean.FmsCode.INVALID_FS_TOKEN.code); + } + if (!uniqueId.equals(fsAccessToken.getUniqueId())) { + throw new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code); + } + FmsAccessTokenParam param = new FmsAccessTokenParam(); + BeanUtils.copyProperties(fsAccessToken , param); + FmsDetailRecordResult fsUploadRecord = fmsFileSystemService.getFileUploadRecord(param, uniqueId, fileAccessToken); + String type = fsAccessToken.getType(); + if (SHOW.equals(type)) { + response.addHeader("Content-Length", "" + fsUploadRecord.getFileSize()); + } else if (DOWNLOAD.equals(type)) { + // 设置文件名, 可用于下载 + response.addHeader("Content-Length", "" + fsUploadRecord.getFileSize()); + response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fsUploadRecord.getOrigFileName(), "utf-8")); + } + response.setCharacterEncoding("UTF-8"); + response.setContentType(fsUploadRecord.getContentType()); + OutputStream outputStream = response.getOutputStream(); + FileCopyUtils.copy(new FileInputStream(fmsFileSystemService.getFileLocalPath(fsUploadRecord.getUniqueId() , fsUploadRecord.getOrigFileName())), outputStream); + } catch (AppException e) { + String errorCode = e.getErrorCode(); + response.setStatus(Integer.parseInt(errorCode)); + return; + } catch (IOException e) { + response.setStatus(500); + return; + } + } + + @GetMapping("File/getFileBase64") + @Logable + public CommonResult getFileBase64(@RequestParam("uniqueId")String uniqueId){ + FmsDetailRecordResult fsUploadRecord = fmsFileSystemService.getFileUploadRecord(uniqueId); + try { + String path = fmsFileSystemService.getFileLocalPath(fsUploadRecord.getUniqueId() , fsUploadRecord.getOrigFileName()); + File file = new File(path); + FileInputStream fileInputStream = new FileInputStream(file); + byte[] buffer = new byte[(int)file.length()]; + fileInputStream.read(buffer); + fileInputStream.close(); + return CommonResult.success(new BASE64Encoder().encode(buffer)); + } catch (Exception e) { + LOGGER.error(FmsCodeBean.FmsCode.ERROR_TRANS_BASE64.code, e); + throw new AppException(FmsCodeBean.FmsCode.ERROR_TRANS_BASE64.code, FmsCodeBean.FmsCode.ERROR_TRANS_BASE64.message); + } + } + + /** + * 此接口不对外开放,仅供内部微服务使用 + * @param base64Req + * @return + */ + @PostMapping("File/BaseSixFour") + @Logable + @ApiOperation(value = "文件上传", notes = "文件上传", httpMethod = "POST") + public CommonResult uploadFileBase64(@RequestBody(required = true) FmsBase64FileUploadRequest base64Req) { + FmsUploadTokenResult fsUploadToken = fmsBusinessTypeService.getFsBusinessTypeByUploadToken(base64Req.getUploadToken()); + if (fsUploadToken == null) { + throw new AppException(FmsCodeBean.FmsCode.ERROR_TIMEOUT.code); + } + FmsBusinessTypeResult fsBusinessType = fsUploadToken.getFsBusinessType(); + byte[] fileBytes; + try { + //将字符串转换为byte数组 + fileBytes = Base64Utils.decode(base64Req.getFileBaseSixFour()); + } catch (Exception e) { + throw new AppException(FmsCodeBean.FmsCode.FAIL.code); + } + + String fsSize = fsBusinessType.getFsSize(); + Long limitSize = Long.parseLong(fsSize); + long fileSize = fileBytes.length; + int mult = 1024; + if (fileSize > (limitSize * mult)) { + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILESIZE_OUT_OFF_LIMIT.code); + } + if (!fsBusinessType.getBusinessType().equals(base64Req.getBusinessType())) { + // 文件类型不一致 + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILETYPE.code); + } + FmsBusinessTypeParam fmsBusinessTypeParam = new FmsBusinessTypeParam(); + BeanUtils.copyProperties(fsBusinessType , fmsBusinessTypeParam); + FmsUploadTokenParam fmsUploadTokenParam = new FmsUploadTokenParam(); + BeanUtils.copyProperties(fsUploadToken , fmsUploadTokenParam); + String fileUploadResponse = fmsFileSystemService.saveFileFromBytes(fileBytes, base64Req.getFileName(), fmsBusinessTypeParam, fmsUploadTokenParam); + fmsBusinessTypeService.deleteFsBusinessTypeByUploadToken(base64Req.getUploadToken()); + return CommonResult.success(fileUploadResponse); + } + + /** + * 返回文件的唯一ID + * @param file + * @param uploadToken + * @return + */ + @PostMapping("File") + @Logable + @ApiOperation(value = "文件上传", notes = "文件上传", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uploadToken", value = "文件上传token", required = true, dataType = "String", paramType = "query") + }) + public CommonResult fileUpload(@RequestPart(name = "file", required = true) MultipartFile file, + String uploadToken, + String fileName) { + //压缩过后的文件名称前端无法获取,额外的字段标识 + String originalFilename = file.getOriginalFilename(); + if (!StringUtils.isBlank(fileName)){ + originalFilename = fileName; + } + FmsFileUploadResult response = new FmsFileUploadResult(); + if (file == null || StringUtils.isBlank(originalFilename)) { + // 文件不能为空 + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILE_IS_NULL.code); + } + FmsUploadTokenResult fsUploadToken = fmsBusinessTypeService.getFsBusinessTypeByUploadToken(uploadToken); + if (fsUploadToken == null) { + throw new AppException(FmsCodeBean.FmsCode.ERROR_TIMEOUT.code); + } + FmsBusinessTypeResult fsBusinessType = fsUploadToken.getFsBusinessType(); + String fsSize = fsBusinessType.getFsSize(); + Long limitSize = Long.parseLong(fsSize); + long fileSize = file.getSize(); + int mult = 102400; + if (fileSize > (limitSize * mult)) { + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILESIZE_OUT_OFF_LIMIT.code); + } + String fsType = fsBusinessType.getFsType(); + if (StringUtils.equals(fsType, "currency")){ + //如果取值为currency,则不判断类型 + }else { + String suffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1); + String contentType = file.getContentType(); + if (contentType == null || !fsType.contains(suffix.trim().toLowerCase()) || !fsType.contains(contentType)) { + LOGGER.error(FmsCodeBean.FmsCode.ERROR_FILETYPE.code, "文件类型:" + suffix + " || " + contentType); + // 文件后缀错误 + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILETYPE.code); + } + } + + FmsUploadTokenParam param = new FmsUploadTokenParam(); + BeanUtils.copyProperties(fsUploadToken , param); + param.setOriginalFilename(originalFilename); + String uniqueId = fmsFileSystemService.saveFile(file, param); + fmsBusinessTypeService.deleteFsBusinessTypeByUploadToken(uploadToken); + response.setUniqueId(uniqueId); + return CommonResult.success(response); + } + + /** + * 文件批量上传 + * @param files 文件 + * @param uploadToken 申请的token + * @return + */ + @PostMapping("/Files") + @Logable + @ApiOperation(value = "批量上传文件", notes = "批量上传文件", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "uploadToken", value = "文件上传token", required = true, dataType = "String", paramType = "query") + }) + public CommonResult filesMultipartUpload(@RequestPart(name = "files", required = true) MultipartFile[] files, String uploadToken) { + + return fmsFileSystemService.filesMultipartUpload(files,uploadToken); + } + + @ApiOperation(value = "下载zip压缩文件接口", notes = "下载zip压缩文件接口", httpMethod = "GET") + @Logable + @RequestMapping(value = "/download/zip",method = RequestMethod.GET) + public void downloadZipByUniqueIds(@RequestParam("uniqueIds") List uniqueIds, + @RequestParam(value = "zipName", required = false) String zipName, + HttpServletResponse response) throws IOException { + if (StringUtils.isBlank(zipName)) { + zipName = "attachment"; + } + List paths = new ArrayList<>(); + List files = new ArrayList<>(); + for (String uniqueId : uniqueIds) { + FmsDetailRecordResult fsUploadRecord = fmsFileSystemService.getFileUploadRecord(uniqueId); + String path = fmsFileSystemService.getFileLocalPath(uniqueId, fsUploadRecord.getOrigFileName()); + paths.add(path); + File file = new File(path); + files.add(file); + } + try { + response.setContentType("application/zip"); + response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(zipName + ".zip", "utf-8")); + OutputStream outputStream = response.getOutputStream(); + ZipUtils.toZip(files, outputStream); + } catch (FileNotFoundException e) { + throw new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/TestController.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/TestController.java new file mode 100644 index 0000000..2ad997e --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/TestController.java @@ -0,0 +1,35 @@ +package com.itools.core.controller; + +import com.itools.core.base.CommonResult; +import com.itools.core.context.FileStrategyServiceContext; +import com.itools.core.em.StrategyType; +import com.itools.core.service.FileManagerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:23 + */ +@RestController +public class TestController { + @Qualifier("fastDfsFileManagerServiceImpl") + @Autowired + private FileManagerService fileManagerService; + + @Autowired + private FileStrategyServiceContext fileStrategyServiceContext; + @GetMapping("/test") + public CommonResult test(){ + FileManagerService fileManagerService2 = fileStrategyServiceContext.get(StrategyType.NIO.getType()); + return fileManagerService2.mutipartUploadFiles(); + } + @GetMapping("/test2") + public CommonResult test2(){ + return fileManagerService.mutipartUploadFiles(); + } +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsAccessTokenMapper.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsAccessTokenMapper.java new file mode 100644 index 0000000..e770dbd --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsAccessTokenMapper.java @@ -0,0 +1,34 @@ +package com.itools.core.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.itools.core.dto.accessToken.FmsAccessTokenDTO; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Repository +public interface FmsAccessTokenMapper extends BaseMapper { + + + /** + * 根据主键(fileAccessToken)查询 + * + * @param fileAccessToken + * @return + */ + FmsAccessTokenDTO selectByPrimaryKey(String fileAccessToken); + + /** + * 批量插入 + * @param records + * @return + */ + int multipartInsert(@Param("records") List records); +} \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsBusinessTypeMapper.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsBusinessTypeMapper.java new file mode 100644 index 0000000..7fd866b --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsBusinessTypeMapper.java @@ -0,0 +1,52 @@ +package com.itools.core.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.itools.core.dto.businessType.FmsBusinessTypeDTO; +import org.springframework.stereotype.Repository; + +import java.util.List; +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Repository +public interface FmsBusinessTypeMapper extends BaseMapper { + /** + * 根据主键删除 + * @param id + * @return + */ + int deleteByPrimaryKey(Long id); + + /** + * 插入非空参数 + * @param record + * @return + */ + int insertSelective(FmsBusinessTypeDTO record); + /** + * 根据主键查询 + * @param id + * @return + */ + FmsBusinessTypeDTO selectByPrimaryKey(Long id); + /** + * 根据主键更新非空参数 + * @param record + * @return + */ + int updateByPrimaryKeySelective(FmsBusinessTypeDTO record); + /** + * 根据主键更新所有参数 + * @param record + * @return + */ + int updateByPrimaryKey(FmsBusinessTypeDTO record); + /** + * 根据入参条件查询 + * @param record + * @return + */ + List selectBySelective(FmsBusinessTypeDTO record); +} \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsFileRecordMapper.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsFileRecordMapper.java new file mode 100644 index 0000000..28a6eb7 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/mapper/FmsFileRecordMapper.java @@ -0,0 +1,54 @@ +package com.itools.core.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.itools.core.dto.fileRecord.FmsRecordDTO; +import org.springframework.stereotype.Repository; + +import java.util.List; +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Repository +public interface FmsFileRecordMapper extends BaseMapper { + + /** + * 根据主键更新非空参数 + * @param record + * @return + */ + int updateByPrimaryKeySelective(FmsRecordDTO record); + + /** + * 根据入参条件查询 + * @param record + * @return + */ + List selectbySelective(FmsRecordDTO record); + /** + * 插入非空参数 + * @param record + * @return + */ + int insertSelective(FmsRecordDTO record); + /** + * 根据主键查询 + * @param id + * @return + */ + FmsRecordDTO selectByPrimaryKey(Long id); + /** + * 根据主键删除 + * @param id + * @return + */ + int deleteByPrimaryKey(Long id); + /** + * 根据主键更新所有参数 + * @param record + * @return + */ + int updateByPrimaryKey(FmsRecordDTO record); + +} \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsAccessTokenService.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsAccessTokenService.java new file mode 100644 index 0000000..0cd8e5f --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsAccessTokenService.java @@ -0,0 +1,40 @@ +package com.itools.core.service; + + +import com.itools.core.result.FmsAccessTokenResult; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-04-01 11:26 + */ +public interface FmsAccessTokenService { + + /** + * 从缓存中获取FsAccessToken信息 + * + * @param fileAccessToken + * @return + */ + FmsAccessTokenResult getFileAccessToken(String fileAccessToken); + + /** + * 缓存FsAccessToken信息 + * + * @param fileAccessToken + * @param expiredTime + * @param maxAccessCount + * @param uniqueId + * @param type + * @return + */ + FmsAccessTokenResult cacheFileAccessToken(String fileAccessToken, int expiredTime, int maxAccessCount, String uniqueId, String type); + + + /** + * 删除缓存数据 + * + * @param fileAccessToken + */ + void deleteFileAccessToken(String fileAccessToken); +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsBusinessTypeService.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsBusinessTypeService.java new file mode 100644 index 0000000..488b149 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsBusinessTypeService.java @@ -0,0 +1,42 @@ +package com.itools.core.service; + + +import com.itools.core.param.FmsUploadTokenParam; +import com.itools.core.result.FmsUploadTokenResult; +import com.itools.core.result.FmsBusinessTypeResult; + +import java.util.List; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-04-01 11:26 + */ +public interface FmsBusinessTypeService { + + /** + * 查询FsBusinessType列表 + * + * @param businessType + * @return + */ + List queryFsBusinessTypeList(String businessType); + + /** + * 根据 uploadToken ,缓存FsBusinessType对象 + * + * @param uploadToken + * @return + */ + FmsUploadTokenResult cacheFsUploadToken(String uploadToken, FmsUploadTokenParam fsUploadToken); + + /** + * 根据 uploadToken ,获取FsBusinessType对象 + * + * @param uploadToken + * @return + */ + FmsUploadTokenResult getFsBusinessTypeByUploadToken(String uploadToken); + + void deleteFsBusinessTypeByUploadToken(String uploadToken); +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsFileSystemService.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsFileSystemService.java new file mode 100644 index 0000000..3f8cae6 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsFileSystemService.java @@ -0,0 +1,128 @@ +package com.itools.core.service; + +import com.itools.core.base.CommonResult; +import com.itools.core.param.FmsAccessTokenParam; +import com.itools.core.param.FmsUploadTokenParam; +import com.itools.core.param.FmsBusinessTypeParam; +import com.itools.core.result.FmsBusinessTypeResult; +import com.itools.core.result.FmsDetailRecordResult; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 11:26 + */ +public interface FmsFileSystemService { + + /** + * 根据uniqeId和文件名得到本地文件存储路径 + * @param uniqueId + * @param fileName + * @return + */ + String getFileLocalPath(String uniqueId, String fileName); + + + + /** + * 存储文件 + * + * @param file + * @param fsUploadToken + * @return + */ + String saveFile(MultipartFile file, FmsUploadTokenParam fsUploadToken); + + + + /** + * 申请文件上传token + * @param businessType + * @param fromSystemId + * @param needEncrypt + * @param remark + * @return + */ + String applyUploadToken(String businessType, String fromSystemId, String needEncrypt, String remark); + + + /** + * 存储文件 + * 使用字节流输入文件 + * 返回文件的全局唯一ID + * @param fileBytes + * @param fileName + * @param fsBusinessType + * @param fsUploadToken + * @return + */ + String saveFileFromBytes(byte[] fileBytes, String fileName, FmsBusinessTypeParam fsBusinessType, FmsUploadTokenParam fsUploadToken); + + + + + /** + * 获取文件访问路径,如果超时时间设置为小于等于0,那么返回的有效路径可以永久访问 + * + * @param uniqueId + * @param expiredTime + * @param maxAccessCount + * @return + */ + String getFileUrlByFileId(String uniqueId, int expiredTime, int maxAccessCount, String type); + + /** + * 获得uniqueId对应的文件上传记录 + * 会检查 + * @param fsAccessToken + * @param uniqueId + * @param fileAccessToken + * @return + */ + FmsDetailRecordResult getFileUploadRecord(FmsAccessTokenParam fsAccessToken, String uniqueId, String fileAccessToken); + + + /** + * 获得uniqueId对应的文件上传记录 + * @param uniqueId + * @return + */ + FmsDetailRecordResult getFileUploadRecord(String uniqueId); + + /** + * 文件批量上传 + * @param files + * @param param + * @return + */ + CommonResult uploadFiles(MultipartFile[] files, FmsUploadTokenParam param); + + /** + * 验证文件 + * @param files + * @param fsBusinessType + */ + void verifyFiles(MultipartFile[] files, FmsBusinessTypeResult fsBusinessType); + + /** + * 文件批量上传的业务逻辑 + * @param files + * @param uploadToken + * @return + */ + CommonResult filesMultipartUpload(MultipartFile[] files, String uploadToken); + + /** + * 获取文件访问路径,如果超时时间设置为小于等于0,那么返回的有效路径可以永久访问 + * @param uniqueIds + * @param expiredTime + * @param maxAccessCount + * @param type + * @return + */ + CommonResult getFileUrlByFileIds(List uniqueIds, Integer expiredTime, int maxAccessCount, String type); +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsRecordService.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsRecordService.java new file mode 100644 index 0000000..0df6b92 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/FmsRecordService.java @@ -0,0 +1,16 @@ +package com.itools.core.service; + + +import com.itools.core.result.FmsDetailRecordResult; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-04-01 11:26 + */ +public interface FmsRecordService { + + + FmsDetailRecordResult queryFssRecordByUniqueId(String uniqueId); + +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsAccessTokenServiceImpl.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsAccessTokenServiceImpl.java new file mode 100644 index 0000000..be0b5de --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsAccessTokenServiceImpl.java @@ -0,0 +1,126 @@ +package com.itools.core.service.impl; + +import com.alibaba.fastjson.JSON; +import com.itools.core.dto.accessToken.FmsAccessTokenDTO; +import com.itools.core.em.FmsCodeBean; +import com.itools.core.exception.AppException; +import com.itools.core.log.Logable; +import com.itools.core.mapper.FmsAccessTokenMapper; +import com.itools.core.result.FmsAccessTokenResult; +import com.itools.core.service.FmsAccessTokenService; +import com.itools.core.utils.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Service +public class FmsAccessTokenServiceImpl implements FmsAccessTokenService { + + @Autowired + private RedisTemplate redisTemplate; + @Autowired + private FmsAccessTokenMapper fmsAccessTokenMapper; + /** + * 从缓存中或者数据库中获取FsAccessToken信息 + * + * @param fileAccessToken + * @return + */ + @Override + public FmsAccessTokenResult getFileAccessToken(String fileAccessToken) { + Object object = redisTemplate.opsForValue().get(fileAccessToken); + if (object != null){ + FmsAccessTokenResult result = JSON.parseObject((String) object, FmsAccessTokenResult.class); + return result; + }else { + FmsAccessTokenDTO fssFmsAccessTokenDto = fmsAccessTokenMapper.selectByPrimaryKey(fileAccessToken); + if (fssFmsAccessTokenDto == null){ + return null; + } + FmsAccessTokenResult result = new FmsAccessTokenResult(); + BeanUtils.copyProperties(fssFmsAccessTokenDto, result); + return result; + } + } + + /** + * 缓存FsAccessToken信息,如果过期时间小于等于0,则会将accessToken持久化(缓存到数据库) + * @param fileAccessToken + * @param expiredTime + * @param maxAccessCount + * @param uniqueId + * @param type + * @return + */ + @Override + public FmsAccessTokenResult cacheFileAccessToken(String fileAccessToken, int expiredTime, int maxAccessCount, String uniqueId, String type) { + if (StringUtils.isBlank(fileAccessToken)) { + throw new AppException(FmsCodeBean.FmsCode.FAIL.code); + } + FmsAccessTokenResult fmsAccessTokenResult = new FmsAccessTokenResult(expiredTime, maxAccessCount, uniqueId, type); + if (expiredTime > 0){ + redisTemplate.opsForValue().set(fileAccessToken , JSON.toJSONString(fmsAccessTokenResult) , expiredTime , TimeUnit.MINUTES); + }else { + FmsAccessTokenDTO fssFmsAccessTokenDto = new FmsAccessTokenDTO(); + fssFmsAccessTokenDto.setFileAccessToken(fileAccessToken); + fssFmsAccessTokenDto.setType(type); + fssFmsAccessTokenDto.setUniqueId(uniqueId); + fmsAccessTokenMapper.insert(fssFmsAccessTokenDto); + } + return fmsAccessTokenResult; + } + /** + * 缓存FsAccessToken信息,如果过期时间小于等于0,则会将accessToken持久化(缓存到数据库) + * @param fileAccessToken + * @param expiredTime + * @param maxAccessCount + * @param uniqueIds + * @param type + * @return + */ + public List cacheFileAccessToken(String fileAccessToken, int expiredTime, int maxAccessCount, List uniqueIds, String type) { + if (StringUtils.isBlank(fileAccessToken)) { + throw new AppException(FmsCodeBean.FmsCode.FAIL.code); + } + List fssAccessTokens = new ArrayList<>(); + for (String uniqueId : uniqueIds){ + FmsAccessTokenResult fmsAccessTokenResult = new FmsAccessTokenResult(expiredTime, maxAccessCount, uniqueId, type); + if (expiredTime > 0){ + redisTemplate.opsForValue().set(fileAccessToken , JSON.toJSONString(fmsAccessTokenResult) , expiredTime , TimeUnit.MINUTES); + }else { + FmsAccessTokenDTO fssFmsAccessTokenDto = new FmsAccessTokenDTO(); + fssFmsAccessTokenDto.setFileAccessToken(fileAccessToken); + fssFmsAccessTokenDto.setType(type); + fssFmsAccessTokenDto.setUniqueId(uniqueId); + fssAccessTokens.add(fssFmsAccessTokenDto); + } + } + if (!CollectionUtils.isEmpty(fssAccessTokens)){ + fmsAccessTokenMapper.multipartInsert(fssAccessTokens); + } + return fssAccessTokens; + } + + /** + * 删除缓存数据 + * + * @param fileAccessToken + */ + @Override + @CacheEvict(value = "fileAccessToken", key = "#fileAccessToken") + @Logable(businessTag = "FsAccessService") + public void deleteFileAccessToken(String fileAccessToken) { + } +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsBusinessTypeServiceImpl.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsBusinessTypeServiceImpl.java new file mode 100644 index 0000000..b61c808 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsBusinessTypeServiceImpl.java @@ -0,0 +1,88 @@ +package com.itools.core.service.impl; + +import com.itools.core.dto.businessType.FmsBusinessTypeDTO; +import com.itools.core.log.Logable; +import com.itools.core.mapper.FmsBusinessTypeMapper; +import com.itools.core.param.FmsUploadTokenParam; +import com.itools.core.result.FmsUploadTokenResult; +import com.itools.core.result.FmsBusinessTypeResult; +import com.itools.core.service.FmsBusinessTypeService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Service +public class FmsBusinessTypeServiceImpl implements FmsBusinessTypeService { + @Autowired + private FmsBusinessTypeMapper fmsBusinessTypeMapper; + + /** + * 查询FsBusinessType列表 + * + * @param businessType + * @return + */ + @Override + @Cacheable(value = "fsBusinessTypes", key = "#businessType") + @Logable + public List queryFsBusinessTypeList(String businessType) { + if (StringUtils.isBlank(businessType)) { + return null; + } + FmsBusinessTypeDTO tmp = new FmsBusinessTypeDTO(); + tmp.setBusinessType(businessType); + List fssBusinessTypes = fmsBusinessTypeMapper.selectBySelective(tmp); + List fmsBusinessTypeResults = new ArrayList<>(); + for (FmsBusinessTypeDTO fssBusinessType : fssBusinessTypes){ + FmsBusinessTypeResult fmsBusinessTypeResult = new FmsBusinessTypeResult(); + BeanUtils.copyProperties(fssBusinessType , fmsBusinessTypeResult); + fmsBusinessTypeResults.add(fmsBusinessTypeResult); + } + return fmsBusinessTypeResults; + } + + /** + * 根据 uploadToken ,缓存FsBusinessType对象 + * + * @param uploadToken + * @return + */ + @Override + @Cacheable(value = "fsBusinessType", key = "#uploadToken") + @Logable + public FmsUploadTokenResult cacheFsUploadToken(String uploadToken, FmsUploadTokenParam fmsUploadTokenParam) { + FmsUploadTokenResult result = new FmsUploadTokenResult(); + BeanUtils.copyProperties(fmsUploadTokenParam, result); + return result; + } + + /** + * 根据 uploadToken ,获取FsBusinessType对象 + * + * @param uploadToken + * @return + */ + @Override + @Cacheable(value = "fsBusinessType", key = "#uploadToken") + @Logable + public FmsUploadTokenResult getFsBusinessTypeByUploadToken(String uploadToken) { + return null; + } + + @Override + @CacheEvict(value = "fsBusinessType", key = "#uploadToken") + @Logable + public void deleteFsBusinessTypeByUploadToken(String uploadToken) { + } +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java new file mode 100644 index 0000000..ee313ab --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java @@ -0,0 +1,567 @@ +package com.itools.core.service.impl; + +import com.alibaba.fastjson.JSON; +import com.itools.core.base.CommonResult; +import com.itools.core.dto.accessToken.FmsAccessTokenDTO; +import com.itools.core.dto.fileRecord.FmsRecordDTO; +import com.itools.core.em.FmsCodeBean; +import com.itools.core.em.FmsConstants; +import com.itools.core.exception.AppException; +import com.itools.core.log.Logable; +import com.itools.core.mapper.FmsAccessTokenMapper; +import com.itools.core.mapper.FmsFileRecordMapper; +import com.itools.core.param.FmsAccessTokenParam; +import com.itools.core.param.FmsUploadTokenParam; +import com.itools.core.param.FmsBusinessTypeParam; +import com.itools.core.result.*; +import com.itools.core.service.FmsFileSystemService; +import com.itools.core.service.impl.task.MyUploadFileTask; +import com.itools.core.snowflake.SequenceService; +import com.itools.core.utils.CollectionUtils; +import com.itools.core.utils.UUIDUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.io.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.FutureTask; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Service +public class FmsFileSystemServiceImpl implements FmsFileSystemService { + + + @Value("${fileStoreRootPath}") + String fileStoreRootPath; + + @Value("${fileAccessUrlForOutter}") + String fileAccessUrlForOutter; + + @Value("${fileUploadLimitSize}") + Integer fileUploadLimitSize; + + @Value("${fileMaxRequestSize}") + Integer fileMaxRequestSize; + + @Value("${fileMaxFileSize}") + Integer fileMaxFileSize; + + @Autowired + FmsFileSystemServiceImpl self; + + @Autowired + SequenceService sequenceService; + + @Autowired + FmsBusinessTypeServiceImpl fmsBusinessTypeService; + + @Autowired + RedisTemplate redisTemplate; + + + @Autowired + private FmsFileRecordMapper fmsFileRecordMapper; + + @Autowired + FmsAccessTokenServiceImpl fmsAccessTokenService; + + @Autowired + private FmsAccessTokenMapper fmsAccessTokenMapper; + + private Logger logger = LoggerFactory.getLogger(this.getClass()); + //文件的type + private final static String CURRENCY_TYPE = "currency"; + //线程池:核心线程:5,非核心线程:5,阻塞队列:10 + private ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 0, TimeUnit.SECONDS, new LinkedBlockingDeque(10)); + + /** + * 根据uniqeId和文件名得到本地文件存储路径 + * @param uniqueId + * @param fileName + * @return + */ + @Override + public String getFileLocalPath(String uniqueId , String fileName) { + if (StringUtils.isBlank(uniqueId)) { + throw new AppException(FmsCodeBean.FmsCode.INVALID_FS_UNIQUE_ID.code); + } + String path = fileStoreRootPath+File.separator; + int pathLength = 4; + for(int i=0;i fsBusinessTypes = fmsBusinessTypeService.queryFsBusinessTypeList(businessType); + if (fsBusinessTypes == null || fsBusinessTypes.isEmpty()) { + throw new AppException(FmsCodeBean.FmsCode.ERROR_BUSINESS_TYPE_NOT_EXIST.code); + } + FmsUploadTokenParam fsUploadToken = new FmsUploadTokenParam(); + fsUploadToken.setFromSystemId(fromSystemId); + fsUploadToken.setFsBusinessType(fsBusinessTypes.get(0)); + fsUploadToken.setNeedEncrypt(needEncrypt); + fsUploadToken.setRemark(remark); + fmsBusinessTypeService.cacheFsUploadToken(uploadToken, fsUploadToken); + return uploadToken; + } + + + /** + * 存储文件 + * 使用字节流输入文件 + * 返回文件的全局唯一ID + * @param fileBytes + * @param fileName + * @param fsBusinessType + * @param fsUploadToken + * @return + */ + @Override + public String saveFileFromBytes(byte[] fileBytes, String fileName, FmsBusinessTypeParam fsBusinessType, FmsUploadTokenParam fsUploadToken) { + String uniqueId = UUIDUtils.uuid(); + saveFileToLocal(fileBytes, fileName, uniqueId); + + String originalFilename = StringUtils.isBlank(fileName) ? uniqueId : fileName; + String contentType = fsBusinessType.getFsType(); + + return createAndPersistDBRecord(originalFilename, contentType, (long) fileBytes.length, fsUploadToken, uniqueId); + } + + + + protected void saveFileToLocal(byte[] fileBytes, String fileName, String uuid) { + File outputFile = new File(getFileLocalPath(uuid , fileName)); + if (!outputFile.getParentFile().exists()) { + outputFile.getParentFile().mkdirs(); + } + try { + outputFile.createNewFile(); + } catch (IOException e) { + throw new AppException(FmsCodeBean.FmsCode.FAIL.code, e); + } + try (OutputStream out = new FileOutputStream(outputFile)) { + FileCopyUtils.copy(fileBytes, out); + } catch (IOException e) { + throw new AppException(FmsCodeBean.FmsCode.FAIL.code, e); + } + } + + /** + * 获取文件访问路径 + * + * @param uniqueId + * @param expiredTime + * @param maxAccessCount + * @return + */ + @Override + @Logable + public String getFileUrlByFileId(String uniqueId, int expiredTime, int maxAccessCount, String type) { + FmsRecordDTO tmp = new FmsRecordDTO(); + tmp.setUniqueId(uniqueId); + List fsUploadRecords = fmsFileRecordMapper.selectbySelective(tmp); + if (fsUploadRecords == null || fsUploadRecords.isEmpty()) { + logger.error(FmsCodeBean.FmsCode.NOT_EXIST_FILE.message,new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code, FmsCodeBean.FmsCode.NOT_EXIST_FILE.message)); + return ""; + } + String fileAccessToken = UUIDUtils.uuid(); + //String fileAccessUrlForOutter = "http://192.168.0.135:8150/fs/File/";//本地路径 + String path = fileAccessUrlForOutter + uniqueId + "?fileAccessToken=" + fileAccessToken; + // 缓存文件token + FmsAccessTokenResult fsAccessToken = fmsAccessTokenService.cacheFileAccessToken(fileAccessToken, expiredTime, maxAccessCount, uniqueId, type); + if (fsAccessToken == null) { + throw new AppException(FmsCodeBean.FmsCode.FAIL.code); + } + return path; + } + + /** + * 获得uniqueId对应的文件上传记录 + * 会检查 + * @param fsAccessToken + * @param uniqueId + * @param fileAccessToken + * @return + */ + @Override + @Logable + public FmsDetailRecordResult getFileUploadRecord(FmsAccessTokenParam fsAccessToken, String uniqueId, String fileAccessToken) { + FmsRecordDTO tmp = new FmsRecordDTO(); + tmp.setUniqueId(uniqueId); + List fsUploadRecords = fmsFileRecordMapper.selectbySelective(tmp); + if (fsUploadRecords == null || fsUploadRecords.isEmpty()) { + // 无该文件,返回404 + throw new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code); + } + int maxAccessCount = fsAccessToken.getMaxAccessCount(); + if (fsAccessToken.getExpiredTime() > 0){ + if (maxAccessCount != -1) { + // 次数减一 + maxAccessCount--; + if (maxAccessCount == 0) { + // 删除缓存 + fmsAccessTokenService.deleteFileAccessToken(fileAccessToken); + } else { + // 更新缓存 + int expiredTime = fsAccessToken.getExpiredTime(); + fmsAccessTokenService.cacheFileAccessToken(fileAccessToken, expiredTime, maxAccessCount, uniqueId, fsAccessToken.getType()); + // 更新缓存时间 + redisTemplate.expire(fileAccessToken, expiredTime, TimeUnit.MINUTES); + } + } + } + + // 返回该文件 + FmsRecordDTO fssRecord = fsUploadRecords.get(0); + FmsDetailRecordResult result = new FmsDetailRecordResult(); + BeanUtils.copyProperties(fssRecord , result); + return result; + } + + @Override + public FmsDetailRecordResult getFileUploadRecord(String uniqueId) { + FmsRecordDTO tmp = new FmsRecordDTO(); + tmp.setUniqueId(uniqueId); + List fsUploadRecords = fmsFileRecordMapper.selectbySelective(tmp); + if (fsUploadRecords == null || fsUploadRecords.isEmpty()) { + // 无该文件,返回404 + throw new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code); + } + FmsRecordDTO fssRecord = fsUploadRecords.get(0); + FmsDetailRecordResult result = new FmsDetailRecordResult(); + BeanUtils.copyProperties(fssRecord , result); + return result; + } + + /** + * 文件批量上传 + * @param files + * @param param + * @return + */ + @Override + public CommonResult uploadFiles(MultipartFile[] files, FmsUploadTokenParam param) { + + //收集文件数对应的结果 + List results = new ArrayList<>(); + List> taskList = new ArrayList<>(); + for (MultipartFile file : files){ + //执行多线程上传 执行上传的service,文件,参数 +// this.saveFile(file,param); + String uuid = UUIDUtils.uuid(); + FutureTask futureTask = new FutureTask<>(new MyUploadFileTask(self,file,param,uuid)); + taskList.add(futureTask); + //返回信息 + FmsMultipartFileResult multipartFileResult = new FmsMultipartFileResult(); + multipartFileResult.setFileName(file.getOriginalFilename()); + multipartFileResult.setUniqueId(String.valueOf(uuid)); + results.add(multipartFileResult); + try { + threadPoolExecutor.execute(futureTask); + }catch (Exception e){ + logger.error("批量上传文件失败"); + throw new AppException(FmsCodeBean.FmsCode.FILE_MULTIPART_UPLOAD.code); + } + } + //待所有线程任务完成,返回结果。其中一个上传失败,抛出异常 + for(FutureTask task: taskList){ + if (task == null){ + logger.error("批量上传文件失败"); + throw new AppException(FmsCodeBean.FmsCode.FILE_MULTIPART_UPLOAD.code); + } + } + + return CommonResult.success(results); + } + + /** + * 验证文件 + * @param files + * @param fsBusinessType + */ + @Override + public void verifyFiles(MultipartFile[] files, FmsBusinessTypeResult fsBusinessType) { + if (files.length == 0 || files == null){ + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILE_IS_NULL.code); + } + if (files.length > fileUploadLimitSize){ + throw new AppException(FmsCodeBean.FmsCode.FILE_LIMIT_SIZE.code); + } + //所有文件大小,单位字节 + long allFileSize = 0; + for (MultipartFile file : files){ + if (file == null || StringUtils.isBlank(file.getOriginalFilename())) { + // 文件不能为空 + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILE_IS_NULL.code); + } + //通用类型的文件大小,单位kb + String fsSize = fsBusinessType.getFsSize(); + //通用类型的文件大小,单位kb + Long limitSize = Long.parseLong(fsSize); + //文件的大小,单位字节 + long fileSize = file.getSize(); + //总文件累计,单位字节 + allFileSize += fileSize; + //类型允许的文件大小,KB转字节 + long allowFileSize = limitSize * 1024; + //判断文件大小与限制的大小是否符合 + if (fileSize > allowFileSize || fileSize > (fileMaxFileSize * 1024)) { + logger.error("文件名称{}的大小{}字节的文件超过限制【类型限制大小{}KB,单个文件限制大小{}KB】",file.getOriginalFilename(),fileSize,fileSize,fileMaxFileSize); + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILESIZE_OUT_OFF_LIMIT.code); + } + String fsType = fsBusinessType.getFsType(); + if (!StringUtils.equals(fsType, CURRENCY_TYPE)){ + //如果取值不为currency,则判断类型 + String originFileName = file.getOriginalFilename(); + String suffix = originFileName.substring(originFileName.lastIndexOf(".") + 1); + String contentType = file.getContentType(); + if (contentType == null || !fsType.contains(suffix.trim().toLowerCase()) || !fsType.contains(contentType)) { + logger.error(FmsCodeBean.FmsCode.ERROR_FILETYPE.code, "文件类型:" + suffix + " || " + contentType); + // 文件后缀错误 + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILETYPE.code); + } + } + } + //请求的文件大小限制,KB转字节 + if (allFileSize > (fileMaxRequestSize * 1024)){ + logger.error("文件的总大小为{}字节,已经超过请求限制的{}字节大小",allFileSize,fileMaxRequestSize * 1024); + throw new AppException(FmsCodeBean.FmsCode.ERROR_FILESIZE_OUT_OFF_LIMIT.code); + } + } + + /** + * 文件批量上传的业务逻辑 + * @param files + * @param uploadToken + * @return + */ + @Override + @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) + public CommonResult filesMultipartUpload(MultipartFile[] files, String uploadToken) { + //验证token是否合理 + FmsUploadTokenResult fsUploadToken = fmsBusinessTypeService.getFsBusinessTypeByUploadToken(uploadToken); + if (fsUploadToken == null) { + throw new AppException(FmsCodeBean.FmsCode.ERROR_TIMEOUT.code); + } + //获取文件允许是类型 + FmsBusinessTypeResult fsBusinessType = fsUploadToken.getFsBusinessType(); + //验证文件 + self.verifyFiles(files,fsBusinessType); + FmsUploadTokenParam param = new FmsUploadTokenParam(); + BeanUtils.copyProperties(fsUploadToken , param); + //批量上传 + CommonResult fileResult = self.uploadFiles(files,param); +// String uniqueId = fsService.saveFile(file, param); + //删除token + fmsBusinessTypeService.deleteFsBusinessTypeByUploadToken(uploadToken); + return CommonResult.success(fileResult.getData()); + } + + /** + * 获取文件访问路径,如果超时时间设置为小于等于0,那么返回的有效路径可以永久访问 + * @param uniqueIds + * @param expiredTime + * @param maxAccessCount + * @param type + * @return + */ + @Override + @Transactional(propagation = Propagation.SUPPORTS,readOnly = true,rollbackFor = Exception.class) + public CommonResult getFileUrlByFileIds(List uniqueIds, Integer expiredTime, int maxAccessCount, String type) { + + if (CollectionUtils.isEmpty(uniqueIds)){ + logger.error(FmsCodeBean.FmsCode.NOT_EXIST_FILE.message,new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code, FmsCodeBean.FmsCode.NOT_EXIST_FILE.message)); + return CommonResult.success(new ArrayList<>()); + } + //根据uniqueIds查询任务记录 + FmsRecordDTO tmp = new FmsRecordDTO(); + tmp.setUniqueIds(uniqueIds); + List fsUploadRecords = fmsFileRecordMapper.selectbySelective(tmp); + if (CollectionUtils.isEmpty(fsUploadRecords)) { + logger.error(FmsCodeBean.FmsCode.NOT_EXIST_FILE.message,new AppException(FmsCodeBean.FmsCode.NOT_EXIST_FILE.code, FmsCodeBean.FmsCode.NOT_EXIST_FILE.message)); + return CommonResult.success(new ArrayList<>()); + } + //返回 uniqueId--文件path + List recordPathResults = new ArrayList<>(); + //文件访问令牌的批量添加 + List fssAccessTokens = new ArrayList<>(); + for (FmsRecordDTO fssRecord : fsUploadRecords){ + String uniqueId = fssRecord.getUniqueId(); + String fileAccessToken = UUIDUtils.uuid(); + //String fileAccessUrlForOutter = "http://192.168.0.135:8150/fs/File/";//本地路径 + String path = fileAccessUrlForOutter + uniqueId + "?fileAccessToken=" + fileAccessToken; + // 缓存文件token(方式一) +// FsAccessTokenResult fsAccessToken = fsAccessService.cacheFileAccessToken(fileAccessToken, expiredTime, maxAccessCount, uniqueId, type); +// if (fsAccessToken == null) { +// throw new AppException(FSSCodeBean.FSSCode.FAIL.code); +// } + // 缓存文件token(方式二) + FmsAccessTokenResult fmsAccessTokenResult = new FmsAccessTokenResult(expiredTime, maxAccessCount, uniqueId, type); + if (expiredTime > 0){ + redisTemplate.opsForValue().set(fileAccessToken , JSON.toJSONString(fmsAccessTokenResult) , expiredTime , TimeUnit.MINUTES); + }else { + FmsAccessTokenDTO fssFmsAccessTokenDto = new FmsAccessTokenDTO(); + fssFmsAccessTokenDto.setFileAccessToken(fileAccessToken); + fssFmsAccessTokenDto.setType(type); + fssFmsAccessTokenDto.setUniqueId(uniqueId); + fssAccessTokens.add(fssFmsAccessTokenDto); + } + FmsFileRecordPathResult fmsFileRecordPathResult = new FmsFileRecordPathResult(); + fmsFileRecordPathResult.setPath(path); + fmsFileRecordPathResult.setUniqueId(uniqueId); + recordPathResults.add(fmsFileRecordPathResult); + } + if (!CollectionUtils.isEmpty(fssAccessTokens)){ + fmsAccessTokenMapper.multipartInsert(fssAccessTokens); + } + return CommonResult.success(recordPathResults); + } + + +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsRecordServiceImpl.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsRecordServiceImpl.java new file mode 100644 index 0000000..a2d8f7c --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsRecordServiceImpl.java @@ -0,0 +1,37 @@ +package com.itools.core.service.impl; + +import com.itools.core.dto.fileRecord.FmsRecordDTO; +import com.itools.core.mapper.FmsFileRecordMapper; +import com.itools.core.result.FmsDetailRecordResult; +import com.itools.core.service.FmsRecordService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +@Service +public class FmsRecordServiceImpl implements FmsRecordService { + + @Autowired + private FmsFileRecordMapper fmsFileRecordMapper; + + @Override + public FmsDetailRecordResult queryFssRecordByUniqueId(String uniqueId) { + FmsRecordDTO queryParams = new FmsRecordDTO(); + queryParams.setUniqueId(uniqueId); + List list = fmsFileRecordMapper.selectbySelective(queryParams); + if (list.size() > 0) { + FmsRecordDTO record = list.get(0); + FmsDetailRecordResult result = new FmsDetailRecordResult(); + BeanUtils.copyProperties(record , result); + return result; + } + return null; + } + +} diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/task/MyUploadFileTask.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/task/MyUploadFileTask.java new file mode 100644 index 0000000..89f4d2a --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/task/MyUploadFileTask.java @@ -0,0 +1,37 @@ +package com.itools.core.service.impl.task; + +import com.itools.core.param.FmsUploadTokenParam; +import com.itools.core.service.impl.FmsFileSystemServiceImpl; +import org.springframework.web.multipart.MultipartFile; + +import java.util.concurrent.Callable; + +/** + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ +public class MyUploadFileTask implements Callable { + private FmsFileSystemServiceImpl self; + private MultipartFile file; + private FmsUploadTokenParam param; + private String uuid; + + public MyUploadFileTask(FmsFileSystemServiceImpl self, MultipartFile file, FmsUploadTokenParam param, String uuid) { + this.self = self; + this.file = file; + this.param = param; + this.uuid = uuid; + } + + @Override + public String call() { + try { + String file = self.saveFile(this.file, param, uuid); + return file; + }catch (Exception e){ + return null; + } + } + +} diff --git a/itools-fms/itools-fms-server/src/main/resources/application-dev.yml b/itools-fms/itools-fms-server/src/main/resources/application-dev.yml new file mode 100644 index 0000000..df250af --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/resources/application-dev.yml @@ -0,0 +1,78 @@ +#组件中的全局异常处理的code +system: + errorCode: Code001 +#分布式雪花算法策略 +sequence: + enable: true + type: snowflake + generate: simple + +#fms文件系统配置项 +spring: + servlet: + multipart: + # 最大支持文件大小 + max-file-size: 20MB + # 最大支持请求大小 + max-request-size: 200MB + # 上传文件的临时目录 +# location: /home/hash/AppSvr01/installedApps/fsnsh_backend-master/temp + + +fileStoreRootPath: /data/fmsFile #文件存储路径,此路径应该是多个FSS服务的共享磁盘 +fileAccessUrlForOutter: http://127.0.0.1:8002/File/ +fileUploadLimitSize: 10 #批量上传限制的个数 +fileMaxRequestSize: 204800 #最大的请求数,单位KB,200MB +fileMaxFileSize: 20480 #单个文件最大大小,单位KB,20MB + +fms: + #系统文件管理策略【nio原生的文件系统,miniio文件系统,fastdfs文件系统】 + strategy: nio + #文件配置 + file: + store-root-path: /data/fmsFile #文件存储路径,此路径应该是多个fms服务的共享磁盘 + access-url-for-outter: http://127.0.0.1:8002/File/ #文件访问 + upload-limit-size: 10 #批量上传限制的个数 + max-request-size: 204800 #最大的请求数,单位KB,200MB + max-file-size: 20480 #单个文件最大大小,单位KB,20MB + +#脚本自动初始化执行 +initDB: + #启用开关 + is-use: false + # ddl脚本,可以支持多个,用,分割,文件建议最多5个 + ddl: init/ddl.sql + # dml脚本,可以支持多个,用,分割,文件建议最多5个 + dml: init/dml.sql + # function脚本,可以支持多个,用,分割,文件建议最多5个 + function: init/function.sql + # 分支环境 + env: dev + # 版本 + version: 1.0 + # 脚本设置的分隔符 + delimiter: ; + +# mybatis-plus相关配置 +mybatis-plus: + mapper-locations: classpath:/mapper/**/*Mapper.xml + typeAliasesPackage: com.itools.core + global-config: + db-column-underline: true + db-config: + logic-delete-field: del_flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) + logic-delete-value: 1 # 逻辑已删除值(默认为 1) + logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) + configuration: + default-enum-type-handler: com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +#security: +# oauth2: +# client: +# client-id: product-server +# client-secret: 123456 +# user-authorization-uri: http://127.0.0.1:8888/oauth/authorize +# access-token-uri: http://127.0.0.1:8888/oauth/token +# resource: +# jwt: +# key-uri: http://127.0.0.1:8888/oauth/token_key \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/resources/application.yml b/itools-fms/itools-fms-server/src/main/resources/application.yml new file mode 100644 index 0000000..868ebd7 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/resources/application.yml @@ -0,0 +1,28 @@ +server: + port: 8002 +spring: + application: + name: itools-fms-server + profiles: + active: dev + + redis: + host: 127.0.0.1 + database: 0 + + datasource: + type: com.zaxxer.hikari.HikariDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/itools?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC + username: root + password: root + hikari: + minimum-idle: 5 + idle-timeout: 600000 + maximum-pool-size: 10 + auto-commit: true + pool-name: MyHikariCP + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + diff --git a/itools-fms/itools-fms-server/src/main/resources/bootstrap.yml b/itools-fms/itools-fms-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..94abc03 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/resources/bootstrap.yml @@ -0,0 +1,17 @@ +# Nacos Server 的地址 +spring: +# profiles: +# active: dev + cloud: + nacos: + config: + server-addr: 106.54.85.156:8848 + file-extension: yaml + prefix: itools-fms-server + remote-first: true + namespace: e32f7110-9472-427b-8b1a-a71cdebdfdb8 + group: dev + discovery: + server-addr: 106.54.85.156:8848 + namespace: e32f7110-9472-427b-8b1a-a71cdebdfdb8 + group: dev diff --git a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsAccessTokenMapper.xml b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsAccessTokenMapper.xml new file mode 100644 index 0000000..2fe782c --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsAccessTokenMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + file_access_token, unique_id, type + + + + + + + insert into FSS_ACCESS_TOKEN (file_access_token, unique_id, type) + values (#{item.fileAccessToken,jdbcType=VARCHAR}, #{item.uniqueId,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}) + + + + \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml new file mode 100644 index 0000000..942ae60 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + ID, BUSINESS_TYPE, REMARK, FS_SIZE, FS_TYPE, CREATE_DATE, UPDATE_DATE + + + + + delete from FSS_BUSINESS_TYPE + where ID = #{id,jdbcType=BIGINT} + + + + insert into FSS_BUSINESS_TYPE + + + ID, + + + BUSINESS_TYPE, + + + REMARK, + + + FS_SIZE, + + + FS_TYPE, + + + CREATE_DATE, + + + UPDATE_DATE, + + + + + #{id,jdbcType=BIGINT}, + + + #{businessType,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{fsSize,jdbcType=VARCHAR}, + + + #{fsType,jdbcType=VARCHAR}, + + + #{createDate,jdbcType=TIMESTAMP}, + + + #{updateDate,jdbcType=TIMESTAMP}, + + + + + update FSS_BUSINESS_TYPE + + + BUSINESS_TYPE = #{businessType,jdbcType=VARCHAR}, + + + REMARK = #{remark,jdbcType=VARCHAR}, + + + FS_SIZE = #{fsSize,jdbcType=VARCHAR}, + + + FS_TYPE = #{fsType,jdbcType=VARCHAR}, + + + CREATE_DATE = #{createDate,jdbcType=TIMESTAMP}, + + + UPDATE_DATE = #{updateDate,jdbcType=TIMESTAMP}, + + + where ID = #{id,jdbcType=BIGINT} + + + update FSS_BUSINESS_TYPE + set BUSINESS_TYPE = #{businessType,jdbcType=VARCHAR}, + REMARK = #{remark,jdbcType=VARCHAR}, + FS_SIZE = #{fsSize,jdbcType=VARCHAR}, + FS_TYPE = #{fsType,jdbcType=VARCHAR}, + CREATE_DATE = #{createDate,jdbcType=TIMESTAMP}, + UPDATE_DATE = #{updateDate,jdbcType=TIMESTAMP} + where ID = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml new file mode 100644 index 0000000..fabcc82 --- /dev/null +++ b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + ID, CONTENT_TYPE, FROM_SYSTEM_ID, FILE_SIZE, UNIQUE_ID, REMARK, ORIG_FILE_NAME, CREATE_TIME, + UPDATE_TIME, DELETE_TIME, DELETED + + + + + delete from FSS_RECORD + where ID = #{id,jdbcType=DECIMAL} + + + + insert into FSS_RECORD + + + ID, + + + CONTENT_TYPE, + + + FROM_SYSTEM_ID, + + + FILE_SIZE, + + + UNIQUE_ID, + + + REMARK, + + + ORIG_FILE_NAME, + + + CREATE_TIME, + + + UPDATE_TIME, + + + DELETE_TIME, + + + DELETED, + + + + + #{id,jdbcType=DECIMAL}, + + + #{contentType,jdbcType=VARCHAR}, + + + #{fromSystemId,jdbcType=VARCHAR}, + + + #{fileSize,jdbcType=DECIMAL}, + + + #{uniqueId,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{origFileName,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{deleteTime,jdbcType=TIMESTAMP}, + + + #{deleted,jdbcType=CHAR}, + + + + + update FSS_RECORD + + + CONTENT_TYPE = #{contentType,jdbcType=VARCHAR}, + + + FROM_SYSTEM_ID = #{fromSystemId,jdbcType=VARCHAR}, + + + FILE_SIZE = #{fileSize,jdbcType=DECIMAL}, + + + UNIQUE_ID = #{uniqueId,jdbcType=VARCHAR}, + + + REMARK = #{remark,jdbcType=VARCHAR}, + + + ORIG_FILE_NAME = #{origFileName,jdbcType=VARCHAR}, + + + CREATE_TIME = #{createTime,jdbcType=TIMESTAMP}, + + + UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}, + + + DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP}, + + + DELETED = #{deleted,jdbcType=CHAR}, + + + where ID = #{id,jdbcType=DECIMAL} + + + update FSS_RECORD + set CONTENT_TYPE = #{contentType,jdbcType=VARCHAR}, + FROM_SYSTEM_ID = #{fromSystemId,jdbcType=VARCHAR}, + FILE_SIZE = #{fileSize,jdbcType=DECIMAL}, + UNIQUE_ID = #{uniqueId,jdbcType=VARCHAR}, + REMARK = #{remark,jdbcType=VARCHAR}, + ORIG_FILE_NAME = #{origFileName,jdbcType=VARCHAR}, + CREATE_TIME = #{createTime,jdbcType=TIMESTAMP}, + UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}, + DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP}, + DELETED = #{deleted,jdbcType=CHAR} + where ID = #{id,jdbcType=DECIMAL} + + \ No newline at end of file diff --git a/itools-fms/pom.xml b/itools-fms/pom.xml index 870bb4f..71ee5d6 100644 --- a/itools-fms/pom.xml +++ b/itools-fms/pom.xml @@ -11,5 +11,97 @@ pom itools-fms + + itools-fms-model + itools-fms-core + itools-fms-server + + + 3.3.2 + 1.1.21 + 2.1.7.RELEASE + 1.2.30 + 1.27.0.0 + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + + org.springframework.cloud + spring-cloud-dependencies + Greenwich.SR3 + pom + import + + + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + 2.1.1.RELEASE + pom + import + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + com.baomidou + mybatis-plus-generator + ${mybatis-plus.version} + + + + com.alibaba + fastjson + ${fastjson.version} + + + net.oschina.zcx7878 + fastdfs-client-java + ${fastdfs-client-java.version} + + + + + + com.itools.core + itools-core + 1.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-web + + + org.projectlombok + lombok + + + + + mysql + mysql-connector-java + + + + org.springframework.boot + spring-boot-starter-data-redis + + + org.apache.commons + commons-pool2 + + \ No newline at end of file diff --git a/itools-fms/script/itools-fms b/itools-fms/script/itools-fms new file mode 100644 index 0000000..1d276a9 --- /dev/null +++ b/itools-fms/script/itools-fms @@ -0,0 +1,40 @@ +CREATE TABLE `itools_fms_record` ( + `id` bigint(32) NOT NULL COMMENT '主键', + `content_type` varchar(100) DEFAULT NULL COMMENT 'HTTP协议定义的文件类型,文件上传从文件流中获取文件存取时使用该字段填入response的content-type字段', + `from_system_id` varchar(50) DEFAULT NULL COMMENT '件所属系统,文件上传时指定', + `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小,单位为字节', + `unique_id` varchar(50) DEFAULT NULL COMMENT '文件的全局唯一ID,后续访问均使用该ID', + `remark` varchar(200) DEFAULT NULL COMMENT '文件描述信息', + `orig_file_name` varchar(200) DEFAULT NULL COMMENT '原文件名,来自入参', + `create_time` timestamp(6) NULL DEFAULT NULL COMMENT '创建时间', + `update_time` timestamp(6) NULL DEFAULT NULL COMMENT '更新时间', + `delete_time` timestamp(6) NULL DEFAULT NULL COMMENT '删除时间', + `deleted` char(1) DEFAULT NULL COMMENT '是否已删除文件本身,也即是说,删除文件时数据库记录仅仅将该字段置位1,并不实际删除数据库记录0:没有删除1:已删除', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `UK_FS_ID` (`unique_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + + +CREATE TABLE `itools_fms_access_token` ( + `file_access_token` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '文件访问token', + `unique_id` char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '文件的唯一id', + `type` varchar(10) COLLATE utf8mb4_bin NOT NULL COMMENT 'show或者download', + PRIMARY KEY (`file_access_token`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='该表存储的是永久的accessToken,用于支持文件的永久访问或者下载'; + +CREATE TABLE `itools_fms_business_type` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `business_type` varchar(20) DEFAULT NULL COMMENT '01-营业执照 02-身份证正面 03-身份证背面 04-授权文件 05-政策图片 06-金融机构图片 07-金融产品图片', + `remark` varchar(100) DEFAULT NULL COMMENT '说明', + `fs_size` varchar(20) DEFAULT NULL COMMENT '文件大小, 单位kb', + `fs_type` varchar(100) DEFAULT NULL COMMENT '文件类型,逗号分隔符,例如: jpg,png', + `create_date` timestamp(6) NULL DEFAULT NULL COMMENT '创建时间', + `update_date` timestamp(6) NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `UK_FS_BT` (`business_type`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; + +INSERT INTO `itools_fms_business_type`(`id`, `business_type`, `remark`, `fs_size`, `fs_type`, `create_date`, `update_date`) VALUES (1, '01', '文件上传', '102400', 'multipart/form-data,application/octet-stream,text/plain', '2019-08-20 18:48:57.000000', '2019-08-20 18:48:59.000000'); +INSERT INTO `itools_fms_business_type`(`id`, `business_type`, `remark`, `fs_size`, `fs_type`, `create_date`, `update_date`) VALUES (2, '02', 'jar包上传', '102400', 'application/octet-stream,text/plain,multipart/form-data', '2019-08-28 15:24:34.000000', '2019-08-28 15:24:37.000000'); +INSERT INTO `itools_fms_business_type`(`id`, `business_type`, `remark`, `fs_size`, `fs_type`, `create_date`, `update_date`) VALUES (3, 'currency', '通用类型', '102400', 'currency', '2019-10-14 20:21:37.000000', '2019-10-14 20:21:40.000000'); +INSERT INTO `itools_fms_business_type`(`id`, `business_type`, `remark`, `fs_size`, `fs_type`, `create_date`, `update_date`) VALUES (4, '03', 'doc', '102400', 'multipart/form-data; boundary=----WebKitFormBoundaryV9UszO8Om8qv8nNM', '2020-07-30 16:05:31.000000', '2020-07-30 16:05:35.000000'); \ No newline at end of file diff --git a/itools-oms/itools-oms-jwt-sample-example/pom.xml b/itools-oms/itools-oms-jwt-sample-example/pom.xml new file mode 100644 index 0000000..548c710 --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/pom.xml @@ -0,0 +1,44 @@ + + + + itools-oms + com.itools.core + 1.0-SNAPSHOT + + 4.0.0 + + itools-oms-jwt-sample-example + + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.cloud + spring-cloud-starter-oauth2 + + + + io.jsonwebtoken + jjwt + 0.9.1 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/OmsSampleApplication.java b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/OmsSampleApplication.java new file mode 100644 index 0000000..f50ed74 --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/OmsSampleApplication.java @@ -0,0 +1,17 @@ +package com.itools.core; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-30 16:29 + */ +@SpringBootApplication +public class OmsSampleApplication { + public static void main(String[] args) { + SpringApplication.run(OmsSampleApplication.class); + } +} diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/ClientWebsecurityConfigurer.java b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/ClientWebsecurityConfigurer.java new file mode 100644 index 0000000..8d12cec --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/ClientWebsecurityConfigurer.java @@ -0,0 +1,31 @@ +package com.itools.core.config; + +import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; + +@Configuration +@EnableWebSecurity(debug = true) +@EnableGlobalMethodSecurity(securedEnabled = true,prePostEnabled = true,jsr250Enabled = true) +@EnableOAuth2Sso +public class ClientWebsecurityConfigurer extends WebSecurityConfigurerAdapter { + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + @Override + public void configure(HttpSecurity http) throws Exception { + http + .antMatcher("/**") + .authorizeRequests() + .antMatchers("/oauth/**","/login/**","/logout/**").permitAll() + .anyRequest().authenticated(); + } +} diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenEnhancer.java b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenEnhancer.java new file mode 100644 index 0000000..8472d8a --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenEnhancer.java @@ -0,0 +1,23 @@ +package com.itools.core.config; + +import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken; +import org.springframework.security.oauth2.common.OAuth2AccessToken; +import org.springframework.security.oauth2.provider.OAuth2Authentication; +import org.springframework.security.oauth2.provider.token.TokenEnhancer; + +import java.util.HashMap; +import java.util.Map; + +public class JwtTokenEnhancer implements TokenEnhancer { + + @Override + public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, + OAuth2Authentication authentication) { + Map info = new HashMap<>(); + info.put("enhance", "enhance info"); + info.put("appId", "appId"); + ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(info); + return accessToken; + } + +} \ No newline at end of file diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java new file mode 100644 index 0000000..9007576 --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java @@ -0,0 +1,29 @@ +package com.itools.core.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.oauth2.provider.token.TokenStore; +import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter; +import org.springframework.security.oauth2.provider.token.store.JwtTokenStore; + +@Configuration +public class JwtTokenStoreConfig { + + @Bean + public TokenStore jwtTokenStore(){ + return new JwtTokenStore(jwtAccessTokenConverter()); + } + + @Bean + public JwtAccessTokenConverter jwtAccessTokenConverter(){ + JwtAccessTokenConverter accessTokenConverter = new + JwtAccessTokenConverter(); + //配置JWT使用的秘钥 + accessTokenConverter.setSigningKey("123123"); + return accessTokenConverter; + } + @Bean + public JwtTokenEnhancer jwtTokenEnhancer() { + return new JwtTokenEnhancer(); + } +} \ No newline at end of file diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/Solution.java b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/Solution.java new file mode 100644 index 0000000..d29fdbe --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/config/Solution.java @@ -0,0 +1,54 @@ +package com.itools.core.config; + +import java.util.ArrayList; +import java.util.List; + +class Solution { + public static int clumsy(int N) { + List sit = new ArrayList<>(); + sit.add("*"); + sit.add("/"); + sit.add("+"); + sit.add("-"); + int sum = N; + if(N<=0){ + return sum; + } + int index = 0; + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(N); + while((N-1) >0 ){ + if(index >= sit.size()){ + index = 0; + } + + stringBuilder.append(sit.get(index)); + stringBuilder.append(N-1); + sum = run(sit.get(index),sum,N-1); + index++; + N--; + } + System.out.println(stringBuilder.toString()); + return sum; + + } + private static int run(String sit,int left,int right){ + int res = 0; + System.out.println(left+sit+right); + if(sit.equals("*")){ + res = left * right; + }else if(sit.equals("/")){ + res = left / right; + }else if(sit.equals("+")){ + res = left + right; + }else{ + res = left - right; + } + + return res; + } + + public static void main(String[] args) { + System.out.println(clumsy(10)); + } +} \ No newline at end of file diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/controller/ProductController.java b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/controller/ProductController.java new file mode 100644 index 0000000..6884fb0 --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/java/com/itools/core/controller/ProductController.java @@ -0,0 +1,15 @@ +package com.itools.core.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/product") +public class ProductController { + + @RequestMapping("/selectProductInfoById") + public String selectProductInfoById(long id) { + + return "获取产品信息成功"+id; + } +} \ No newline at end of file diff --git a/itools-oms/itools-oms-jwt-sample-example/src/main/resources/application.yml b/itools-oms/itools-oms-jwt-sample-example/src/main/resources/application.yml new file mode 100644 index 0000000..7bad5be --- /dev/null +++ b/itools-oms/itools-oms-jwt-sample-example/src/main/resources/application.yml @@ -0,0 +1,17 @@ +server: + port: 8085 +spring: + application: + name: example-server + main: + allow-bean-definition-overriding: true +security: + oauth2: + client: + client-id: example-server + client-secret: 123456 + user-authorization-uri: http://127.0.0.1:8888/oauth/authorize + access-token-uri: http://127.0.0.1:8888/oauth/token + resource: + jwt: + key-uri: http://127.0.0.1:8888/oauth/token_key diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/AuthorizationServerConfig.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/AuthorizationServerConfig.java index 2c44ec8..5004e9b 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/AuthorizationServerConfig.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/AuthorizationServerConfig.java @@ -2,12 +2,14 @@ package com.itools.core.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter; import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer; import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer; @@ -27,7 +29,10 @@ import java.util.List; /** * @project: itools-backend - * @description: + * @description: 继承AuthorizationServerConfigurerAdapter来配置OAuth2.0 授权服务器。 + * ClientDetailsServiceConfigurer :用来配置客户端详情服务(ClientDetailsService),客户端详情信息在这里进行初始化,你能够把客户端详情信息写死在这里或者是通过数据库来存储调取详情信息。 + * AuthorizationServerEndpointsConfigurer :用来配置令牌(token)的访问端点和令牌服务(token services)。 + * AuthorizationServerSecurityConfigurer :用来配置令牌端点的安全约束. * @author: XUCHANG * @create: 2021-03-28 15:51 */ @@ -61,10 +66,14 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap public JwtTokenEnhancer jwtTokenEnhancer() { return new JwtTokenEnhancer(); } + + /** + * 配置client_details + * @param clients + * @throws Exception + */ @Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { - //password模式 - // http://localhost:8888/oauth/token?username=fox&password=123456&grant_type=password&client_id=gateway-server&client_secret=123123&scope=read clients.withClientDetails(clientDetails()); } @@ -111,15 +120,29 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap //refresh_token是否重复使用 .reuseRefreshTokens(false) //刷新令牌授权包含对用户信息的检查 - .userDetailsService(userDetailsService) - //支持GET,POST请求 - .allowedTokenEndpointRequestMethods(HttpMethod.GET,HttpMethod.POST); + .userDetailsService(userDetailsService); + //支持GET,POST请求 PUT DELETE + endpoints.allowedTokenEndpointRequestMethods(HttpMethod.GET,HttpMethod.POST,HttpMethod.PUT,HttpMethod.DELETE); } +// @Override +// public void configure(AuthorizationServerSecurityConfigurer security) throws Exception { +// //允许表单认证 +// security.allowFormAuthenticationForClients() +// // 配置校验token需要带入clientId 和clientSeret配置 +// .checkTokenAccess("isAuthenticated()"); +// } @Override - public void configure(AuthorizationServerSecurityConfigurer security) throws Exception { - //允许表单认证 - security.allowFormAuthenticationForClients() - // 配置校验token需要带入clientId 和clientSeret配置 - .checkTokenAccess("isAuthenticated()"); + public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { + oauthServer + .tokenKeyAccess("permitAll()") + .checkTokenAccess("permitAll()") + .allowFormAuthenticationForClients(); } +// @Bean +// public FilterRegistrationBean oauth2ClientFilterRegistration(OAuth2ClientContextFilter oAuth2ClientContextFilter) { +// FilterRegistrationBean registration = new FilterRegistrationBean(); +// registration.setFilter(oAuth2ClientContextFilter); +// registration.setOrder(-100); +// return registration; +// } } diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenEnhancer.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenEnhancer.java index 80bc0d6..fd85b84 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenEnhancer.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenEnhancer.java @@ -7,7 +7,12 @@ import org.springframework.security.oauth2.provider.token.TokenEnhancer; import java.util.HashMap; import java.util.Map; - +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ public class JwtTokenEnhancer implements TokenEnhancer { @Override diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java index 56de556..8ef1614 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/JwtTokenStoreConfig.java @@ -5,7 +5,12 @@ import org.springframework.context.annotation.Configuration; import org.springframework.security.oauth2.provider.token.TokenStore; import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter; import org.springframework.security.oauth2.provider.token.store.JwtTokenStore; - +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-03-28 15:51 + */ @Configuration public class JwtTokenStoreConfig { diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/ResourceServerConfig.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/ResourceServerConfig.java new file mode 100644 index 0000000..cdb8fb0 --- /dev/null +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/ResourceServerConfig.java @@ -0,0 +1,36 @@ +//package com.itools.core.config; +// +//import org.springframework.context.annotation.Configuration; +//import org.springframework.core.annotation.Order; +//import org.springframework.security.config.annotation.web.builders.HttpSecurity; +//import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; +//import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; +// +///** +// * @project: itools-backend +// * @description: 这个类表明了此应用是OAuth2 的资源服务器,此处主要指定了受资源服务器保护的资源链接 +// * @author: XUCHANG +// * @create: 2021-03-28 15:51 +// */ +//@Order(6) +//@Configuration +//@EnableResourceServer +//public class ResourceServerConfig extends ResourceServerConfigurerAdapter { +// +// @Override +// public void configure(HttpSecurity http) throws Exception { +// +// +// http.csrf().disable()//禁用了 csrf 功能 +// .authorizeRequests()//限定签名成功的请求 +//// .antMatchers("/decision/**","/govern/**").hasAnyRole("USER","ADMIN") +//// .antMatchers("/admin/**").hasRole("ADMIN") +// .antMatchers("/**").authenticated()//签名成功后可访问,不受role限制 +//// .antMatchers("/admin/login","/oauth/**").permitAll() +// .anyRequest().permitAll()//其他没有限定的请求,允许访问 +// .and().anonymous()//对于没有配置权限的其他请求允许匿名访问 +// .and().formLogin()//使用 spring security 默认登录页面 +// .and().httpBasic();//启用http 基础验证 +// } +// +//} \ No newline at end of file diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/WebSecurityConfig.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/WebSecurityConfig.java index 54a07a0..99d0490 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/WebSecurityConfig.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/config/WebSecurityConfig.java @@ -3,9 +3,13 @@ package com.itools.core.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.annotation.Order; +import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -17,7 +21,10 @@ import org.springframework.security.crypto.password.PasswordEncoder; * @author: XUCHANG * @create: 2021-03-28 15:51 */ +@Order(2) @Configuration +@EnableWebSecurity(debug = true) +@EnableGlobalMethodSecurity(securedEnabled = true,prePostEnabled = true,jsr250Enabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired @@ -45,11 +52,37 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { - http.formLogin() + http.formLogin().permitAll() .and().authorizeRequests() - .antMatchers("/user/getCurrentUser","/user/login","/login.html","/error.html","/session/invalid").permitAll() + .antMatchers("/user/getCurrentUser","/login","/oauth/**","/oauth/authorize","/login/**","/logout/**","/error").permitAll() .anyRequest().authenticated() + .and().httpBasic() .and().csrf().disable(); +// http +// .antMatcher("/**") +// .authorizeRequests() +// .antMatchers( +// HttpMethod.GET, +// "/*.html", +// "/**/*.html", +// "/**/*.css", +// "/**/*.js", +// "/**/*.jpg", +// "/**/*.png", +// "/error", +// "/favicon.ico" +// ).permitAll() +// .antMatchers("/swagger-ui.html").anonymous() +// .antMatchers("/swagger-resources/**").anonymous() +// .antMatchers("/user/getCurrentUser","/oauth/**","/oauth2/**","/login/**","/logout/**").permitAll() +// .anyRequest().authenticated(); +// http +// .antMatcher("/**") +// .authorizeRequests() +// .antMatchers("/oauth/**","/login/**","/logout/**").permitAll() +// .anyRequest().authenticated() +// .and() +// .formLogin().permitAll(); } } diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/PermissionMapper.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/PermissionMapper.java index cd93134..23b9ec2 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/PermissionMapper.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/PermissionMapper.java @@ -1,5 +1,6 @@ package com.itools.core.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.itools.core.param.SysPermission; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; @@ -13,7 +14,7 @@ import java.util.List; * @create: 2021-03-29 13:57 */ @Repository -public interface PermissionMapper { +public interface PermissionMapper extends BaseMapper { @Select("SELECT\n" + " p.*\n" + diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/UserMapper.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/UserMapper.java index ccd9a90..3fdb1d6 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/UserMapper.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/mapper/UserMapper.java @@ -1,5 +1,6 @@ package com.itools.core.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.itools.core.param.SysUser; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; @@ -11,7 +12,7 @@ import org.springframework.stereotype.Repository; * @create: 2021-03-29 13:57 */ @Repository -public interface UserMapper { +public interface UserMapper extends BaseMapper { @Select("select * from tb_user where username=#{username}") SysUser getByUsername(String username); diff --git a/itools-oms/itools-oms-server/src/main/java/com/itools/core/package-info.java b/itools-oms/itools-oms-server/src/main/java/com/itools/core/package-info.java index c3640d6..a0dfc65 100644 --- a/itools-oms/itools-oms-server/src/main/java/com/itools/core/package-info.java +++ b/itools-oms/itools-oms-server/src/main/java/com/itools/core/package-info.java @@ -15,6 +15,20 @@ * 12、SessionManagementFilter * 13、ExceptionTranslationFilter 处理 AccessDeniedException 和 AuthenticationException 异常 * 14、FilterSecurityInterceptor AbstractInterceptUrlConfigurer.createFilterSecurityInterceptor + * + * 接口 + * /oauth/authorize:授权端点 + * /oauth/token:令牌端点 + * /oauth/confirm_access:用户确认授权提交端点 + * /oauth/error:授权服务错误信息端点 + * /oauth/check_token:用于资源服务访问的令牌解析端点 + * /oauth/token_key:提供公有密匙的端点,如果使用JWT令牌的话 + * + * 授权模式 + * 授权码模式(authorization code) + * 简化模式(implicit) + * 密码模式(resource owner password credentials) + * 客户端模式(client credentials) * @author: XUCHANG * @create: 2021-03-29 17:30 */ diff --git a/itools-oms/itools-oms-server/src/main/resources/application-dev.yml b/itools-oms/itools-oms-server/src/main/resources/application-dev.yml index 434bee2..f7ecb63 100644 --- a/itools-oms/itools-oms-server/src/main/resources/application-dev.yml +++ b/itools-oms/itools-oms-server/src/main/resources/application-dev.yml @@ -1,12 +1,14 @@ +#组件中的全局异常处理的code system: errorCode: Code001 - +#分布式雪花算法策略 sequence: enable: true type: snowflake generate: simple - +#脚本自动初始化执行 initDB: + #启用开关 is-use: false # ddl脚本,可以支持多个,用,分割,文件建议最多5个 ddl: init/ddl.sql @@ -21,7 +23,6 @@ initDB: # 脚本设置的分隔符 delimiter: ; - # mybatis-plus相关配置 mybatis-plus: mapper-locations: classpath:/mapper/**/*Mapper.xml @@ -35,7 +36,6 @@ mybatis-plus: configuration: default-enum-type-handler: com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - #security: # oauth2: # client: diff --git a/itools-oms/pom.xml b/itools-oms/pom.xml index af64d4e..020d67b 100644 --- a/itools-oms/pom.xml +++ b/itools-oms/pom.xml @@ -17,6 +17,7 @@ itools-oms-model itools-oms-core itools-oms-server + itools-oms-jwt-sample-example -- Gitee From 59203f33a42708a337cdf34a7eafd1e2d8cb5f45 Mon Sep 17 00:00:00 2001 From: xuchang Date: Thu, 1 Apr 2021 17:32:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?--user=3Dxuchang,--message=3D'fms=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=B3=BB=E7=BB=9F'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- itools-fms/itools-fms-core/pom.xml | 6 + .../com/itools/core/config/MinioConfig.java | 49 ++ .../context/FileStrategyServiceContext.java | 4 +- .../java/com/itools/core/utils/MinioUtil.java | 430 ++++++++++++++++++ .../src/main/resources/application-dev.yml | 10 + 5 files changed, 497 insertions(+), 2 deletions(-) create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MinioConfig.java create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/utils/MinioUtil.java diff --git a/itools-fms/itools-fms-core/pom.xml b/itools-fms/itools-fms-core/pom.xml index 8349bcb..1cbb00f 100644 --- a/itools-fms/itools-fms-core/pom.xml +++ b/itools-fms/itools-fms-core/pom.xml @@ -33,6 +33,12 @@ swagger-bootstrap-ui 1.9.6 + + io.minio + minio + 7.0.2 + + diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MinioConfig.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MinioConfig.java new file mode 100644 index 0000000..cb3ebe4 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MinioConfig.java @@ -0,0 +1,49 @@ +package com.itools.core.config; + +import io.minio.MinioClient; +import io.minio.errors.InvalidEndpointException; +import io.minio.errors.InvalidPortException; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:06 + */ +@Data +@Component +@ConfigurationProperties(prefix = "fms.minio") +public class MinioConfig { + + @ApiModelProperty("endPoint是一个URL,域名,IPv4或者IPv6地址") + private String endpoint; + + @ApiModelProperty("TCP/IP端口号") + private int port; + + @ApiModelProperty("accessKey类似于用户ID,用于唯一标识你的账户") + private String accessKey; + + @ApiModelProperty("secretKey是你账户的密码") + private String secretKey; + + @ApiModelProperty("如果是true,则用的是https而不是http,默认值是true") + private Boolean secure; + + @ApiModelProperty("默认存储桶") + private String bucketName; + + @ApiModelProperty("配置目录") + private String configDir; + + @Bean + public MinioClient getMinioClient() throws InvalidEndpointException, InvalidPortException { + MinioClient minioClient = new MinioClient(endpoint, port, accessKey, secretKey,secure); + return minioClient; + } +} \ No newline at end of file diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java index a6fdc4d..b0a5438 100644 --- a/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/context/FileStrategyServiceContext.java @@ -36,9 +36,9 @@ public class FileStrategyServiceContext { * @return */ public FileManagerService get(){ - boolean containsProperty = environment.containsProperty("file.strategy"); + boolean containsProperty = environment.containsProperty("fms.strategy"); if (containsProperty){ - fileServiceMap.get(environment.getProperty("file.strategy")); + fileServiceMap.get(environment.getProperty("fms.strategy")); } return fileServiceMap.get(StrategyType.NIO.getType()); } diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/utils/MinioUtil.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/utils/MinioUtil.java new file mode 100644 index 0000000..561de3f --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/utils/MinioUtil.java @@ -0,0 +1,430 @@ +package com.itools.core.utils; + +import io.minio.MinioClient; +import io.minio.ObjectStat; +import io.minio.PutObjectOptions; +import io.minio.Result; +import io.minio.errors.ErrorResponseException; +import io.minio.errors.InvalidExpiresRangeException; +import io.minio.messages.Bucket; +import io.minio.messages.DeleteError; +import io.minio.messages.Item; +import lombok.SneakyThrows; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +/** + * @project: itools-backend + * @description: 存储桶命名要求 + * 存储桶的命名需符合以下一个或多个规则 + * + * 存储桶名称的长度介于 3 和 63 个字符之间,并且只能包含小写字母、数字、句点和短划线。 + * 存储桶名称中的每个标签必须以小写字母或数字开头。 + * 存储桶名称不能包含下划线、以短划线结束、包含连续句点或在句点旁边使用短划线。 + * 存储桶名称不能采用 IP 地址格式 (198.51.100.24)。 + * 存储桶用作可公开访问的 URL,因此您选择的存储桶名称必须具有全局唯一性。如果您选择的名称已被其他一些帐户用于创建存储桶,则必须使用其他名称。 + * @author: XUCHANG + * @create: 2021-04-01 16:06 + */ +@Component +public class MinioUtil { + + @Autowired + private MinioClient minioClient; + + private static final int DEFAULT_EXPIRY_TIME = 7 * 24 * 3600; + + /** + * 检查存储桶是否存在 + * + * @param bucketName 存储桶名称 + * @return + */ + @SneakyThrows + public boolean bucketExists(String bucketName) { + boolean flag = false; + flag = minioClient.bucketExists(bucketName); + if (flag) { + return true; + } + return false; + } + + /** + * 创建存储桶 + * + * @param bucketName 存储桶名称 + */ + @SneakyThrows + public boolean makeBucket(String bucketName) { + boolean flag = bucketExists(bucketName); + if (!flag) { + minioClient.makeBucket(bucketName); + return true; + } else { + return false; + } + } + + /** + * 列出所有存储桶名称 + * + * @return + */ + @SneakyThrows + public List listBucketNames() { + List bucketList = listBuckets(); + List bucketListName = new ArrayList<>(); + for (Bucket bucket : bucketList) { + bucketListName.add(bucket.name()); + } + return bucketListName; + } + + /** + * 列出所有存储桶 + * + * @return + */ + @SneakyThrows + public List listBuckets() { + return minioClient.listBuckets(); + } + + /** + * 删除存储桶 + * + * @param bucketName 存储桶名称 + * @return + */ + @SneakyThrows + public boolean removeBucket(String bucketName) { + boolean flag = bucketExists(bucketName); + if (flag) { + Iterable> myObjects = listObjects(bucketName); + for (Result result : myObjects) { + Item item = result.get(); + // 有对象文件,则删除失败 + if (item.size() > 0) { + return false; + } + } + // 删除存储桶,注意,只有存储桶为空时才能删除成功。 + minioClient.removeBucket(bucketName); + flag = bucketExists(bucketName); + if (!flag) { + return true; + } + + } + return false; + } + + /** + * 列出存储桶中的所有对象名称 + * + * @param bucketName 存储桶名称 + * @return + */ + @SneakyThrows + public List listObjectNames(String bucketName) { + List listObjectNames = new ArrayList<>(); + boolean flag = bucketExists(bucketName); + if (flag) { + Iterable> myObjects = listObjects(bucketName); + for (Result result : myObjects) { + Item item = result.get(); + listObjectNames.add(item.objectName()); + } + } + return listObjectNames; + } + + /** + * 列出存储桶中的所有对象 + * + * @param bucketName 存储桶名称 + * @return + */ + @SneakyThrows + public Iterable> listObjects(String bucketName) { + boolean flag = bucketExists(bucketName); + if (flag) { + return minioClient.listObjects(bucketName); + } + return null; + } + + /** + * 通过文件上传到对象 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @param fileName File name + * @return + */ + @SneakyThrows + public boolean putObject(String bucketName, String objectName, String fileName) { + boolean flag = bucketExists(bucketName); + if (flag) { + minioClient.putObject(bucketName, objectName, fileName, null); + ObjectStat statObject = statObject(bucketName, objectName); + if (statObject != null && statObject.length() > 0) { + return true; + } + } + return false; + + } + + /** + * 文件上传 + * + * @param bucketName + * @param multipartFile + */ + @SneakyThrows + public void putObject(String bucketName, MultipartFile multipartFile, String filename) { + PutObjectOptions putObjectOptions = new PutObjectOptions(multipartFile.getSize(), PutObjectOptions.MIN_MULTIPART_SIZE); + putObjectOptions.setContentType(multipartFile.getContentType()); + minioClient.putObject(bucketName, filename, multipartFile.getInputStream(), putObjectOptions); + } + + /** + * 通过InputStream上传对象 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @param stream 要上传的流 + * @return + */ + @SneakyThrows + public boolean putObject(String bucketName, String objectName, InputStream stream) { + boolean flag = bucketExists(bucketName); + if (flag) { + minioClient.putObject(bucketName, objectName, stream, new PutObjectOptions(stream.available(), -1)); + ObjectStat statObject = statObject(bucketName, objectName); + if (statObject != null && statObject.length() > 0) { + return true; + } + } + return false; + } + + /** + * 以流的形式获取一个文件对象 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @return + */ + @SneakyThrows + public InputStream getObject(String bucketName, String objectName) { + boolean flag = bucketExists(bucketName); + if (flag) { + ObjectStat statObject = statObject(bucketName, objectName); + if (statObject != null && statObject.length() > 0) { + InputStream stream = minioClient.getObject(bucketName, objectName); + return stream; + } + } + return null; + } + + /** + * 以流的形式获取一个文件对象(断点下载) + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @param offset 起始字节的位置 + * @param length 要读取的长度 (可选,如果无值则代表读到文件结尾) + * @return + */ + @SneakyThrows + public InputStream getObject(String bucketName, String objectName, long offset, Long length) { + boolean flag = bucketExists(bucketName); + if (flag) { + ObjectStat statObject = statObject(bucketName, objectName); + if (statObject != null && statObject.length() > 0) { + InputStream stream = minioClient.getObject(bucketName, objectName, offset, length); + return stream; + } + } + return null; + } + + /** + * 下载并将文件保存到本地 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @param fileName File name + * @return + */ + @SneakyThrows + public boolean getObject(String bucketName, String objectName, String fileName) { + boolean flag = bucketExists(bucketName); + if (flag) { + ObjectStat statObject = statObject(bucketName, objectName); + if (statObject != null && statObject.length() > 0) { + minioClient.getObject(bucketName, objectName, fileName); + return true; + } + } + return false; + } + + /** + * 删除一个对象 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + */ + @SneakyThrows + public boolean removeObject(String bucketName, String objectName) { + boolean flag = bucketExists(bucketName); + if (flag) { + minioClient.removeObject(bucketName, objectName); + return true; + } + return false; + } + + /** + * 删除指定桶的多个文件对象,返回删除错误的对象列表,全部删除成功,返回空列表 + * + * @param bucketName 存储桶名称 + * @param objectNames 含有要删除的多个object名称的迭代器对象 + * @return + */ + @SneakyThrows + public List removeObject(String bucketName, List objectNames) { + List deleteErrorNames = new ArrayList<>(); + boolean flag = bucketExists(bucketName); + if (flag) { + Iterable> results = minioClient.removeObjects(bucketName, objectNames); + for (Result result : results) { + DeleteError error = result.get(); + deleteErrorNames.add(error.objectName()); + } + } + return deleteErrorNames; + } + + /** + * 生成一个给HTTP GET请求用的presigned URL。 + * 浏览器/移动端的客户端可以用这个URL进行下载,即使其所在的存储桶是私有的。这个presigned URL可以设置一个失效时间,默认值是7天。 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @param expires 失效时间(以秒为单位),默认是7天,不得大于七天 + * @return + */ + @SneakyThrows + public String presignedGetObject(String bucketName, String objectName, Integer expires) { + boolean flag = bucketExists(bucketName); + String url = ""; + if (flag) { + if (expires < 1 || expires > DEFAULT_EXPIRY_TIME) { + throw new InvalidExpiresRangeException(expires, + "expires must be in range of 1 to " + DEFAULT_EXPIRY_TIME); + } + url = minioClient.presignedGetObject(bucketName, objectName, expires); + } + return url; + } + + /** + * 生成一个给HTTP PUT请求用的presigned URL。 + * 浏览器/移动端的客户端可以用这个URL进行上传,即使其所在的存储桶是私有的。这个presigned URL可以设置一个失效时间,默认值是7天。 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @param expires 失效时间(以秒为单位),默认是7天,不得大于七天 + * @return + */ + @SneakyThrows + public String presignedPutObject(String bucketName, String objectName, Integer expires) { + boolean flag = bucketExists(bucketName); + String url = ""; + if (flag) { + if (expires < 1 || expires > DEFAULT_EXPIRY_TIME) { + throw new InvalidExpiresRangeException(expires, + "expires must be in range of 1 to " + DEFAULT_EXPIRY_TIME); + } + url = minioClient.presignedPutObject(bucketName, objectName, expires); + } + return url; + } + + /** + * 获取对象的元数据 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @return + */ + @SneakyThrows + public ObjectStat statObject(String bucketName, String objectName) { + boolean flag = bucketExists(bucketName); + if (flag) { + ObjectStat statObject = minioClient.statObject(bucketName, objectName); + return statObject; + } + return null; + } + + /** + * 文件访问路径 + * + * @param bucketName 存储桶名称 + * @param objectName 存储桶里的对象名称 + * @return + */ + @SneakyThrows + public String getObjectUrl(String bucketName, String objectName) { + boolean flag = bucketExists(bucketName); + String url = ""; + if (flag) { + url = minioClient.getObjectUrl(bucketName, objectName); + } + return url; + } + + + + public void downloadFile(String bucketName, String fileName, String originalName, HttpServletResponse response) { + try { + + InputStream file = minioClient.getObject(bucketName, fileName); + String filename = new String(fileName.getBytes("ISO8859-1"), StandardCharsets.UTF_8); + if (StringUtils.isNotEmpty(originalName)) { + fileName = originalName; + } + response.setHeader("Content-Disposition", "attachment;filename=" + filename); + ServletOutputStream servletOutputStream = response.getOutputStream(); + int len; + byte[] buffer = new byte[1024]; + while ((len = file.read(buffer)) > 0) { + servletOutputStream.write(buffer, 0, len); + } + servletOutputStream.flush(); + file.close(); + servletOutputStream.close(); + } catch (ErrorResponseException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} \ No newline at end of file diff --git a/itools-fms/itools-fms-server/src/main/resources/application-dev.yml b/itools-fms/itools-fms-server/src/main/resources/application-dev.yml index df250af..63caa35 100644 --- a/itools-fms/itools-fms-server/src/main/resources/application-dev.yml +++ b/itools-fms/itools-fms-server/src/main/resources/application-dev.yml @@ -35,6 +35,16 @@ fms: upload-limit-size: 10 #批量上传限制的个数 max-request-size: 204800 #最大的请求数,单位KB,200MB max-file-size: 20480 #单个文件最大大小,单位KB,20MB + #minio文件配置 + minio: + endpoint: 172.28.43.29 + port: 9000 + accessKey: minio + secretKey: miniopassword + secure: false + bucketName: "hope-bucket" + configDir: "/home/data/" + #脚本自动初始化执行 initDB: -- Gitee From a53d6f3c17d7dd7678913397c41ebe5e194af1ff Mon Sep 17 00:00:00 2001 From: xuchang Date: Fri, 2 Apr 2021 15:16:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?--user=3Dxuchang,--message=3D'fms=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=B3=BB=E7=BB=9F'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- itools-core/itools-common/pom.xml | 10 +++ .../itools/core/config/Swagger2Config.java | 6 +- itools-core/pom.xml | 2 +- itools-fms/itools-fms-core/pom.xml | 5 ++ .../itools/core/config/MybatisPlusConfig.java | 32 +++++++ .../core/service/FileManagerService.java | 18 +++- .../impl/FastDfsFileManagerServiceImpl.java | 22 ++++- .../impl/MinioFileManagerServiceImpl.java | 22 ++++- .../impl/NioFileManagerServiceImpl.java | 22 ++++- .../core/result/FmsUploadTokenResult.java | 1 + .../itools/core/FileSystemApplication.java | 1 + .../controller/FmsFileRecordController.java | 1 + .../controller/FmsFileSystemController.java | 1 + .../impl/FmsFileSystemServiceImpl.java | 4 +- .../resources/mapper/FmsAccessTokenMapper.xml | 4 +- .../mapper/FmsBusinessTypeMapper.xml | 51 +++++------ .../resources/mapper/FmsFileRecordMapper.xml | 88 ++++++++++--------- 17 files changed, 209 insertions(+), 81 deletions(-) create mode 100644 itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MybatisPlusConfig.java diff --git a/itools-core/itools-common/pom.xml b/itools-core/itools-common/pom.xml index cf83904..9f9b8ec 100644 --- a/itools-core/itools-common/pom.xml +++ b/itools-core/itools-common/pom.xml @@ -57,10 +57,20 @@ org.projectlombok lombok + io.springfox springfox-swagger2 + + io.springfox + springfox-swagger-ui + + + com.github.xiaoymin + swagger-bootstrap-ui + 1.9.6 + com.google.guava guava diff --git a/itools-core/itools-common/src/main/java/com/itools/core/config/Swagger2Config.java b/itools-core/itools-common/src/main/java/com/itools/core/config/Swagger2Config.java index a74eefb..f0b05cc 100644 --- a/itools-core/itools-common/src/main/java/com/itools/core/config/Swagger2Config.java +++ b/itools-core/itools-common/src/main/java/com/itools/core/config/Swagger2Config.java @@ -1,5 +1,6 @@ package com.itools.core.config; +import io.swagger.annotations.ApiOperation; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; @@ -19,8 +20,9 @@ public class Swagger2Config { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() - .apis(RequestHandlerSelectors.basePackage("com.xuchang.itools")) - .paths(PathSelectors.any()) +// .apis(RequestHandlerSelectors.basePackage("com.xuchang.itools")) +// .paths(PathSelectors.any()) + .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .build(); } diff --git a/itools-core/pom.xml b/itools-core/pom.xml index 970ae69..b5c7361 100644 --- a/itools-core/pom.xml +++ b/itools-core/pom.xml @@ -34,7 +34,7 @@ 3.9.1 8.18.0 1.16.16 - 2.7.0 + 2.9.2 1.2.30 1.27.0.0 5.1.40 diff --git a/itools-fms/itools-fms-core/pom.xml b/itools-fms/itools-fms-core/pom.xml index 1cbb00f..c32b56e 100644 --- a/itools-fms/itools-fms-core/pom.xml +++ b/itools-fms/itools-fms-core/pom.xml @@ -17,6 +17,11 @@ 1.0-SNAPSHOT compile + + com.itools.core + itools-fms-model + 1.0-SNAPSHOT + io.springfox diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MybatisPlusConfig.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MybatisPlusConfig.java new file mode 100644 index 0000000..56a5110 --- /dev/null +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/config/MybatisPlusConfig.java @@ -0,0 +1,32 @@ +package com.itools.core.config; + +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * @project: itools-backend + * @description: + * @author: XUCHANG + * @create: 2021-04-01 16:06 + */ +@Configuration +@EnableTransactionManagement +@MapperScan("com.itools.core.mapper") +public class MybatisPlusConfig { + @Bean + public PaginationInterceptor paginationInterceptor() { + + PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); + // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false + // paginationInterceptor.setOverflow(false); + // 设置最大单页限制数量,默认 500 条,-1 不受限制 + // paginationInterceptor.setLimit(500); + // 开启 count 的 join 优化,只针对部分 left join + paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); + return paginationInterceptor; + } +} diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java index 14e0fcf..e2aab47 100644 --- a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/FileManagerService.java @@ -1,6 +1,8 @@ package com.itools.core.service; import com.itools.core.base.CommonResult; +import com.itools.core.param.FmsUploadTokenParam; +import org.springframework.web.multipart.MultipartFile; /** * @description: @@ -8,6 +10,18 @@ import com.itools.core.base.CommonResult; * @create: 2021-04-01 15:44 */ public interface FileManagerService { - - CommonResult mutipartUploadFiles(); + /** + * 批量上传文件 + * @param files 文件 + * @param param 上传的参数 + * @return + */ + CommonResult mutipartUploadFiles(MultipartFile[] files, FmsUploadTokenParam param); + /** + * 单个上传文件 + * @param file 文件 + * @param param 上传的参数 + * @return + */ + CommonResult mutipartUploadFiles(MultipartFile file, FmsUploadTokenParam param); } diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java index 7254a8f..a12356c 100644 --- a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/FastDfsFileManagerServiceImpl.java @@ -3,7 +3,9 @@ package com.itools.core.service.impl; import com.itools.core.annotation.FileStrategy; import com.itools.core.base.CommonResult; import com.itools.core.em.StrategyType; +import com.itools.core.param.FmsUploadTokenParam; import com.itools.core.service.FileManagerService; +import org.springframework.web.multipart.MultipartFile; /** * @project: itools-backend @@ -13,8 +15,26 @@ import com.itools.core.service.FileManagerService; */ @FileStrategy(value = StrategyType.FASTDFS) public class FastDfsFileManagerServiceImpl implements FileManagerService { + /** + * 批量上传文件 + * @param files 文件 + * @param param 上传的参数 + * @return + */ @Override - public CommonResult mutipartUploadFiles() { + public CommonResult mutipartUploadFiles(MultipartFile[] files, FmsUploadTokenParam param) { return CommonResult.success(StrategyType.FASTDFS.getType()); } + + /** + * 单个上传文件 + * + * @param file 文件 + * @param param 上传的参数 + * @return + */ + @Override + public CommonResult mutipartUploadFiles(MultipartFile file, FmsUploadTokenParam param) { + return null; + } } diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java index 1f82790..062a426 100644 --- a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/MinioFileManagerServiceImpl.java @@ -3,7 +3,9 @@ package com.itools.core.service.impl; import com.itools.core.annotation.FileStrategy; import com.itools.core.base.CommonResult; import com.itools.core.em.StrategyType; +import com.itools.core.param.FmsUploadTokenParam; import com.itools.core.service.FileManagerService; +import org.springframework.web.multipart.MultipartFile; /** * @project: itools-backend @@ -13,8 +15,26 @@ import com.itools.core.service.FileManagerService; */ @FileStrategy(value = StrategyType.MINIO) public class MinioFileManagerServiceImpl implements FileManagerService { + /** + * 批量上传文件 + * @param files 文件 + * @param param 上传的参数 + * @return + */ @Override - public CommonResult mutipartUploadFiles() { + public CommonResult mutipartUploadFiles(MultipartFile[] files, FmsUploadTokenParam param) { return CommonResult.success(StrategyType.MINIO.getType()); } + + /** + * 单个上传文件 + * + * @param file 文件 + * @param param 上传的参数 + * @return + */ + @Override + public CommonResult mutipartUploadFiles(MultipartFile file, FmsUploadTokenParam param) { + return null; + } } diff --git a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java index c83ead3..dea9526 100644 --- a/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java +++ b/itools-fms/itools-fms-core/src/main/java/com/itools/core/service/impl/NioFileManagerServiceImpl.java @@ -3,7 +3,9 @@ package com.itools.core.service.impl; import com.itools.core.annotation.FileStrategy; import com.itools.core.base.CommonResult; import com.itools.core.em.StrategyType; +import com.itools.core.param.FmsUploadTokenParam; import com.itools.core.service.FileManagerService; +import org.springframework.web.multipart.MultipartFile; /** * @project: itools-backend @@ -13,8 +15,26 @@ import com.itools.core.service.FileManagerService; */ @FileStrategy(value = StrategyType.NIO) public class NioFileManagerServiceImpl implements FileManagerService { + /** + * 批量上传文件 + * @param files 文件 + * @param param 上传的参数 + * @return + */ @Override - public CommonResult mutipartUploadFiles() { + public CommonResult mutipartUploadFiles(MultipartFile[] files, FmsUploadTokenParam param) { return CommonResult.success(StrategyType.NIO.getType()); } + + /** + * 单个上传文件 + * + * @param file 文件 + * @param param 上传的参数 + * @return + */ + @Override + public CommonResult mutipartUploadFiles(MultipartFile file, FmsUploadTokenParam param) { + return null; + } } diff --git a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java index d358953..2eb7f12 100644 --- a/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java +++ b/itools-fms/itools-fms-model/src/main/java/com/itools/core/result/FmsUploadTokenResult.java @@ -10,6 +10,7 @@ import java.io.Serializable; public class FmsUploadTokenResult implements Serializable { private FmsBusinessTypeResult fsBusinessType; + private String fromSystemId; private String needEncrypt; private String remark; diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java index f93dd41..d19c478 100644 --- a/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/FileSystemApplication.java @@ -2,6 +2,7 @@ package com.itools.core; import com.itools.core.snowflake.config.EnableSequenceService; import com.itools.core.validate.EnableValidator; +import lombok.extern.log4j.Log4j2; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.Banner; import org.springframework.boot.SpringApplication; diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java index 75aa875..0ad6405 100644 --- a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileRecordController.java @@ -21,6 +21,7 @@ import java.io.IOException; * @create: 2021-04-01 11:26 */ @RestController +@ApiOperation("FmsFileRecordController") public class FmsFileRecordController { @Autowired diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java index 931b9c1..1750651 100644 --- a/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/controller/FmsFileSystemController.java @@ -38,6 +38,7 @@ import java.util.List; * @create: 2021-04-01 11:26 */ @RestController +@ApiOperation("FmsFileSystemController") public class FmsFileSystemController { @Autowired diff --git a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java index ee313ab..cb04324 100644 --- a/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java +++ b/itools-fms/itools-fms-server/src/main/java/com/itools/core/service/impl/FmsFileSystemServiceImpl.java @@ -106,8 +106,7 @@ public class FmsFileSystemServiceImpl implements FmsFileSystemService { } String path = fileStoreRootPath+File.separator; int pathLength = 4; - for(int i=0;i select - from FSS_ACCESS_TOKEN + from itools_fms_access_token where file_access_token = #{fileAccessToken,jdbcType=VARCHAR} - insert into FSS_ACCESS_TOKEN (file_access_token, unique_id, type) + insert into itools_fms_access_token (file_access_token, unique_id, type) values (#{item.fileAccessToken,jdbcType=VARCHAR}, #{item.uniqueId,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}) diff --git a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml index 942ae60..66f2f05 100644 --- a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml +++ b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsBusinessTypeMapper.xml @@ -16,40 +16,41 @@ - delete from FSS_BUSINESS_TYPE + delete from itools_fms_business_type where ID = #{id,jdbcType=BIGINT} - insert into FSS_BUSINESS_TYPE + insert into itools_fms_business_type ID, @@ -98,7 +99,7 @@ - update FSS_BUSINESS_TYPE + update itools_fms_business_type BUSINESS_TYPE = #{businessType,jdbcType=VARCHAR}, @@ -122,7 +123,7 @@ where ID = #{id,jdbcType=BIGINT} - update FSS_BUSINESS_TYPE + update itools_fms_business_type set BUSINESS_TYPE = #{businessType,jdbcType=VARCHAR}, REMARK = #{remark,jdbcType=VARCHAR}, FS_SIZE = #{fsSize,jdbcType=VARCHAR}, diff --git a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml index fabcc82..33c2199 100644 --- a/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml +++ b/itools-fms/itools-fms-server/src/main/resources/mapper/FmsFileRecordMapper.xml @@ -21,58 +21,60 @@ - delete from FSS_RECORD + delete from itools_fms_record where ID = #{id,jdbcType=DECIMAL} - insert into FSS_RECORD + insert into itools_fms_record ID, @@ -145,7 +147,7 @@ - update FSS_RECORD + update itools_fms_record CONTENT_TYPE = #{contentType,jdbcType=VARCHAR}, @@ -181,7 +183,7 @@ where ID = #{id,jdbcType=DECIMAL} - update FSS_RECORD + update itools_fms_record set CONTENT_TYPE = #{contentType,jdbcType=VARCHAR}, FROM_SYSTEM_ID = #{fromSystemId,jdbcType=VARCHAR}, FILE_SIZE = #{fileSize,jdbcType=DECIMAL}, -- Gitee

Fx$E9*K=So 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 z⪻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