Explorar o código

云存储规则调整

沈静伟 %!s(int64=4) %!d(string=hai) anos
pai
achega
21ed60e11e

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

@@ -518,7 +518,7 @@ public class Controller extends BaseClass {
         if (!headPicMap.containsKey(userid)) {
             Rows rows = getAttachmentUrl("tenterprise_users", String.valueOf(userid), "headportrait");
             if (!rows.isEmpty()) {
-                headPicMap.put(userid, rows.get(0).getString("fobsurl_minimage"));
+                headPicMap.put(userid, rows.get(0).getString("fobsurl_thumbnail"));
             }
         }
         return headPicMap.getOrDefault(userid, "");

+ 10 - 5
src/dsb/com/cnd3b/restcontroller/system/system/docManage.java

@@ -563,16 +563,21 @@ public class docManage extends Controller {
         String ownerid = content.getString("ownerid");
         String tattachmentid = content.getString("tattachmentid");
 
-        Rows rows = dbConnect.runSqlQuery("select * from tattachment where siteid='" + siteid + "' and tattachmentid=" + tattachmentid);
+        Rows rows = dbConnect.runSqlQuery("select serialnumber,tattachmentid from tattachment t1 where siteid='" + siteid + "' and tattachmentid=" + tattachmentid);
         if (!rows.isEmpty()) {
             String objectname = rows.get(0).getString("serialnumber");
-
             BucketFile bucketFile = new BucketFile(siteid);
             bucketFile.deleteFile(objectname);
 
-            String serialnumber_hls = rows.get(0).getString("serialnumber_hls");
-            if (!"".equalsIgnoreCase(serialnumber_hls)) {
-                bucketFile.deleteFolder(serialnumber_hls);
+            Rows subrows = dbConnect.runSqlQuery("select ftype,serialnumber from tattachment where fparentid=" + tattachmentid);
+            for (Row subrow : subrows) {
+                String ftype = subrow.getString("ftype");
+                String serialnumber = subrow.getString("serialnumber");
+                if ("hls".equals(ftype)) {
+                    bucketFile.deleteFolder(serialnumber);
+                } else {
+                    bucketFile.deleteFile(serialnumber);
+                }
             }
             bucketFile.close();
         }

+ 6 - 6
src/dsb/com/cnd3b/service/ObsAutoDelete.java

@@ -40,18 +40,18 @@ public class ObsAutoDelete extends BaseClass implements Runnable {
             String objectname = objectrow.getString("ownertable");
             String uniquecolumnname = objectrow.getString("uniquecolumnname");
 
-            Rows tattachmentrows = dbConnect.runSqlQuery("select t1.siteid,t1.tattachmentid,t1.serialnumber,t1.fdocument,t1.serialnumber_hls from tattachment t1 left join " + objectname + " t2 on  t1.ownerid=t2." + uniquecolumnname + " inner join tobsmag t3 on t1.siteid=t3.siteid and t3.fisautoclean=1  where t1.ownertable='" + objectname + "' and t2." + uniquecolumnname + " is null");
+            Rows tattachmentrows = dbConnect.runSqlQuery("select t1.siteid,t1.tattachmentid,t1.serialnumber,t1.fdocument,t1.fparentid,t1.ftype from tattachment t1 left join " + objectname + " t2 on  t1.ownerid=t2." + uniquecolumnname + " inner join tobsmag t3 on t1.siteid=t3.siteid and t3.fisautoclean=1  where t1.ownertable='" + objectname + "' and t2." + uniquecolumnname + " is null");
             for (Row tattachmentrow : tattachmentrows) {
                 String siteid = tattachmentrow.getString("siteid");
+                String ftype = tattachmentrow.getString("ftype");
                 String tattachmentid = tattachmentrow.getString("tattachmentid");
                 String serialnumber = tattachmentrow.getString("serialnumber");
                 String fdocument = tattachmentrow.getString("fdocument");
-                String serialnumber_hls = tattachmentrow.getString("serialnumber_hls");
                 BucketFile bucketFile = new BucketFile(siteid);
-                bucketFile.deleteFile(serialnumber);
-
-                if (!"".equalsIgnoreCase(serialnumber_hls)) {
-                    bucketFile.deleteFolder(serialnumber_hls);
+                if ("hls".equalsIgnoreCase(ftype)) {
+                    bucketFile.deleteFolder(serialnumber);
+                } else {
+                    bucketFile.deleteFile(serialnumber);
                 }
                 if (!bucketFile.doesObjectExist(serialnumber)) {
                     printInfoOut("云存储文件清理", siteid + "-表名:" + objectname + ";附件ID:" + tattachmentid + ";云存储文件名:" + serialnumber + ";文件名:" + fdocument);

+ 0 - 2
src/dsb/com/cnd3b/service/ObsMpcTaskQuery.java

@@ -81,8 +81,6 @@ public class ObsMpcTaskQuery extends BaseClass implements Runnable {
                 sqlFactory.addParameter("fobsurl", fileurl);
                 sqlFactory.addParameter("contentlength", bucketFile.getObjectMetadata(obsfilename).getContentLength());
 
-
-                // String sql = "update tattachment set serialnumber_hls='" + objectname + "', fobsurl_hls='" + fileurl + "' where siteid='" + siteid + "' and tattachmentid='" + tattachmentid + "'";
                 list.add(sqlFactory.getSQL());
                 list.add("update tattachment set mpctaskstatus=1 where tattachmentid='" + tattachmentid + "'");
                 bucketFile.close();

+ 0 - 2
src/dsb/com/cnd3b/service/SQL/华为云存储文件Url失效查询.sql

@@ -1,2 +0,0 @@
-select tattachmentid,siteid,serialnumber,postfix from tattachment where fobsurl_enddate-7<GETDATE()
-order by siteid

+ 0 - 1
src/dsb/com/cnd3b/service/SQL/华为云存储文件Url更新.sql

@@ -1 +0,0 @@
-update tattachment set fobsurl=$fobsurl$,fobsurl_minimage=$fobsurl_minimage$,fobsurl_enddate=$fobsurl_enddate$ where siteid=$siteid$ and tattachmentid=$tattachmentid$

+ 6 - 6
src/dsb/com/cnd3b/utility/obs/BucketFile.java

@@ -59,12 +59,12 @@ public class BucketFile extends Bucket {
      */
     public void deleteFile(String objectname) {
         obsClient.deleteObject(bucketname, objectname);
-        if (obsClient.doesObjectExist(bucketname, "s_" + objectname)) {
-            obsClient.deleteObject(bucketname, "s_" + objectname);
-        }
-        if (obsClient.doesObjectExist(bucketname, "c_" + objectname)) {
-            obsClient.deleteObject(bucketname, "c_" + objectname);
-        }
+//        if (obsClient.doesObjectExist(bucketname, "s_" + objectname)) {
+//            obsClient.deleteObject(bucketname, "s_" + objectname);
+//        }
+//        if (obsClient.doesObjectExist(bucketname, "c_" + objectname)) {
+//            obsClient.deleteObject(bucketname, "c_" + objectname);
+//        }
     }
 
     public void deleteFolder(String foldername) {