site.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package restcontroller.webmanage.site;
  2. import com.alibaba.fastjson.JSONObject;
  3. import common.Controller;
  4. import common.YosException;
  5. import common.annotation.API;
  6. import common.annotation.CACHEING;
  7. import common.annotation.CACHEING_CLEAN;
  8. import common.annotation.cm;
  9. import common.data.Row;
  10. import common.data.Rows;
  11. import common.data.RowsMap;
  12. import common.data.SQLFactory;
  13. import org.apache.commons.collections4.bag.SynchronizedSortedBag;
  14. import org.apache.commons.lang.StringUtils;
  15. import java.util.ArrayList;
  16. @API(title = "企业站点管理")
  17. public class site extends Controller {
  18. public site(JSONObject content) throws YosException {
  19. super(content);
  20. }
  21. @API(title = "站点信息查询")
  22. @CACHEING
  23. public String querySite() throws YosException {
  24. Row row = dbConnect.runSqlQuery(0, "select siteuid,siteid,sitename,enterprisename from sys_site where siteid='" + siteid + "'");
  25. row.put("attinfos", getAttachmentUrl("sys_site", row.getLong("siteuid")));
  26. return getSucReturnObject().setData(row).toString();
  27. }
  28. @API(title = "站点基础信息更新")
  29. @CACHEING_CLEAN(cms = {@cm(clazz = site.class, method = {"querySite"})})
  30. public String updateSite() throws YosException {
  31. String sitename = content.getString("sitename", "sys_site");
  32. String enterprisename = content.getString("enterprisename", "sys_site");
  33. dbConnect.runSqlUpdate("update sys_site set sitename='" + sitename + "',enterprisename='" + enterprisename + "' where siteid='" + siteid + "'");
  34. return querySite();
  35. }
  36. @API(title = "站点参数信息查询")
  37. @CACHEING
  38. public String querySite_Parameter() throws YosException {
  39. Rows rows = dbConnect.runSqlQuery("select * from sys_site_parameter where siteid='" + siteid + "'");
  40. if (rows.isEmpty()) {
  41. return getErrReturnObject().setErrMsg("找不到站点参数").toString();
  42. }
  43. long sys_enterpriseid = 0;
  44. Rows sys_enterpriseRows = dbConnect.runSqlQuery("select sys_enterpriseid from sys_enterprise where siteid='" + siteid + "' and ismain=1");
  45. if (sys_enterpriseRows.isNotEmpty()) {
  46. sys_enterpriseid = sys_enterpriseRows.get(0).getLong("sys_enterpriseid");
  47. } else {
  48. sys_enterpriseid = createTableID("sys_enterprise");
  49. SQLFactory sys_enterpriseinsert = new SQLFactory(this, "企业新增");
  50. sys_enterpriseinsert.addParameter("sys_enterpriseid", sys_enterpriseid);
  51. sys_enterpriseinsert.addParameter("siteid", siteid);
  52. sys_enterpriseinsert.addParameter("enterprisename", siteid);
  53. sys_enterpriseinsert.addParameter("userid", userid);
  54. sys_enterpriseinsert.addParameter("username", username);
  55. dbConnect.runSqlUpdate(sys_enterpriseinsert.getSQL());
  56. }
  57. rows.get(0).put("sys_enterpriseid", sys_enterpriseid);
  58. return getSucReturnObject().setData(rows.get(0)).toString();
  59. }
  60. @API(title = "站点参数信息更新")
  61. @CACHEING_CLEAN(cms = {@cm(clazz = site.class, method = {"querySite_Parameter"})})
  62. public String updateSite_Parameter() throws YosException {
  63. // boolean password_neednum = content.getBooleanValue("password_neednum");//密码是否需要数值
  64. // boolean password_needspecialchar = content.getBooleanValue("password_needspecialchar");//密码是否需要特殊字符
  65. // int password_length = content.getInteger("password_length");//密码长度
  66. // boolean password_needcapital = content.getBooleanValue("password_needcapital");//密码是否需要大写英文字母
  67. // boolean password_needlowercase = content.getBooleanValue("password_needlowercase");//密码是否需要小写英文字母
  68. // boolean loginmode_phonenumber = content.getBooleanValue("loginmode_phonenumber");//是否开启短信验证码登陆
  69. // boolean loginmode_wechat = content.getBooleanValue("loginmode_wechat");//是否开启微信验证登陆
  70. // boolean loginmode_account = content.getBooleanValue("loginmode_account");//是否账号密码登陆
  71. //
  72. // boolean remind_showdialog = content.getBooleanValue("remind_showdialog");//是否弹窗提醒
  73. // boolean remind_mail = content.getBooleanValue("remind_mail");//是否邮件提醒
  74. //
  75. // SQLFactory sqlFactory = new SQLFactory(this, "修改站点参数");
  76. // sqlFactory.addParameter("changeuserid", userid);
  77. // sqlFactory.addParameter("changeby", username);
  78. // sqlFactory.addParameter("password_neednum", password_neednum);
  79. // sqlFactory.addParameter("password_needspecialchar", password_needspecialchar);
  80. // sqlFactory.addParameter("password_length", password_length);
  81. // sqlFactory.addParameter("password_needcapital", password_needcapital);
  82. // sqlFactory.addParameter("password_needlowercase", password_needlowercase);
  83. // sqlFactory.addParameter("loginmode_phonenumber", loginmode_phonenumber);
  84. // sqlFactory.addParameter("loginmode_wechat", loginmode_wechat);
  85. // sqlFactory.addParameter("loginmode_account", loginmode_account);
  86. // sqlFactory.addParameter("remind_showdialog", remind_showdialog);
  87. // sqlFactory.addParameter("remind_mail", remind_mail);
  88. // sqlFactory.addParameter("siteid", siteid);
  89. RowsMap tableColumnsMap = getTableColumns("sys_site_parameter");
  90. tableColumnsMap.remove("changeuserid");
  91. tableColumnsMap.remove("changeby");
  92. tableColumnsMap.remove("changedate");
  93. tableColumnsMap.remove("siteid");
  94. if (content.containsKey("isrebate") && content.getString("isrebate").equals("1")) {
  95. if (dbConnect.runSqlQuery("SELECT 1 from sa_rebatecategory WHERE siteid='" + siteid + "'").isEmpty()) {
  96. return getErrReturnObject().setErrMsg("营销大类未设置,无法开启自动返利结算").toString();
  97. }
  98. if (dbConnect.runSqlQuery("SELECT 1 from sa_rebatescheme WHERE isused=1 and siteid='" + siteid + "'").isEmpty()) {
  99. return getErrReturnObject().setErrMsg("未找到启用状态的返利方案").toString();
  100. }
  101. }
  102. StringBuffer updateSQl = new StringBuffer();
  103. updateSQl.append("update sys_site_parameter set changeuserid=" + userid + ",changeby='" + username + "',changedate=now()");
  104. boolean isupdate = false;
  105. for (String key : content.keySet()) {
  106. if (tableColumnsMap.containsKey(key)) {
  107. isupdate = true;
  108. String column_type = tableColumnsMap.get(key).get(0).getString("column_type").toLowerCase();
  109. switch (column_type) {
  110. case "decimal": {
  111. updateSQl.append("," + key + "='" + content.getBigDecimal(key).floatValue() + "'");
  112. break;
  113. }
  114. case "int": {
  115. updateSQl.append("," + key + "=" + content.getIntValue(key));
  116. break;
  117. }
  118. case "bigint": {
  119. updateSQl.append("," + key + "=" + content.getLongValue(key));
  120. break;
  121. }
  122. case "smallint": {
  123. updateSQl.append("," + key + "=" + content.getIntValue(key));
  124. break;
  125. }
  126. default: {
  127. updateSQl.append("," + key + "='" + content.getString(key) + "'");
  128. break;
  129. }
  130. }
  131. }
  132. }
  133. updateSQl.append(" where siteid='" + siteid + "'");
  134. if (isupdate) {
  135. dbConnect.runSqlUpdate(updateSQl.toString());
  136. }
  137. ArrayList<String> sqlList = new ArrayList<>();
  138. if(StringUtils.isNotBlank(content.getString("defaultlevelprice"))){
  139. Rows itemrows = dbConnect.runSqlQuery("select t1.itemid,t2.price from plm_item t1 inner join sa_itemprice t2 on t1.itemid = t2.itemid AND t1.siteid = t2.siteid and t2.pricegrade='"+content.getString("defaultlevelprice")+"' where ifnull(t1.saleprice,0)=0 and t1.siteid='"+siteid+"'");
  140. for (Row row :itemrows){
  141. System.err.println("update plm_item set saleprice="+row.getBigDecimal("price")+" where itemid="+row.getLong("itemid"));
  142. sqlList.add("update plm_item set saleprice="+row.getBigDecimal("price")+" where itemid="+row.getLong("itemid"));
  143. }
  144. }
  145. dbConnect.runSqlUpdate(sqlList);
  146. return querySite_Parameter();
  147. }
  148. @API(title = "站点账号默认密码设置")
  149. public String updateSite_defaultpassword() throws YosException {
  150. String password_default = content.getString("password_default");//新账号默认密码
  151. dbConnect.runSqlUpdate("update sys_site_parameter set changeuserid='" + userid + "' , password_default='" + password_default + "' where siteid='" + siteid + "'");
  152. return getSucReturnObject().toString();
  153. }
  154. }