Procházet zdrojové kódy

查询课件列表

吴志根 před 4 roky
rodič
revize
3e79ee68ca

+ 8 - 1
src/dsb/com/cnd3b/common/Controller.java

@@ -2,6 +2,8 @@ package com.cnd3b.common;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
 import com.cnd3b.common.data.Row;
 import com.cnd3b.common.data.Rows;
 import com.cnd3b.common.data.RowsMap;
@@ -10,6 +12,7 @@ import com.cnd3b.common.data.db.DBConnect;
 import com.cnd3b.common.data.db.DataPool;
 import com.cnd3b.common.parameter.parameter;
 import com.cnd3b.common.websocket.WebClientSocket;
+import com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant;
 import p2.p2server.P2Server;
 import p2.pao.PaoRemote;
 import p2.pao.PaoSetRemote;
@@ -50,7 +53,7 @@ public class Controller extends BaseClass {
     public Date sysdate;
 
     public String wechatID;
-
+    public OSS ossClient;
     /**
      * ¹¹Ô캯Êý
      *
@@ -109,6 +112,10 @@ public class Controller extends BaseClass {
 //            System.err.println(wechatID);
         }
 
+        if (ossClient == null) {
+            ossClient = new OSSClientBuilder().build(AliyunOSSConfigConstant.END_POINT, AliyunOSSConfigConstant.AccessKey_ID, AliyunOSSConfigConstant.AccessKey_Secret);
+        }
+
     }
 
 

+ 1 - 1
src/dsb/com/cnd3b/common/parameter/parameter.java

@@ -25,7 +25,7 @@ public class parameter {
     public static HashMap<Long, Row> userIdList = new HashMap<>(16);
 
     public static String defaultsiteid = "JIUSHENG";
-    public static Boolean isMac = false;
+    public static Boolean isMac = true;
     //设置改部门下的为经销商
     public static String depname = "嘉兴多三边科技有限公司";
     public static String tuserid = "";

+ 5 - 0
src/dsb/com/cnd3b/restcontroller/customer/wechatapplet/SQL/查询账号目录.sql

@@ -0,0 +1,5 @@
+SELECT DISTINCT t2.fpath
+FROM tfolderauth t1
+         LEFT JOIN tfolder t2
+                   ON t1.tfolderid = t2.tfolderid
+WHERE tuserid = $tuserid$

+ 84 - 0
src/dsb/com/cnd3b/restcontroller/customer/wechatapplet/wechatapplet.java

@@ -1,6 +1,11 @@
 package com.cnd3b.restcontroller.customer.wechatapplet;
 
 import com.alibaba.fastjson.JSONObject;
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import com.aliyun.oss.model.ListObjectsRequest;
+import com.aliyun.oss.model.OSSObjectSummary;
+import com.aliyun.oss.model.ObjectListing;
 import com.cnd3b.common.Controller;
 import com.cnd3b.common.data.Row;
 import com.cnd3b.common.data.Rows;
@@ -8,16 +13,25 @@ import com.cnd3b.common.data.RowsMap;
 import com.cnd3b.common.data.SQLFactory;
 import com.cnd3b.common.parameter.parameter;
 import com.cnd3b.utility.WebRequest;
+import com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant;
 import com.cnd3b.utility.wechatdock.WechatDock_Enterprise;
 import org.apache.commons.codec.digest.DigestUtils;
+import p2.common.parse.A;
 import p2.pao.PaoRemote;
 import p2.pao.PaoSetRemote;
 import p2.util.P2Exception;
 
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.List;
+
+import static com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant.BUCKE_NAME_2;
 
 public class wechatapplet extends Controller {
+
+    String url = BUCKE_NAME_2 + "." + AliyunOSSConfigConstant.END_POINT;
+
     /**
      * 构造函数
      *
@@ -25,6 +39,7 @@ public class wechatapplet extends Controller {
      */
     public wechatapplet(JSONObject content) {
         super(content);
+
     }
 
 
@@ -162,4 +177,73 @@ public class wechatapplet extends Controller {
         }.start();
     }
 
