Kaynağa Gözat

添加视频转码记录和修改导入经销商体系实现

吴志根 4 yıl önce
ebeveyn
işleme
56ab076f2d

+ 3 - 0
src/dsb/com/cnd3b/restcontroller/customer/wechatapplet/SQL/查询转码记录.sql

@@ -0,0 +1,3 @@
+SELECT tkey, tkey_new
+FROM TTRANSCODINGLOG
+WHERE tkey in $tkey$

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

@@ -15,6 +15,7 @@ import com.cnd3b.common.data.SQLFactory;
 import com.cnd3b.common.parameter.parameter;
 
 import p2.common.parse.A;
+import p2.common.parse.S;
 import p2.pao.PaoRemote;
 import p2.pao.PaoSetRemote;
 import p2.pao.R;
@@ -519,8 +520,11 @@ public class wechatapplet extends Controller {
 
         });
 
+        ArrayList<String> Listkey = new ArrayList<>();
+
         for (OSSObjectSummary objectSummary : sums) {
             if (!objectSummary.getKey().equals(folderPath)) {
+                Listkey.add(objectSummary.getKey());
                 JSONObject object = new JSONObject();
                 object.put("key", objectSummary.getKey());
                 object.put("name", objectSummary.getKey().replace(folderPath, ""));
@@ -531,6 +535,27 @@ public class wechatapplet extends Controller {
             }
         }
 
+        SQLFactory sqlFactory = new SQLFactory(this, "²éѯתÂë¼Ç¼");
+        sqlFactory.addParameter_in("tkey", Listkey);
+        RowsMap rowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("tkey");
+        for (JSONObject object : objectSummaryList) {
+            String key = object.getString("key");
+            Rows rows = rowsMap.getOrDefault(key, new Rows());
+            if (!rows.isEmpty()) {
+                String tkey_new = rowsMap.get(key).get(0).getString("tkey_new");
+                if (!tkey_new.equals("")) {
+                    object.put("url_code", file_url + "/" + tkey_new);
+                    System.err.println(tkey_new);
+                } else {
+                    object.put("url_code", "");
+                }
+            } else {
+                object.put("url_code", "");
+            }
+
+        }
+
+
         return objectSummaryList;
     }
 

+ 32 - 2
src/dsb/com/cnd3b/restcontroller/enterprise/datacenter/datacenter.java

@@ -10,6 +10,9 @@ import com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant;
 import com.cnd3b.utility.aliyun.oss.AliyunOSSUtil;
 import p2.common.parse.A;
 import p2.common.parse.S;
