Explorar o código

任务#2572 私域直播申请接口开发
任务#2573 改进原《私域直播详情查询》接口返回申请状态
任务#2574 管理端直播申请列表查询接口开发
任务#2575 管理端直播申请审核接口开发

wzg %!s(int64=4) %!d(string=hai) anos
pai
achega
a12143afa0

+ 59 - 15
src/dsb/com/cnd3b/restcontroller/customer/live/live.java

@@ -8,6 +8,9 @@ import com.cnd3b.common.data.Rows;
 import com.cnd3b.common.data.SQLFactory;
 import com.cnd3b.common.data.db.DataPool;
 import com.cnd3b.utility.polyv.Polyv;
+import p2.pao.PaoRemote;
+import p2.pao.PaoSetRemote;
+import p2.util.P2Exception;
 
 import java.util.HashMap;
 
@@ -92,11 +95,21 @@ public class live extends Controller {
      *
      * @return
      */
-    public String getSYLiveInfo() {
+    public String getSYLiveInfo() throws P2Exception {
         SQLFactory sqlFactory = new SQLFactory(this, "私域直播详情");
         sqlFactory.addParameter("siteid", siteid);
         Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-        return getSucReturnObject().setData(rows).toString();
+        if (rows.isEmpty()) {
+            PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tliveapply", "siteid = '" + siteid + "' AND fissecret = 1 AND fstatus = '申请'");
+            if (paoSetRemote.isEmpty()) {
+                return getErrReturnObject().setErrCode("3").setErrMsg("无直播间信息").toString();
+            } else {
+                return getErrReturnObject().setErrCode("2").setErrMsg("直播申请中").toString();
+            }
+        } else {
+            return getSucReturnObject().setData(rows).toString();
+        }
+
 
     }
 
@@ -125,19 +138,6 @@ public class live extends Controller {
         return getSucReturnObject().setData(resultObject).toString();
     }
 
-    /**
-     * 获取数量
-     *
-     * @param SQLMODELNAME SQL名称
-     * @param fieldname    取数据的字段名称
-     * @return
-     */
-    public double getCount(String SQLMODELNAME, String fieldname) {
-        SQLFactory sqlFactory = new SQLFactory(this, SQLMODELNAME);
-        sqlFactory.addParameter("siteid", siteid);
-        Rows rows = sqlFactory.runSqlQuery();
-        return rows.isEmpty() ? 0 : rows.get(0).getDouble(fieldname);
-    }
 
     /**
      * 私域直播用户观看列表
@@ -152,5 +152,49 @@ public class live extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    /**
+     * 私域直播申请
+     *
+     * @return
+     */
+    public String applySYLive() throws P2Exception {
+
+        PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tliveapply", "siteid = '" + siteid + "' AND fissecret = 1 AND fstatus = '申请'");
+        if (paoSetRemote.isEmpty()) {
+            PaoRemote paoRemote = paoSetRemote.addAtEnd();
+            paoRemote.setValue("CHANGEBY", username, 11L);
+            paoRemote.setValue("CHANGEDATE", getDateTime_Str(), 11L);
+            paoRemote.setValue("CREATEBY", username, 11L);
+            paoRemote.setValue("CREATEDATE", getDateTime_Str(), 11L);
+            paoRemote.setValue("FISSECRET", true, 11L);
+            paoRemote.setValue("FSTATUS", "申请", 11L);
+            paoRemote.setValue("FNOTES", "私域直播申请", 11L);
+            paoRemote.setValue("SITEID", siteid);
+            paoRemote.setValue("TAGENTSID", tagentsid);
+            saveDataLog(paoRemote);
+            paoSetRemote.save();
+            return getSucReturnObject().setData("私域直播申请成功").toString();
+        } else {
+            return getErrReturnObject().setErrMsg("私域直播已申请").toString();
+        }
+
+
+    }
+
+
+    /**
+     * 获取数量
+     *
+     * @param SQLMODELNAME SQL名称
+     * @param fieldname    取数据的字段名称
+     * @return
+     */
+    public double getCount(String SQLMODELNAME, String fieldname) {
+        SQLFactory sqlFactory = new SQLFactory(this, SQLMODELNAME);
+        sqlFactory.addParameter("siteid", siteid);
+        Rows rows = sqlFactory.runSqlQuery();
+        return rows.isEmpty() ? 0 : rows.get(0).getDouble(fieldname);
+    }
+
 
 }

+ 1 - 0
src/dsb/com/cnd3b/restcontroller/enterprise/live/SQL/直播申请列表查询.sql

@@ -0,0 +1 @@
+SELECT * FROM tliveapply

+ 75 - 3
src/dsb/com/cnd3b/restcontroller/enterprise/live/live.java

@@ -213,9 +213,9 @@ public class live extends Controller {
         String channelid = rows.get(0).getString("channelid");
         Polyv polyv = new Polyv();
         if (polyv.deleteChannel(channelid)) {
-            SQLFactory sqlFactory=new SQLFactory(this,"直播间删除");
-            sqlFactory.addParameter("siteid",siteid);
-            sqlFactory.addParameter("tliveid",tliveid);
+            SQLFactory sqlFactory = new SQLFactory(this, "直播间删除");
+            sqlFactory.addParameter("siteid", siteid);
+            sqlFactory.addParameter("tliveid", tliveid);
             dbConnect.runSqlUpdate(sqlFactory.getSQL());
         }
         return getSucReturnObject().toString();
@@ -246,4 +246,76 @@ public class live extends Controller {
         }
         return sb.toString();
     }
+
+    /**
+     * 直播申请列表查询
+     *
+     * @return
+     */
+    public String getSYLiveApplyList() {
+
+        SQLFactory sqlFactory = new SQLFactory(this, "直播申请列表查询", pageSize, pageNumber, "changedate");
+
+        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+
+
+        return getSucReturnObject().setDataByPaging(rows).preloading(1).toString();
+    }
+
+    /**
+     * 审核私域申请,自动创建直播间
+     *
+     * @return
+     */
+    public String auditSYLiveApply() throws P2Exception {
+        String tliveapplyid = content.getString("tliveapplyid");
+        String tagentsid = content.getString("tagentsid");
+        String where = "tagentsid = " + tagentsid + " AND tliveapplyid = " + tliveapplyid;
+        PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tliveapply", where);
+        if (paoSetRemote.isEmpty()) {
+            return getErrReturnObject().setErrMsg("未找到对应申请").toString();
+        } else {
+
+            String sql = "SELECT*FROM tlive WHERE categoryname='私域直播' AND tagentsid=" + tagentsid;
+            Rows rows = dbConnect.runSqlQuery(sql);
+            if (rows.totalRows > 0) {
+                return getErrReturnObject().setErrMsg("已存在私域直播").toString();
+            } else {
+                //修改状态
+                PaoRemote paoRemote = paoSetRemote.getPao(0);
+                paoRemote.setValue("fstatus", "审核");
+                paoRemote.setValue("CHECKBY", username);
+                paoRemote.setValue("CHECKDATE", getDateTime_Str());
+                paoSetRemote.save();
+                //开启直播
+                content.put("tagentsid", tagentsid);
+                content.put("channelname", "私域直播");
+                content.put("categoryid", getCategoryId("私域直播"));
+                return createLive();
+            }
+
+
+        }
+
+    }
+
+
+    /**
+     * 通过频道分类名称获取对应的分类id
+     *
+     * @param categoryName
+     * @return
+     */
+    public int getCategoryId(String categoryName) {
+        Polyv polyv = new Polyv();
+        HashMap<Integer, String> map = polyv.listCategory();
+        int categoryId = -1;
+        for (int id : map.keySet()) {
+            if (map.get(id).equals(categoryName)) {
+                categoryId = id;
+            }
+        }
+        return categoryId;
+    }
+
 }