+    /**
+     * 获取指定目录下的文件和文件夹
+     *
+     * @return
+     */
+    public String getFilesOfPath() {
+        String folderPath = content.getString("folderPath");
+        // 构造ListObjectsRequest请求。
+        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME_2);
+        // 设置正斜线(/)为文件夹的分隔符。
+        listObjectsRequest.setDelimiter("/");
+        // 列出fun目录下的所有文件和文件夹。
+        listObjectsRequest.setPrefix(folderPath);
+        ObjectListing listing = ossClient.listObjects(listObjectsRequest);
+        // 遍历所有文件。
+        System.out.println("Objects:");
+        List<JSONObject> objectSummaryList = new ArrayList<>();
+        for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {
+            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);
+            }
+        }
+
+        //查询对应账号下有哪些有权限的目录
+        SQLFactory sqlFactory = new SQLFactory(this, "查询账号目录");
+        sqlFactory.addParameter("tuserid", parameter.tuserid);
+        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+        ArrayList<String> listFolders = new ArrayList<>();
+        if (!rows.isEmpty()) {
+            for (Row row : rows) {
+                listFolders.add(row.getString("fpath"));
+            }
+
+        }
+
+        // 遍历所有commonPrefix。
+        List<JSONObject> commonPrefixList = new ArrayList<>();
+        for (String commonPrefix : listing.getCommonPrefixes()) {
+            JSONObject object = new JSONObject();
+            object.put("folderpath", commonPrefix);
+            if (listFolders.size() == 0) {
+
+                commonPrefixList.add(object);
+            } else {
+                for (String str : listFolders) {
+                    if (str.equals(object)) {
+                        commonPrefixList.add(object);
+                    }
+                }
+            }
+        }
+        {
+
+        }
+        // 关闭OSSClient。
+        ossClient.shutdown();
+
+        JSONObject object = new JSONObject();
+        object.put("files", objectSummaryList);
+        object.put("folder", commonPrefixList);
+        return getSucReturnObject().setData(object).toString();
+    }
+
 }

+ 12 - 14
src/dsb/com/cnd3b/restcontroller/enterprise/datacenter/datacenter.java

@@ -18,13 +18,13 @@ import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
 
