|
@@ -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();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|