|
|
@@ -1,11 +1,14 @@
|
|
|
package com.cnd3b.restcontroller.enterprise.datacenter;
|
|
|
|
|
|
+import baseclass.tools.Json;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.aliyun.oss.OSS;
|
|
|
import com.aliyun.oss.OSSClientBuilder;
|
|
|
import com.aliyun.oss.model.*;
|
|
|
import com.cnd3b.common.Controller;
|
|
|
+import com.cnd3b.common.data.Rows;
|
|
|
+import com.cnd3b.common.data.SQLFactory;
|
|
|
import com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant;
|
|
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
@@ -20,6 +23,7 @@ public class datacenter extends Controller {
|
|
|
|
|
|
//仓库名称-资料中心
|
|
|
String BUCKE_NAME = "js-data-1";
|
|
|
+ String url = BUCKE_NAME + "." + AliyunOSSConfigConstant.END_POINT;
|
|
|
OSS ossClient;
|
|
|
|
|
|
/**
|
|
|
@@ -146,28 +150,97 @@ public class datacenter extends Controller {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取文件夹
|
|
|
+ * 获取根目录
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
public String getFolders() {
|
|
|
|
|
|
+ // 构造ListObjectsRequest请求。
|
|
|
+ ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME);
|
|
|
+ // 设置正斜线(/)为文件夹的分隔符。
|
|
|
+ listObjectsRequest.setDelimiter("/");
|
|
|
+ // 列出fun目录下的所有文件和文件夹。
|
|
|
+ listObjectsRequest.setPrefix("");
|
|
|
+ ObjectListing listing = ossClient.listObjects(listObjectsRequest);
|
|
|
+
|
|
|
+ // 遍历所有commonPrefix。
|
|
|
+ ArrayList<String> commonPrefixList = new ArrayList<>();
|
|
|
+ for (String commonPrefix : listing.getCommonPrefixes()) {
|
|
|
+
|
|
|
|
|
|
- return "";
|
|
|
+ String selectSql = "SELECT*FROM tfolder WHERE fpath='" + commonPrefix + "'";
|
|
|
+ Rows rows = dbConnect.runSqlQuery(selectSql);
|
|
|
+ if (rows.isEmpty()) {
|
|
|
+ Long id = createTableID("tfolder", "tfolderid");
|
|
|
+ String sql = "INSERT INTO tfolder(tfolderid,rmkenable,fpath,createdate) VALUES(" + id + ", 0,'" + commonPrefix + "','" + getDateTime_Str() + "')";
|
|
|
+ dbConnect.runSqlUpdate(sql);
|
|
|
+ }
|
|
|
+ commonPrefixList.add(commonPrefix);
|
|
|
+ }
|
|
|
+ // 关闭OSSClient。
|
|
|
+ ossClient.shutdown();
|
|
|
+
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
+ object.put("folder", commonPrefixList);
|
|
|
+
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(this, "查询根目录");
|
|
|
+ sqlFactory.addParameter_in("fpath", commonPrefixList);
|
|
|
+ String sql = sqlFactory.getSQL();
|
|
|
+
|
|
|
+ Rows rows = dbConnect.runSqlQuery(sql);
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取文件
|
|
|
+ * 获取文件夹
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public String getFiles() {
|
|
|
+ public String getAllFolders() {
|
|
|
+ // 构造ListObjectsRequest请求。
|
|
|
+ ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME);
|
|
|
+
|
|
|
+ // 列举文件。
|
|
|
+ ObjectListing listing = ossClient.listObjects(listObjectsRequest);
|
|
|
+
|
|
|
+ //遍历所有文件。
|
|
|
+ //System.out.println("Objects:");
|
|
|
+ //List<String> stringList = new ArrayList<>();
|
|
|
+ for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {
|
|
|
+ System.out.println(objectSummary.getKey());
|
|
|
+ if (objectSummary.getKey().endsWith("/")) {
|
|
|
+ String key = objectSummary.getKey();
|
|
|
+ //stringList.add(key);
|
|
|
+ String selectSql = "SELECT*FROM tfolder WHERE fpath='" + key + "'";
|
|
|
+ Rows rows = dbConnect.runSqlQuery(selectSql);
|
|
|
+ if (rows.isEmpty()) {
|
|
|
+ Long id = createTableID("tfolder", "tfolderid");
|
|
|
+ String sql = "INSERT INTO tfolder(tfolderid,rmkenable,fpath,createdate) VALUES(" + id + ", 0,'" + objectSummary.getKey() + "','" + getDateTime_Str() + "')";
|
|
|
+ dbConnect.runSqlUpdate(sql);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+ // 关闭OSSClient。
|
|
|
+ ossClient.shutdown();
|
|
|
+
|
|
|
+ String sql = "SELECT tfolderid,fpath FROM tfolder ORDER BY tfolderid ";
|
|
|
+ Rows rows = dbConnect.runSqlQuery(sql);
|
|
|
|
|
|
- return "";
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
|
|
|
- public String getAllFolders() {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取指定目录下的文件和文件夹
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public String getFilesOfPath() {
|
|
|
String folderPath = content.getString("folderPath");
|
|
|
// 构造ListObjectsRequest请求。
|
|
|
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME);
|
|
|
@@ -178,16 +251,26 @@ public class datacenter extends Controller {
|
|
|
ObjectListing listing = ossClient.listObjects(listObjectsRequest);
|
|
|
// 遍历所有文件。
|
|
|
System.out.println("Objects:");
|
|
|
- List<String> objectSummaryList = new ArrayList<>();
|
|
|
+ List<JSONObject> objectSummaryList = new ArrayList<>();
|
|
|
for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {
|
|
|
- objectSummaryList.add(objectSummary.getKey());
|
|
|
+ if (!objectSummary.getKey().equals(folderPath)) {
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
+ object.put("key", objectSummary.getKey());
|
|
|
+ object.put("name", objectSummary.getKey().replace(folderPath, ""));
|
|
|
+ object.put("size", objectSummary.getSize() / 1024);
|
|
|
+ object.put("time", getDateTime_Str(objectSummary.getLastModified()));
|
|
|
+ object.put("url", url + "/" + objectSummary.getKey());
|
|
|
+ objectSummaryList.add(object);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 遍历所有commonPrefix。
|
|
|
System.out.println("CommonPrefixes:");
|
|
|
- List<String> commonPrefixList = new ArrayList<>();
|
|
|
+ List<JSONObject> commonPrefixList = new ArrayList<>();
|
|
|
for (String commonPrefix : listing.getCommonPrefixes()) {
|
|
|
- commonPrefixList.add(commonPrefix);
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
+ object.put("folderpath", commonPrefix);
|
|
|
+ commonPrefixList.add(object);
|
|
|
}
|
|
|
// 关闭OSSClient。
|
|
|
ossClient.shutdown();
|