dengsixing 3 lat temu
rodzic
commit
9d1e19c144

+ 39 - 0
4dkankan-common-utils/src/main/java/com/fdkankan/common/constant/SceneInfoReqType.java

@@ -0,0 +1,39 @@
+package com.fdkankan.common.constant;
+
+/**
+ * 场景详情请求来源
+ */
+public enum SceneInfoReqType {
+
+    EDIT((byte)1, "编辑页面"),
+    VIEW((byte)2, "查看页面");
+
+    private Byte code;
+    private String message;
+
+    private SceneInfoReqType(Byte code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public Byte code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+    public static SceneInfoReqType get(Byte code){
+        SceneInfoReqType[] values = SceneInfoReqType.values();
+        Byte enumValue = null;
+        for(SceneInfoReqType eachValue : values){
+            enumValue = eachValue.code();
+            if(enumValue.equals(code)){
+                return eachValue;
+            }
+        }
+        return null;
+    }
+
+}

+ 4 - 0
4dkankan-common-utils/src/main/java/com/fdkankan/common/util/StrExtUtil.java

@@ -4,6 +4,10 @@ import cn.hutool.core.util.StrUtil;
 
 public class StrExtUtil extends StrUtil {
 
+    public static void test(){
+        System.out.println("123");
+    }
+
     public static void main(String[] args) {
         String test = "";
         System.out.println(isBlank(test));

+ 37 - 0
4dkankan-utils-fyun/src/main/java/com/fdkankan/fyun/constant/StorageType.java

@@ -0,0 +1,37 @@
+package com.fdkankan.fyun.constant;
+
+public enum StorageType {
+
+    OSS("oss", "阿里云"),
+    AWS("aws", "亚马逊"),
+    LOCAL("local", "本地");
+
+    private String code;
+    private String message;
+
+    private StorageType(String code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public String code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+    public static StorageType get(String code){
+        StorageType[] values = StorageType.values();
+        String enumValue = null;
+        for(StorageType eachValue : values){
+            enumValue = eachValue.code();
+            if(enumValue.equals(code)){
+                return eachValue;
+            }
+        }
+        return null;
+    }
+
+}

+ 132 - 8
4dkankan-utils-fyun/src/main/java/com/fdkankan/fyun/oss/UploadToOssUtil.java

@@ -14,6 +14,7 @@ import com.amazonaws.services.s3.model.CannedAccessControlList;
 import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
 import com.amazonaws.services.s3.model.GetObjectRequest;
 import com.amazonaws.services.s3.model.PutObjectRequest;
+import com.fdkankan.fyun.constant.StorageType;
 import com.qiniu.common.Zone;
 import com.qiniu.storage.Configuration;
 import com.qiniu.storage.UploadManager;
@@ -560,10 +561,10 @@ public class UploadToOssUtil {
 	}
 
 	/**
-	 * 获得文件列表
+	 * 获得文件列表-阿里云
 	 * @return
 	 */
-	public List<String> listKeys(String sourcePath) {
+	public List<String> listKeysFromAli(String sourcePath) {
 		OSSClient ossClient = new OSSClient(point, key, secrey);
 		List<String> keyList = new ArrayList<>();
 		boolean flag = true;
@@ -571,23 +572,44 @@ public class UploadToOssUtil {
 		do
 		{
 			ListObjectsRequest listObjectsRequest = new ListObjectsRequest(this.bucket);
-			listObjectsRequest.setPrefix(sourcePath); //指定下一级文件
-			listObjectsRequest.setMarker(maker); //获取下一页的起始点,它的下一项
-			listObjectsRequest.setMaxKeys(200);//设置分页的页容量
-//			listObjectsRequest.setDelimiter("/");//跳出递归循环,只去指定目录下的文件。使用它时 Prefix文件路径要以“/”结尾
+			//指定下一级文件
+			listObjectsRequest.setPrefix(sourcePath);
+			//获取下一页的起始点,它的下一项
+			listObjectsRequest.setMarker(maker);
+			//设置分页的页容量
+			listObjectsRequest.setMaxKeys(200);
 			ObjectListing objectListing = ossClient.listObjects(listObjectsRequest);
 			List<OSSObjectSummary> objectSummaries = objectListing.getObjectSummaries();
 			for (OSSObjectSummary objectSummary : objectSummaries) {
 				keyList.add(objectSummary.getKey());
 			}
 			maker = objectListing.getNextMarker();
-			flag = objectListing.isTruncated();//全部执行完后,为false
+			//全部执行完后,为false
+			flag = objectListing.isTruncated();
 		} while (flag);
 
 		return keyList;
 	}
 
 	/**
+	 * 获得文件列表-亚马逊
+	 * @return
+	 */
+	public List<String> listKeysFromAws(String sourcePath) {
+		List<String> keyList = new ArrayList<>();
+		return keyList;
+	}
+
+	/**
+	 * 获得文件列表-阿里云
+	 * @return
+	 */
+	public List<String> listKeysFromLocal(String sourcePath) {
+		List<String> keyList = new ArrayList<>();
+		return keyList;
+	}
+
+	/**
 	 * <p>
 	        拷贝
 	 * </p>
@@ -597,9 +619,27 @@ public class UploadToOssUtil {
 	 * @param targetPath
 	 **/
 	public void copyFiles(String sourcePath, String targetPath) throws IOException {
+		StorageType storageType = StorageType.get(type);
+		switch (storageType){
+			case OSS: this.copyFilesFromAli(sourcePath, targetPath);
+			case AWS: this.copyFilesFromAws(sourcePath, targetPath);
+			case LOCAL: this.copyFilesFromLocal(sourcePath, targetPath);
+		}
+	}
+
+	/**
+	 * <p>
+	 拷贝-阿里云
+	 * </p>
+	 * @author dengsixing
+	 * @date 2022/1/18
+	 * @param sourcePath
+	 * @param targetPath
+	 **/
+	public void copyFilesFromAli(String sourcePath, String targetPath) throws IOException {
 
 		//获取源文件列表
-		List<String> sourceKeyList = this.listKeys(sourcePath);
+		List<String> sourceKeyList = this.listKeysFromAli(sourcePath);
 		if(CollUtil.isEmpty(sourceKeyList)){
 			return;
 		}
@@ -615,4 +655,88 @@ public class UploadToOssUtil {
 		ossClient.shutdown();
 	}
 
+	/**
+	 * <p>
+	 拷贝-亚马逊
+	 * </p>
+	 * @author dengsixing
+	 * @date 2022/1/18
+	 * @param sourcePath
+	 * @param targetPath
+	 **/
+	public void copyFilesFromAws(String sourcePath, String targetPath) throws IOException {
+		// TODO: 2022/1/21
+	}
+
+	/**
+	 * <p>
+	 拷贝-本地
+	 * </p>
+	 * @author dengsixing
+	 * @date 2022/1/18
+	 * @param sourcePath
+	 * @param targetPath
+	 **/
+	public void copyFilesFromLocal(String sourcePath, String targetPath) throws IOException {
+		// TODO: 2022/1/21
+
+	}
+
+	/**
+	 * 获取文件内容
+	 * @param bucketName
+	 * @param objectName
+	 * @return
+	 */
+	public InputStream getObjectContent(String bucketName, String objectName){
+		StorageType storageType = StorageType.get(type);
+		switch (storageType){
+			case OSS:
+				return this.getObjectContentFromAli(bucketName, objectName);
+			case AWS:
+				return this.getObjectContentFromAws(bucketName, objectName);
+			case LOCAL:
+				return this.getObjectContentFromLocal(objectName);
+		}
+		return null;
+	}
+
+	/**
+	 * 获取文件内容-阿里云
+	 * @param bucketName
+	 * @param objectName
+	 * @return
+	 */
+	public InputStream getObjectContentFromAli(String bucketName, String objectName){
+		//创建oss客户端
+		OSSClient ossClient = new OSSClient(point, key, secrey);
+		// ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
+		OSSObject ossObject = ossClient.getObject(bucketName, objectName);
+		InputStream objectContent = ossObject.getObjectContent();
+		return objectContent;
+	}
+
+	/**
+	 * 获取文件内容-亚马逊
+	 * @param bucketName
+	 * @param objectName
+	 * @return
+	 */
+	public InputStream getObjectContentFromAws(String bucketName, String objectName){
+		// TODO: 2022/1/21
+		return null;
+	}
+
+	/**
+	 * 获取文件内容-本地
+	 * @param objectName
+	 * @return
+	 */
+	public InputStream getObjectContentFromLocal(String objectName){
+		// TODO: 2022/1/21
+		return null;
+	}
+
+
+
 }