浏览代码

广告管理

eganwu 1 年之前
父节点
当前提交
cd0cd7dbe8

+ 35 - 0
src/custom/restcontroller/R.java

@@ -5907,6 +5907,41 @@ public class R {
         }
     }
 
+    public static class ID20240329094402 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240329094502 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240329094602 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240329094702 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240329094802 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240329094902 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID20240329095002 {
+        public static class v1 {
+        }
+    }
+
 }
 
 

+ 5 - 0
src/custom/restcontroller/webmanage/adspace/SQL/查询经销商区域.sql

@@ -0,0 +1,5 @@
+SELECT DISTINCT t1.sys_enterpriseid, t2.areaname
+from sys_enterprise_tradefield t1
+         left join sa_salearea t2 ON t1.sa_saleareaid = t2.sa_saleareaid and t1.siteid = t2.siteid
+
+where  t1.sys_enterpriseid in $sys_enterpriseid$ and t1.siteid=$siteid$

+ 11 - 0
src/custom/restcontroller/webmanage/adspace/ad.java

@@ -8,6 +8,7 @@ import common.YosException;
 import common.annotation.API;
 import common.data.*;
 import restcontroller.R;
+import restcontroller.webmanage.saletool.courseware.CoursewareHelper;
 
 import java.util.ArrayList;
 
@@ -71,6 +72,16 @@ public class ad extends Controller {
         Rows attinfos = Attachment.get(this, "sys_ad", sys_adid);
         detailRow.put("attinfos", attinfos);
 
+        QuerySQL querySQL2 = SQLFactory.createQuerySQL(this, "sys_ad_auth",
+                "roleid");
+        querySQL2.addJoinTable(JOINTYPE.inner, "sys_role", "t2", "t1.roleid=t2.roleid and t1.siteid=t2.siteid",
+                "rolename");
+        querySQL2.setTableAlias("t1");
+        querySQL2.setWhere("t1.siteid", siteid);
+        querySQL2.setWhere("t1.sys_adid", sys_adid);
+        Rows roleRows = querySQL2.query();
+        detailRow.put("role", roleRows.toArrayList("roleid", new ArrayList<Long>()));
+
 
         return getSucReturnObject().setData(detailRow).toString();
     }

+ 266 - 0
src/custom/restcontroller/webmanage/adspace/adauth.java

