dengsixing 3 سال پیش
والد
کامیت
3fd2cb05bc

+ 32 - 0
4dkankan-common-utils/src/main/java/com/fdkankan/common/constant/ConstantFilePath.java

@@ -76,6 +76,38 @@ public class ConstantFilePath {
         ConstantFilePath.BUILD_MODEL_LASER_PATH = value;
     }
 
+    /**
+     * 场景编辑数据目录
+     */
+    public static final String SCENE_EDIT_DATA = "scene_edit_data/";
+
+    /**
+     * 场景编辑用户上传数据目录
+     */
+    public static final String SCENE_EDIT_DATA_USER = "scene_edit_data/%s/user/";
+
+    /**
+     * 场景编辑数据data目录
+     */
+    public static final String SCENE_EDIT_DATA_DATA = "scene_edit_data/%s/data/";
+
+    /**
+     * 场景发布数据目录
+     */
+    public static final String SCENE_VIEW_DATA = "scene_view_data/";
+
+    /**
+     * 场景发布用户上传数据目录
+     */
+    public static final String SCENE_VIEW_DATA_USER = "scene_view_data/%s/user/";
+
+    /**
+     * 场景发布数据data目录
+     */
+    public static final String SCENE_VIEW_DATA_DATA= "scene_view_data/%s/data/";
+
+
+
     public static void main(String[] args) {
 
         System.out.println(String.format(ConstantFilePath.SCENE_PATH_FORMAT, "123"));

+ 1 - 1
4dkankan-common-utils/src/main/java/com/fdkankan/common/response/ResultData.java

@@ -37,7 +37,7 @@ public class ResultData<T> implements Serializable {
         return ok(null);
     }
     public static ResultData ok(Object data) {
-        return ok("", data);
+        return ok("成功", data);
     }
     public static ResultData ok(String msg, Object data) {
         return base(200, msg, data,true);

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

@@ -1,10 +1,8 @@
 package com.fdkankan.fyun.oss;
 
+import cn.hutool.core.collection.CollUtil;
 import com.aliyun.oss.OSSClient;
-import com.aliyun.oss.model.OSSObjectSummary;
-import com.aliyun.oss.model.ObjectListing;
-import com.aliyun.oss.model.ObjectMetadata;
-import com.aliyun.oss.model.PutObjectResult;
+import com.aliyun.oss.model.*;
 import com.amazonaws.HttpMethod;
 import com.amazonaws.auth.AWSStaticCredentialsProvider;
 import com.amazonaws.auth.BasicAWSCredentials;
@@ -32,6 +30,7 @@ import java.io.*;
 import java.net.FileNameMap;
 import java.net.URL;
 import java.net.URLConnection;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -520,4 +519,61 @@ public class UploadToOssUtil {
 		return false;
 	}
 
+	/**
+	 * 获得文件列表
+	 * @return
+	 */
+	public List<String> listKeys(String sourcePath) {
+		OSSClient ossClient = new OSSClient(point, key, secrey);
+		List<String> keyList = new ArrayList<>();
+		boolean flag = true;
+		String maker = null;
+		do
+		{
+			ListObjectsRequest listObjectsRequest = new ListObjectsRequest(this.bucket);
+			listObjectsRequest.setPrefix(sourcePath); //指定下一级文件
+			listObjectsRequest.setMarker(maker); //获取下一页的起始点,它的下一项
+			listObjectsRequest.setMaxKeys(200);//设置分页的页容量
+//			listObjectsRequest.setDelimiter("/");//跳出递归循环,只去指定目录下的文件。使用它时 Prefix文件路径要以“/”结尾
+			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
+		} while (flag);
+
+		return keyList;
+	}
+
+	/**
+	 * <p>
+	        拷贝
+	 * </p>
+	 * @author dengsixing
+	 * @date 2022/1/18
+	 * @param keyList
+	 * @param sourcePath
+	 * @param targetPath
+	 **/
+	public void copyFiles(String sourcePath, String targetPath) throws IOException {
+
+		//获取源文件列表
+		List<String> sourceKeyList = this.listKeys(sourcePath);
+		if(CollUtil.isEmpty(sourceKeyList)){
+			return;
+		}
+		// 创建OSSClient实例。
+		OSSClient ossClient = new OSSClient(point, key, secrey);
+		// 复制文件
+		sourceKeyList.parallelStream().forEach(key -> {
+			log.info("开始复制:" + key);
+			ossClient.copyObject(this.bucket, key, this.bucket, key.replace(sourcePath, targetPath));
+			log.info("复制成功:" + key);
+		});
+
+		ossClient.shutdown();
+	}
+
 }

+ 5 - 0
4dkankan-utils-redis/src/main/java/com/fdkankan/redis/constant/RedisKey.java

@@ -67,6 +67,11 @@ public class RedisKey {
 
     public static final String DOWNLOAD_TASK="downloads:task";
 
+    /**
+     * scenejson缓存
+     */
+    public static final String SCENE_JSON = "scenejson:num:%s";
+