+import p2.pao.PaoRemote;
+import p2.pao.PaoSetRemote;
+import p2.util.P2Exception;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
@@ -367,7 +370,7 @@ public class datacenter extends Controller {
      *
      * @return
      */
-    public String applyTranscoding() {
+    public String applyTranscoding() throws P2Exception {
         //阿里云视频转码模板
         String templateId = "S00000001-200030";
         //大于这个码率进行视频转码,mov格式的直接转码
@@ -378,6 +381,7 @@ public class datacenter extends Controller {
         String key = content.getString("key");
         if (key.toLowerCase().contains("mov")) {
             AliyunOSSUtil.transcoding(templateId, key, key);
+            addTranscodingLog(key, key);
             return getSucReturnObject().setData("MOV转码成功").toString();
         }
         //查询是否是可支持转码的视频
@@ -403,6 +407,7 @@ public class datacenter extends Controller {
             System.err.println(bitrate);
             if (Double.parseDouble(bitrate) > tempBitrate) {
                 AliyunOSSUtil.transcoding(templateId, key, key);
+                addTranscodingLog(key, key);
                 return getSucReturnObject().setData("转码成功").toString();
             } else {
                 return getSucReturnObject().setData("码率低于" + tempBitrate + ",无须转码").toString();
@@ -413,7 +418,7 @@ public class datacenter extends Controller {
 
     }
 
-    public String applyTranscodingOfPath() {
+    public String applyTranscodingOfPath() throws P2Exception {
         String folderPath = content.getString("folderPath");
         List<String> list = getOssFileList(folderPath);
         //阿里云视频转码模板
@@ -426,6 +431,7 @@ public class datacenter extends Controller {
             String key = keyPath;
             if (key.toLowerCase().contains("mov")) {
                 AliyunOSSUtil.transcoding(templateId, key, key);
+                addTranscodingLog(key, key);
                 System.err.println("MOV转码成功:" + keyPath);
             } else {
                 ArrayList<String> listVideo = getSupportVieoList();
@@ -452,6 +458,7 @@ public class datacenter extends Controller {
                     System.err.println(bitrate);
                     if (Double.parseDouble(bitrate) > tempBitrate) {
                         AliyunOSSUtil.transcoding(templateId, key, key);
+                        addTranscodingLog(key, key);
                         System.err.println("转码成功:" + keyPath);
 
                     } else {
@@ -488,5 +495,28 @@ public class datacenter extends Controller {
         return list;
     }
 
+    /**
+     * 添加转码记录
+     *
+     * @return
+     */
+    public void addTranscodingLog(String tkey, String tkey_new) throws P2Exception {
+
+        PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("TTRANSCODINGLOG", "tkey = '" + tkey + "'");
+        if (paoSetRemote.isEmpty()) {
+            PaoRemote paoRemote = paoSetRemote.addAtEnd();
+            paoRemote.setValue("tkey", tkey, 11L);
+            paoRemote.setValue("tkey_new", "code/" + tkey_new, 11L);
+
+        } else {
+            PaoRemote paoRemote = paoSetRemote.getPao(0);
+            paoRemote.setValue("tkey_new", "转码视频/" + tkey_new, 11L);
+
+        }
+
+        paoSetRemote.save();
+
+    }
+
 
 }

+ 10 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/tagentauth/SQL/插入经销商体系.sql

@@ -0,0 +1,10 @@
+IF
+NOT EXISTS (SELECT tagentauthid FROM tagentauth WHERE tagentsid = $tagentsid$ AND fauthtype = $fauthtype$ )
+INSERT INTO tagentauth(tagentauthid, createby, changeby, createdate, changedate, tagentsid,fauthtype,rmkenable)
+VALUES
+	( $tagentauthid$,'P2ADMIN','P2ADMIN',GETDATE() ,GETDATE(),$tagentsid$,$fauthtype$ ,0);
+ELSE
+UPDATE tagentauth
+SET changedate=GETDATE()
+WHERE tagentsid = $tagentsid$
+  AND fauthtype = $fauthtype$

+ 11 - 5
src/dsb/com/cnd3b/restcontroller/enterprise/tagentauth/tagentauth.java

@@ -66,11 +66,17 @@ public class tagentauth extends Controller {
         //新增体系
         for (Object obj : fauthtype) {
             //新增
-            PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tagentauth");
-            PaoRemote paoRemote = paoSetRemote.addAtEnd();
-            paoRemote.setValue("tagentsid", tagentsid, 11L);
-            paoRemote.setValue("fauthtype", obj.toString(), 11L);
-            paoSetRemote.save();
+//            PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tagentauth");
+//            PaoRemote paoRemote = paoSetRemote.addAtEnd();
+//            paoRemote.setValue("tagentsid", tagentsid, 11L);
+//            paoRemote.setValue("fauthtype", obj.toString(), 11L);
+//            paoSetRemote.save();
+
+            SQLFactory sqlFactory2 = new SQLFactory(this, "插入经销商体系");
+            sqlFactory2.addParameter("tagentsid", tagentsid);
+            sqlFactory2.addParameter("fauthtype", obj.toString());
+            sqlFactory2.addParameter("tagentauthid", createTableID("tagentauth", "tagentauthid"));
+            String res = dbConnect.runSqlUpdate(sqlFactory2);
 
         }
         return getSucReturnObject().toString();

+ 6 - 0
src/dsb/com/cnd3b/restcontroller/system/system/SQL/删除经销商体系.sql

@@ -0,0 +1,6 @@
+DELETE
+FROM tagentauth
+WHERE tagentauthid IN (SELECT tagentauthid
+                       FROM tagentauth
+                       WHERE tagentsid = $tagentsid$
+                         AND fauthtype NOT IN $fauthtype$)

+ 10 - 0
src/dsb/com/cnd3b/restcontroller/system/system/SQL/插入经销商体系.sql

@@ -0,0 +1,10 @@
+IF
+NOT EXISTS (SELECT tagentauthid FROM tagentauth WHERE tagentsid = $tagentsid$ AND fauthtype = $fauthtype$ )
+INSERT INTO tagentauth(tagentauthid, createby, changeby, createdate, changedate, tagentsid,fauthtype,rmkenable)
+VALUES
+	( $tagentauthid$,'P2ADMIN','P2ADMIN',GETDATE() ,GETDATE(),$tagentsid$,$fauthtype$ ,0);
+ELSE
+UPDATE tagentauth
+SET changedate=GETDATE()
+WHERE tagentsid = $tagentsid$
+  AND fauthtype = $fauthtype$

+ 69 - 22
src/dsb/com/cnd3b/restcontroller/system/system/uploadExcelData.java

@@ -5,6 +5,7 @@ import com.cnd3b.common.Controller;
 import com.cnd3b.common.D3bException;
 import com.cnd3b.common.data.Row;
 import com.cnd3b.common.data.Rows;
+import com.cnd3b.common.data.SQLFactory;
 import com.cnd3b.common.parameter.parameter;
 import javassist.bytecode.Descriptor;
 import jxl.Cell;
@@ -49,16 +50,17 @@ public class uploadExcelData extends Controller {
             /**
              * 如果返回结果不为空,则表示导入错误,需生成excel供用户下载
              */
-            if (!uploadData_tagentauth(writableWorkbook)) {
-                writableWorkbook.write();
-                errfile.exists();
-                return getErrReturnObject().setErrMsg("导入错误,是否下载错误信息").addKeyValue("errfileurl", "https://121.43.35.149/manage/" + filename).toString();
-            } else {
-                errfile.delete();
-                errfile.exists();
-                return getSucReturnObject().toString();
-            }
-
+            importData(writableWorkbook);
+//            if (!uploadData_tagentauth(writableWorkbook)) {
+//                writableWorkbook.write();
+//                errfile.exists();
+//                return getErrReturnObject().setErrMsg("导入错误,是否下载错误信息").addKeyValue("errfileurl", "https://121.43.35.149/manage/" + filename).toString();
+//            } else {
+//                errfile.delete();
+//                errfile.exists();
+//                return getSucReturnObject().toString();
+//            }
+            return getSucReturnObject().toString();
         } catch (Exception e) {
             e.printStackTrace();
             return getErrReturnObject().setErrMsg(e.getMessage()).toString();
@@ -83,18 +85,20 @@ public class uploadExcelData extends Controller {
             String name = parameter.UpLoadExcelErrFilePath() + "\\" + filename;
             File errfile = new File(name);
             writableWorkbook = Workbook.createWorkbook(errfile, workbook);
-            /**
-             * 如果返回结果不为空,则表示导入错误,需生成excel供用户下载
-             */
-            if (!uploadData_tagentauth(writableWorkbook)) {
-                writableWorkbook.write();
-                errfile.exists();
-                return getErrReturnObject().setErrMsg("导入错误,是否下载错误信息").addKeyValue("errfileurl", "https://121.43.35.149/manage/" + filename).toString();
-            } else {
-                errfile.delete();
-                errfile.exists();
-                return getSucReturnObject().toString();
-            }
+            importData(writableWorkbook);
+            return getSucReturnObject().toString();
+//            /**
+//             * 如果返回结果不为空,则表示导入错误,需生成excel供用户下载
+//             */
+//            if (!uploadData_tagentauth(writableWorkbook)) {
+//                writableWorkbook.write();
+//                errfile.exists();
+//                return getErrReturnObject().setErrMsg("导入错误,是否下载错误信息").addKeyValue("errfileurl", "https://121.43.35.149/manage/" + filename).toString();
+//            } else {
+//                errfile.delete();
+//                errfile.exists();
+//                return getSucReturnObject().toString();
+//            }
 
         } catch (Exception e) {
             e.printStackTrace();
@@ -256,4 +260,47 @@ public class uploadExcelData extends Controller {
     }
 
 
+    private void importData(WritableWorkbook workbook) {
+        WritableSheet sheet = workbook.getSheet(0);
+        for (int rowno = 1; rowno < sheet.getRows(); rowno++) {
+            Cell[] cells = sheet.getRow(rowno);
+            int celcount = cells.length;
+            if (celcount == 0) {
+                break;
+            }
+            String fagentname = cells[0].getContents();
+            String[] fauthtypes = cells[1].getContents().split("/");
+            String sql = "SELECT tagentsid from tagents WHERE fagentname = '" + fagentname + "'";
+            String tagentsid = "";
+            Rows rows = dbConnect.runSqlQuery(sql);
+            if (!rows.isEmpty()) {
+                tagentsid = rows.get(0).getString("tagentsid");
+            }
+
+            ArrayList<String> fauthtypesList = new ArrayList<>();
+            for (String str : fauthtypes) {
+                fauthtypesList.add(str);
+                SQLFactory sqlFactory = new SQLFactory(this, "插入经销商体系");
+                sqlFactory.addParameter("tagentsid", tagentsid);
+                sqlFactory.addParameter("fauthtype", str);
+                sqlFactory.addParameter("tagentauthid", createTableID("tagentauth", "tagentauthid"));
+                String res = dbConnect.runSqlUpdate(sqlFactory);
+                if (!res.equals("true")) {
+                    System.err.println(res);
+                }
+
+            }
+
+            SQLFactory sqlFactory = new SQLFactory(this, "删除经销商体系");
+            sqlFactory.addParameter("tagentsid", tagentsid);
+            sqlFactory.addParameter_in("fauthtype", fauthtypesList);
+            String res = dbConnect.runSqlUpdate(sqlFactory);
+            if (!res.equals("true")) {
+                System.err.println(res);
+            }
+            System.err.println(fagentname);
+        }
+    }
+
+
 }

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

@@ -374,7 +374,7 @@ public class AliyunOSSUtil {
         // Output
         String outputOSSObject;
         try {
-            outputOSSObject = URLEncoder.encode(ossOutputObject, "utf-8");
+            outputOSSObject = URLEncoder.encode("תÂëÊÓÆµ/" + ossOutputObject, "utf-8");
         } catch (UnsupportedEncodingException e) {
             throw new RuntimeException("output URL encode failed");
         }