@@ -0,0 +1,266 @@
+package restcontroller.webmanage.adspace;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import common.Controller;
+import common.YosException;
+import common.annotation.API;
+import common.data.*;
+import org.apache.commons.lang.StringUtils;
+import restcontroller.R;
+
+import java.util.ArrayList;
+
+public class adauth extends Controller {
+    /**
+     * 构造函数
+     *
+     * @param content
+     */
+    public adauth(JSONObject content) throws YosException {
+        super(content);
+    }
+
+    @API(title = "广告权限新增", apiversion = R.ID20240329094402.v1.class)
+    public String add() throws YosException {
+        Long sys_adid = content.getLongValue("sys_adid");
+        int type = content.getIntValue("type");
+
+        ArrayList<String> sqlList = new ArrayList<>();
+
+        if (content.containsKey("sys_enterpriseids")) {
+            JSONArray sys_enterpriseids = content.getJSONArray("sys_enterpriseids");
+            for (Object obj : sys_enterpriseids) {
+                InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
+                insertSQL.setUniqueid(createTableID("sys_ad_auth"));
+                insertSQL.setSiteid(siteid);
+                insertSQL.setValue("type", type);
+                insertSQL.setValue("sys_adid", sys_adid);
+                insertSQL.setValue("sys_enterpriseid", obj);
+                insertSQL.setWhere("not exists(select 1 from  sys_ad_auth where sys_enterpriseid=" + obj + " and sys_adid=" + sys_adid + " and type='" + type + "' and siteid='" + siteid + "' )");
+                sqlList.add(insertSQL.getSQL());
+            }
+        }
+
+        if (content.containsKey("departmentids")) {
+            JSONArray departmentids = content.getJSONArray("departmentids");
+            for (Object obj : departmentids) {
+                InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
+                insertSQL.setUniqueid(createTableID("sys_ad_auth"));
+                insertSQL.setSiteid(siteid);
+                insertSQL.setValue("type", content.getIntValue("type"));
+                insertSQL.setValue("sys_adid", sys_adid);
+                insertSQL.setValue("departmentid", obj);
+                insertSQL.setWhere("not exists(select 1 from  sys_ad_auth where departmentid=" + obj + " and sys_adid=" + sys_adid + " and type='" + type + "'  and siteid='" + siteid + "' )");
+                sqlList.add(insertSQL.getSQL());
+            }
+        }
+
+        if (content.containsKey("hrids")) {
+            JSONArray hrids = content.getJSONArray("hrids");
+            for (Object obj : hrids) {
+                InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
+                insertSQL.setUniqueid(createTableID("sys_ad_auth"));
+                insertSQL.setSiteid(siteid);
+                insertSQL.setValue("type", content.getIntValue("type"));
+                insertSQL.setValue("sys_adid", sys_adid);
+                insertSQL.setValue("hrid", obj);
+                insertSQL.setWhere("not exists(select 1 from  sys_ad_auth where hrid=" + obj + " and sys_adid=" + sys_adid + " and type='" + type + "' and siteid='" + siteid + "' )");
+                sqlList.add(insertSQL.getSQL());
+            }
+        }
+
+        if (content.containsKey("sa_saleareaids")) {
+            JSONArray sa_saleareaids = content.getJSONArray("sa_saleareaids");
+            for (Object obj : sa_saleareaids) {
+                InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
+                insertSQL.setUniqueid(createTableID("sys_ad_auth"));
+                insertSQL.setSiteid(siteid);
+                insertSQL.setValue("type", content.getIntValue("type"));
+                insertSQL.setValue("sys_adid", sys_adid);
+                insertSQL.setValue("sa_saleareaid", obj);
+                insertSQL.setWhere("not exists(select 1 from  sys_ad_auth where sa_saleareaid=" + obj + " and sys_adid=" + sys_adid + " and type='" + type + "' and siteid='" + siteid + "' )");
+                sqlList.add(insertSQL.getSQL());
+            }
+        }
+
+        if (sqlList.size() > 0) {
+            dbConnect.runSqlUpdate(sqlList);
+        }
+
+
+        return getSucReturnObject().toString();
+    }
+
+
+    @API(title = "广告角色权限新增", apiversion = R.ID20240329094502.v1.class)
+    public String addrole() throws YosException {
+        Long sys_adid = content.getLongValue("sys_adid");
+        int type = content.getIntValue("type");
+        ArrayList<String> sqlList = new ArrayList<>();
+
+
+        JSONArray roleids = content.getJSONArray("roleids");
+        for (Object obj : roleids) {
+            InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
+            insertSQL.setUniqueid(createTableID("sys_ad_auth"));
+            insertSQL.setSiteid(siteid);
+            insertSQL.setValue("type",type);
+            insertSQL.setValue("sys_adid", sys_adid);
+            insertSQL.setValue("roleid", obj);
+            insertSQL.setValue("roleid", obj);
+            insertSQL.setWhere("not exists(select 1 from  sys_ad_auth where roleid=" + obj + " and sys_adid=" + sys_adid + " and type='"+type+"' and siteid='" + siteid + "' )");
+            sqlList.add(insertSQL.getSQL());
+        }
+
+        if (sqlList.size() > 0) {
+            dbConnect.runSqlUpdate(sqlList);
+        }
+
+        DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
+        deleteSQL.setSiteid(siteid);
+        deleteSQL.setWhere("sys_adid", sys_adid);
+        deleteSQL.setWhere("roleid not in " + roleids.toString().replace("[", "(").replace("]", ")") + "");
+        deleteSQL.delete();
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "广告权限删除", apiversion = R.ID20240329094602.v1.class)
+    public String deleteQuanXian() throws YosException {
+        Long sys_adid = content.getLongValue("sys_adid");
+
+        ArrayList<String> sqlList = new ArrayList<>();
+
+        if (content.containsKey("sys_enterpriseids")) {
+            JSONArray sys_enterpriseids = content.getJSONArray("sys_enterpriseids");
+            DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
+            deleteSQL.setSiteid(siteid);
+            deleteSQL.setWhere("sys_adid", sys_adid);
+            deleteSQL.setWhere("sys_enterpriseid ", sys_enterpriseids.toArray());
+            sqlList.add(deleteSQL.getSQL());
+        }
+
+        if (content.containsKey("departmentids")) {
+            JSONArray departmentids = content.getJSONArray("departmentids");
+            DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
+            deleteSQL.setSiteid(siteid);
+            deleteSQL.setWhere("sys_adid", sys_adid);
+            deleteSQL.setWhere("departmentid ", departmentids);
+            sqlList.add(deleteSQL.getSQL());
+        }
+
+        if (content.containsKey("hrids")) {
+            JSONArray hrids = content.getJSONArray("hrids");
+            DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
+            deleteSQL.setSiteid(siteid);
+            deleteSQL.setWhere("sys_adid", sys_adid);
+            deleteSQL.setWhere("hrid ", hrids);
+            sqlList.add(deleteSQL.getSQL());
+        }
+
+        if (content.containsKey("sa_saleareaids")) {
+            JSONArray sa_saleareaids = content.getJSONArray("sa_saleareaids");
+            DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
+            deleteSQL.setSiteid(siteid);
+            deleteSQL.setWhere("sys_adid", sys_adid);
+            deleteSQL.setWhere("sa_saleareaid ", sa_saleareaids);
+            sqlList.add(deleteSQL.getSQL());
+        }
+
+        if (sqlList.size() > 0) {
+            dbConnect.runSqlUpdate(sqlList);
+        }
+
+
+        return getSucReturnObject().toString();
+    }
+
+
+    @API(title = "广告部门列表", apiversion = R.ID20240329094702.v1.class)
+    public String depList() throws YosException {
+
+        Long sys_adid = content.getLongValue("sys_adid");
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_department",
+                "departmentid", "depname", "depno");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t2", "t2.departmentid=t1.parentid and t2.siteid=t1.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.departmentid=t3.departmentid");
+        querySQL.addQueryFields("parentdepname", "t2.depname");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t3.sys_adid", sys_adid);
+        querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
+
+        Rows rows = querySQL.query();
+
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+    @API(title = "广告人员列表", apiversion = R.ID20240329094802.v1.class)
+    public String hrList() throws YosException {
+        Long sys_adid = content.getLongValue("sys_adid");
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr",
+                "hrid", "hrcode", "name", "position");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t2", "t1.siteid=t2.siteid and t1.departmentid=t2.departmentid",
+                "depname");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.hrid=t3.hrid");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t3.sys_adid", sys_adid);
+        querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
+
+        Rows rows = querySQL.query();
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+    @API(title = "广告区域列表", apiversion = R.ID20240329094902.v1.class)
+    public String areaList() throws YosException {
+
+        Long sys_adid = content.getLongValue("sys_adid");
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_salearea",
+                "areaname", "sa_saleareaid");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t2", "t2.sa_saleareaid=t1.parentid and t2.siteid=t1.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.sa_saleareaid=t3.sa_saleareaid");
+        querySQL.addQueryFields("parentareaname", "t2.areaname");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t3.sys_adid", sys_adid);
+        querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
+
+        Rows rows = querySQL.query();
+
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+    @API(title = "广告合作伙伴列表", apiversion = R.ID20240329095002.v1.class)
+    public String enterpriseList() throws YosException {
+        Long sys_adid = content.getLongValue("sys_adid");
+
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_agents",
+                "agentnum", "sys_enterpriseid", "type");
+
+        querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid",
+                "enterprisename");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.sys_enterpriseid=t3.sys_enterpriseid");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t3.sys_adid", sys_adid);
+        querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
+        Rows rows = querySQL.query();
+
+        SQLFactory sqlFactory = new SQLFactory(this, "查询经销商区域");
+        sqlFactory.addParameter_in("sys_enterpriseid", rows.toArray("sys_enterpriseid"));
+        sqlFactory.addParameter("siteid", siteid);
+        RowsMap areaRows = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
+
+        for (Row row : rows) {
+            Rows areas = areaRows.getOrDefault(row.getString("sys_enterpriseid"), new Rows());
+            row.put("areaname", StringUtils.join(areas.toArray("areaname"), ","));
+        }
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+}

+ 0 - 1
src/custom/restcontroller/webmanage/saletool/courseware/coursewaretestauth.java

@@ -21,7 +21,6 @@ public class coursewaretestauth extends Controller {
         super(content);
     }
 
-    String sat_courseware_testauth="sat_courseware_testauth";
 
     @API(title = "考试权限新增", apiversion = R.ID20240328130602.v1.class)
     public String add() throws YosException {