فهرست منبع

资料中心授权

吴志根 4 سال پیش
والد
کامیت
2f62faacaf

+ 4 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/datacenter/SQL/查询根目录.sql

@@ -0,0 +1,4 @@
+SELECT tfolderid, fpath
+FROM tfolder
+where fpath in $fpath$
+ORDER BY tfolderid

+ 93 - 10
src/dsb/com/cnd3b/restcontroller/enterprise/datacenter/datacenter.java

@@ -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();

+ 7 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/tfolderauth/SQL/查询资料中心授权列表.sql

@@ -0,0 +1,7 @@
+SELECT t1.tfolderauthid, t1.tfolderid, t1.frole, t1.fauthtype, t2.fpath, t3.wechat_name, t3.wechat_mobile
+FROM tfolderauth t1
+         LEFT JOIN tfolder t2
+                   ON t2.tfolderid = t1.tfolderid
+         LEFT JOIN tuser t3
+                   ON t3.tuserid = t1.tuserid
+ORDER BY t1.createdate DESC

+ 114 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/tfolderauth/tfolderauth.java

@@ -0,0 +1,114 @@
+package com.cnd3b.restcontroller.enterprise.tfolderauth;
+
+import com.alibaba.fastjson.JSONObject;
+import com.cnd3b.common.Controller;
+import com.cnd3b.common.data.Rows;
+import com.cnd3b.common.data.SQLFactory;
+import p2.pao.PaoRemote;
+import p2.pao.PaoSetRemote;
+import p2.util.P2Exception;
+
+public class tfolderauth extends Controller {
+    /**
+     * 构造函数
+     *
+     * @param content
+     */
+    public tfolderauth(JSONObject content) {
+        super(content);
+    }
+
+    /**
+     * 新增资料中心授权
+     *
+     * @return
+     */
+    public String inseretTfolderauth() throws P2Exception {
+
+        //文件夹id
+        String tfolderid = content.getString("tfolderid");
+        //角色(职业)
+        String frole = content.getString("frole");
+        //体系
+        String fauthtype = content.getString("fauthtype");
+        //
+        String tuserid = content.getString("tuserid");
+
+        PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tfolderauth");
+        PaoRemote paoRemote = paoSetRemote.addAtEnd();
+        paoRemote.setValue("tfolderid", tfolderid, 11L);
+        paoRemote.setValue("frole", frole, 11L);
+        paoRemote.setValue("fauthtype", fauthtype, 11L);
+        paoRemote.setValue("tuserid", tuserid, 11L);
+        paoSetRemote.save();
+
+        return getSucReturnObject().toString();
+    }
+
+
+    /**
+     * 更新资料中心授权
+     *
+     * @return
+     */
+    public String updateTfolderauth() throws P2Exception {
+        String tfolderauthid = content.getString("tfolderauthid");
+        //文件夹id
+        String tfolderid = content.getString("tfolderid");
+        //角色(职业)
+        String frole = content.getString("frole");
+        //体系
+        String fauthtype = content.getString("fauthtype");
+        String tuserid = content.getString("tuserid");
+
+        PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tfolderauth", "tfolderauthid = '" + tfolderauthid + "'");
+        if (!paoSetRemote.isEmpty()) {
+            PaoRemote paoRemote = paoSetRemote.getPao(0);
+            paoRemote.setValue("tfolderid", tfolderid, 11L);
+            paoRemote.setValue("frole", frole, 11L);
+            paoRemote.setValue("fauthtype", fauthtype, 11L);
+            paoRemote.setValue("tuserid", tuserid, 11L);
+            paoSetRemote.save();
+        } else {
+            return getErrReturnObject().setErrMsg("未找到数据").toString();
+        }
+
+
+        return getSucReturnObject().toString();
+    }
+
+    /**
+     * 删除资料中心授权
+     *
+     * @return
+     */
+    public String deleteTfolderauth() throws P2Exception {
+        String tfolderauthid = content.getString("tfolderauthid");
+
+
+        PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tfolderauth", "tfolderauthid = '" + tfolderauthid + "'");
+        if (!paoSetRemote.isEmpty()) {
+            PaoRemote paoRemote = paoSetRemote.getPao(0);
+            paoRemote.delete();
+            paoSetRemote.save();
+        } else {
+            return getErrReturnObject().setErrMsg("未找到数据").toString();
+        }
+
+
+        return getSucReturnObject().toString();
+    }
+
+    /**
+     * 查询资料中心列表
+     *
+     * @return
+     */
+    public String selectTfolderauthList() {
+        SQLFactory sqlFactory = new SQLFactory(this, "查询资料中心授权列表");
+//        String sql = "SELECT tfolderauthid,tfolderid,frole, fauthtype FROM tfolderauth ORDER BY createdate DESC";
+        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+}

+ 1 - 1
src/dsb/com/cnd3b/utility/aliyun/oss/AliyunOSSConfigConstant.java

@@ -8,7 +8,7 @@ public class AliyunOSSConfigConstant {
     //仓库名称-培训学习
     public static final String BUCKE_NAME = "jiusheng11";
     //地域节点
-    public static final String END_POINT = "https://oss-cn-beijing.aliyuncs.com";
+    public static final String END_POINT = "oss-cn-beijing.aliyuncs.com";
     //AccessKey ID 阿里云AccessKey
     public static final String AccessKey_ID = "LTAI5tASc17g95ABAqwUAqNS";
     //Access Key Secret 阿里云Secret