+import static com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant.BUCKE_NAME_2;
+
 
 public class datacenter extends Controller {
 
-    //仓库名称-资料中心
-    String BUCKE_NAME = "js-data-1";
-    String url = BUCKE_NAME + "." + AliyunOSSConfigConstant.END_POINT;
-    OSS ossClient;
+
+    String url = BUCKE_NAME_2 + "." + AliyunOSSConfigConstant.END_POINT;
 
     /**
      * 构造函数
@@ -33,9 +33,7 @@ public class datacenter extends Controller {
      */
     public datacenter(JSONObject content) {
         super(content);
-        if (ossClient == null) {
-            ossClient = new OSSClientBuilder().build(AliyunOSSConfigConstant.END_POINT, AliyunOSSConfigConstant.AccessKey_ID, AliyunOSSConfigConstant.AccessKey_Secret);
-        }
+
     }
 
 
@@ -49,7 +47,7 @@ public class datacenter extends Controller {
         if (folderName.equals("") || folderName == null) {
             return getErrReturnObject().setErrMsg("文件夹名称不能为空").toString();
         }
-        ossClient.putObject(new PutObjectRequest(BUCKE_NAME, folderName, new ByteArrayInputStream("".getBytes())));
+        ossClient.putObject(new PutObjectRequest(BUCKE_NAME_2, folderName, new ByteArrayInputStream("".getBytes())));
         ossClient.shutdown();
         return getSucReturnObject().toString();
     }
@@ -68,7 +66,7 @@ public class datacenter extends Controller {
         for (Object obj : jsonArray) {
             keysList.add(obj.toString());
         }
-        DeleteObjectsRequest request = new DeleteObjectsRequest(BUCKE_NAME);
+        DeleteObjectsRequest request = new DeleteObjectsRequest(BUCKE_NAME_2);
         request.setKeys(keysList);
         // 发起deleteObjects请求。
         DeleteObjectsResult delObjResult = ossClient.deleteObjects(request);
@@ -110,7 +108,7 @@ public class datacenter extends Controller {
         String key = folderPath + file.getName();
         System.err.println(key);
 
-        ossClient.putObject(new PutObjectRequest(BUCKE_NAME, key, file));
+        ossClient.putObject(new PutObjectRequest(BUCKE_NAME_2, key, file));
         ossClient.shutdown();
         return getSucReturnObject().toString();
     }
@@ -129,7 +127,7 @@ public class datacenter extends Controller {
         for (Object obj : jsonArray) {
             keysList.add(obj.toString());
         }
-        DeleteObjectsRequest request = new DeleteObjectsRequest(BUCKE_NAME);
+        DeleteObjectsRequest request = new DeleteObjectsRequest(BUCKE_NAME_2);
         request.setKeys(keysList);
         // 发起deleteObjects请求。
         DeleteObjectsResult delObjResult = ossClient.deleteObjects(request);
@@ -157,7 +155,7 @@ public class datacenter extends Controller {
     public String getFolders() {
 
         // 构造ListObjectsRequest请求。
-        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME);
+        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME_2);
         // 设置正斜线(/)为文件夹的分隔符。
         listObjectsRequest.setDelimiter("/");
         // 列出fun目录下的所有文件和文件夹。
@@ -200,7 +198,7 @@ public class datacenter extends Controller {
      */
     public String getAllFolders() {
         // 构造ListObjectsRequest请求。
-        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME);
+        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME_2);
 
         // 列举文件。
         ObjectListing listing = ossClient.listObjects(listObjectsRequest);
@@ -243,7 +241,7 @@ public class datacenter extends Controller {
     public String getFilesOfPath() {
         String folderPath = content.getString("folderPath");
         // 构造ListObjectsRequest请求。
-        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME);
+        ListObjectsRequest listObjectsRequest = new ListObjectsRequest(BUCKE_NAME_2);
         // 设置正斜线(/)为文件夹的分隔符。
         listObjectsRequest.setDelimiter("/");
         // 列出fun目录下的所有文件和文件夹。

+ 2 - 2
src/dsb/com/cnd3b/restcontroller/system/system/OSSManage.java

@@ -55,7 +55,7 @@ public class OSSManage extends Controller {
             key = ftype + "/" + filename;
         }
         OSS ossClient = new OSSClientBuilder().build(AliyunOSSConfigConstant.END_POINT, AliyunOSSConfigConstant.AccessKey_ID, AliyunOSSConfigConstant.AccessKey_Secret);
-        ossClient.putObject(new PutObjectRequest(AliyunOSSConfigConstant.BUCKE_NAME, key, file));
+        ossClient.putObject(new PutObjectRequest(AliyunOSSConfigConstant.BUCKE_NAME_1, key, file));
         ossClient.shutdown();
         String url = file_url + "/" + key;
 
@@ -112,7 +112,7 @@ public class OSSManage extends Controller {
             key = ftype + "/" + filename;
         }
         OSS ossClient = new OSSClientBuilder().build(AliyunOSSConfigConstant.END_POINT, AliyunOSSConfigConstant.AccessKey_ID, AliyunOSSConfigConstant.AccessKey_Secret);
-        ossClient.putObject(new PutObjectRequest(AliyunOSSConfigConstant.BUCKE_NAME, key, file));
+        ossClient.putObject(new PutObjectRequest(AliyunOSSConfigConstant.BUCKE_NAME_1, key, file));
         ossClient.shutdown();
         String url = file_url + "/" + key;
 

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

@@ -6,7 +6,9 @@ public class AliyunOSSConfigConstant {
     }
 
     //仓库名称-培训学习
-    public static final String BUCKE_NAME = "jiusheng11";
+    public static final String BUCKE_NAME_1 = "jiusheng11";
+    //仓库名称-资料中心
+    public static final String BUCKE_NAME_2 = "js-data-1";
     //地域节点
     public static final String END_POINT = "oss-cn-beijing.aliyuncs.com";
     //AccessKey ID 阿里云AccessKey