adauth.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. package restcontroller.webmanage.adspace;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import common.Controller;
  5. import common.YosException;
  6. import common.annotation.API;
  7. import common.data.*;
  8. import org.apache.commons.lang.StringUtils;
  9. import restcontroller.R;
  10. import java.util.ArrayList;
  11. public class adauth extends Controller {
  12. /**
  13. * 构造函数
  14. *
  15. * @param content
  16. */
  17. public adauth(JSONObject content) throws YosException {
  18. super(content);
  19. }
  20. @API(title = "广告权限新增", apiversion = R.ID20240329094402.v1.class)
  21. public String add() throws YosException {
  22. Long sys_adid = content.getLongValue("sys_adid");
  23. int type = content.getIntValue("type");
  24. ArrayList<String> sqlList = new ArrayList<>();
  25. if (content.containsKey("sys_enterpriseids")) {
  26. JSONArray sys_enterpriseids = content.getJSONArray("sys_enterpriseids");
  27. for (Object obj : sys_enterpriseids) {
  28. InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
  29. insertSQL.setUniqueid(createTableID("sys_ad_auth"));
  30. insertSQL.setSiteid(siteid);
  31. insertSQL.setValue("type", type);
  32. insertSQL.setValue("sys_adid", sys_adid);
  33. insertSQL.setValue("sys_enterpriseid", obj);
  34. 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 + "' )");
  35. sqlList.add(insertSQL.getSQL());
  36. }
  37. }
  38. if (content.containsKey("departmentids")) {
  39. JSONArray departmentids = content.getJSONArray("departmentids");
  40. for (Object obj : departmentids) {
  41. InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
  42. insertSQL.setUniqueid(createTableID("sys_ad_auth"));
  43. insertSQL.setSiteid(siteid);
  44. insertSQL.setValue("type", content.getIntValue("type"));
  45. insertSQL.setValue("sys_adid", sys_adid);
  46. insertSQL.setValue("departmentid", obj);
  47. insertSQL.setWhere("not exists(select 1 from sys_ad_auth where departmentid=" + obj + " and sys_adid=" + sys_adid + " and type='" + type + "' and siteid='" + siteid + "' )");
  48. sqlList.add(insertSQL.getSQL());
  49. }
  50. }
  51. if (content.containsKey("hrids")) {
  52. JSONArray hrids = content.getJSONArray("hrids");
  53. for (Object obj : hrids) {
  54. InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
  55. insertSQL.setUniqueid(createTableID("sys_ad_auth"));
  56. insertSQL.setSiteid(siteid);
  57. insertSQL.setValue("type", content.getIntValue("type"));
  58. insertSQL.setValue("sys_adid", sys_adid);
  59. insertSQL.setValue("hrid", obj);
  60. insertSQL.setWhere("not exists(select 1 from sys_ad_auth where hrid=" + obj + " and sys_adid=" + sys_adid + " and type='" + type + "' and siteid='" + siteid + "' )");
  61. sqlList.add(insertSQL.getSQL());
  62. }
  63. }
  64. if (content.containsKey("sa_saleareaids")) {
  65. JSONArray sa_saleareaids = content.getJSONArray("sa_saleareaids");
  66. for (Object obj : sa_saleareaids) {
  67. InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
  68. insertSQL.setUniqueid(createTableID("sys_ad_auth"));
  69. insertSQL.setSiteid(siteid);
  70. insertSQL.setValue("type", content.getIntValue("type"));
  71. insertSQL.setValue("sys_adid", sys_adid);
  72. insertSQL.setValue("sa_saleareaid", obj);
  73. 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 + "' )");
  74. sqlList.add(insertSQL.getSQL());
  75. }
  76. }
  77. if (sqlList.size() > 0) {
  78. dbConnect.runSqlUpdate(sqlList);
  79. }
  80. return getSucReturnObject().toString();
  81. }
  82. @API(title = "广告角色权限新增", apiversion = R.ID20240329094502.v1.class)
  83. public String addrole() throws YosException {
  84. Long sys_adid = content.getLongValue("sys_adid");
  85. int type = content.getIntValue("type");
  86. ArrayList<String> sqlList = new ArrayList<>();
  87. JSONArray roleids = content.getJSONArray("roleids");
  88. for (Object obj : roleids) {
  89. InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_ad_auth");
  90. insertSQL.setUniqueid(createTableID("sys_ad_auth"));
  91. insertSQL.setSiteid(siteid);
  92. insertSQL.setValue("type",type);
  93. insertSQL.setValue("sys_adid", sys_adid);
  94. insertSQL.setValue("roleid", obj);
  95. insertSQL.setValue("roleid", obj);
  96. insertSQL.setWhere("not exists(select 1 from sys_ad_auth where roleid=" + obj + " and sys_adid=" + sys_adid + " and type='"+type+"' and siteid='" + siteid + "' )");
  97. sqlList.add(insertSQL.getSQL());
  98. }
  99. if (sqlList.size() > 0) {
  100. dbConnect.runSqlUpdate(sqlList);
  101. }
  102. DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
  103. deleteSQL.setSiteid(siteid);
  104. deleteSQL.setWhere("sys_adid", sys_adid);
  105. deleteSQL.setWhere("roleid not in " + roleids.toString().replace("[", "(").replace("]", ")") + "");
  106. deleteSQL.delete();
  107. return getSucReturnObject().toString();
  108. }
  109. @API(title = "广告权限删除", apiversion = R.ID20240329094602.v1.class)
  110. public String deleteQuanXian() throws YosException {
  111. Long sys_adid = content.getLongValue("sys_adid");
  112. ArrayList<String> sqlList = new ArrayList<>();
  113. if (content.containsKey("sys_enterpriseids")) {
  114. JSONArray sys_enterpriseids = content.getJSONArray("sys_enterpriseids");
  115. DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
  116. deleteSQL.setSiteid(siteid);
  117. deleteSQL.setWhere("sys_adid", sys_adid);
  118. deleteSQL.setWhere("sys_enterpriseid ", sys_enterpriseids.toArray());
  119. sqlList.add(deleteSQL.getSQL());
  120. }
  121. if (content.containsKey("departmentids")) {
  122. JSONArray departmentids = content.getJSONArray("departmentids");
  123. DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
  124. deleteSQL.setSiteid(siteid);
  125. deleteSQL.setWhere("sys_adid", sys_adid);
  126. deleteSQL.setWhere("departmentid ", departmentids);
  127. sqlList.add(deleteSQL.getSQL());
  128. }
  129. if (content.containsKey("hrids")) {
  130. JSONArray hrids = content.getJSONArray("hrids");
  131. DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
  132. deleteSQL.setSiteid(siteid);
  133. deleteSQL.setWhere("sys_adid", sys_adid);
  134. deleteSQL.setWhere("hrid ", hrids);
  135. sqlList.add(deleteSQL.getSQL());
  136. }
  137. if (content.containsKey("sa_saleareaids")) {
  138. JSONArray sa_saleareaids = content.getJSONArray("sa_saleareaids");
  139. DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_ad_auth");
  140. deleteSQL.setSiteid(siteid);
  141. deleteSQL.setWhere("sys_adid", sys_adid);
  142. deleteSQL.setWhere("sa_saleareaid ", sa_saleareaids);
  143. sqlList.add(deleteSQL.getSQL());
  144. }
  145. if (sqlList.size() > 0) {
  146. dbConnect.runSqlUpdate(sqlList);
  147. }
  148. return getSucReturnObject().toString();
  149. }
  150. @API(title = "广告部门列表", apiversion = R.ID20240329094702.v1.class)
  151. public String depList() throws YosException {
  152. Long sys_adid = content.getLongValue("sys_adid");
  153. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_department",
  154. "departmentid", "depname", "depno");
  155. querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t2", "t2.departmentid=t1.parentid and t2.siteid=t1.siteid");
  156. querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.departmentid=t3.departmentid");
  157. querySQL.addQueryFields("parentdepname", "t2.depname");
  158. querySQL.setWhere("t1.siteid", siteid);
  159. querySQL.setWhere("t3.sys_adid", sys_adid);
  160. querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
  161. Rows rows = querySQL.query();
  162. return getSucReturnObject().setData(rows).toString();
  163. }
  164. @API(title = "广告人员列表", apiversion = R.ID20240329094802.v1.class)
  165. public String hrList() throws YosException {
  166. Long sys_adid = content.getLongValue("sys_adid");
  167. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr",
  168. "hrid", "hrcode", "name", "position");
  169. querySQL.addJoinTable(JOINTYPE.left, "sys_department", "t2", "t1.siteid=t2.siteid and t1.departmentid=t2.departmentid",
  170. "depname");
  171. querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.hrid=t3.hrid");
  172. querySQL.setWhere("t1.siteid", siteid);
  173. querySQL.setWhere("t3.sys_adid", sys_adid);
  174. querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
  175. Rows rows = querySQL.query();
  176. return getSucReturnObject().setData(rows).toString();
  177. }
  178. @API(title = "广告区域列表", apiversion = R.ID20240329094902.v1.class)
  179. public String areaList() throws YosException {
  180. Long sys_adid = content.getLongValue("sys_adid");
  181. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_salearea",
  182. "areaname", "sa_saleareaid");
  183. querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t2", "t2.sa_saleareaid=t1.parentid and t2.siteid=t1.siteid");
  184. querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.sa_saleareaid=t3.sa_saleareaid");
  185. querySQL.addQueryFields("parentareaname", "t2.areaname");
  186. querySQL.setWhere("t1.siteid", siteid);
  187. querySQL.setWhere("t3.sys_adid", sys_adid);
  188. querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
  189. Rows rows = querySQL.query();
  190. return getSucReturnObject().setData(rows).toString();
  191. }
  192. @API(title = "广告合作伙伴列表", apiversion = R.ID20240329095002.v1.class)
  193. public String enterpriseList() throws YosException {
  194. Long sys_adid = content.getLongValue("sys_adid");
  195. QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_agents",
  196. "agentnum", "sys_enterpriseid", "type");
  197. querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid",
  198. "enterprisename");
  199. querySQL.addJoinTable(JOINTYPE.left, "sys_ad_auth", "t3", "t1.siteid=t3.siteid and t1.sys_enterpriseid=t3.sys_enterpriseid");
  200. querySQL.setWhere("t1.siteid", siteid);
  201. querySQL.setWhere("t3.sys_adid", sys_adid);
  202. querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
  203. Rows rows = querySQL.query();
  204. SQLFactory sqlFactory = new SQLFactory(this, "查询经销商区域");
  205. sqlFactory.addParameter_in("sys_enterpriseid", rows.toArray("sys_enterpriseid"));
  206. sqlFactory.addParameter("siteid", siteid);
  207. RowsMap areaRows = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
  208. for (Row row : rows) {
  209. Rows areas = areaRows.getOrDefault(row.getString("sys_enterpriseid"), new Rows());
  210. row.put("areaname", StringUtils.join(areas.toArray("areaname"), ","));
  211. }
  212. return getSucReturnObject().setData(rows).toString();
  213. }
  214. }