teammsg.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.cnd3b.restcontroller.customer.usercenter.teammsg;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.cnd3b.common.D3bException;
  5. import com.cnd3b.common.data.Rows;
  6. import com.cnd3b.common.data.RowsMap;
  7. import com.cnd3b.common.data.SQLFactory;
  8. import com.cnd3b.common.Controller;
  9. import com.cnd3b.common.data.Row;
  10. import p2.pao.PaoRemote;
  11. import p2.pao.PaoSetRemote;
  12. import p2.util.P2Exception;
  13. import java.util.ArrayList;
  14. import java.util.HashMap;
  15. import java.util.Iterator;
  16. public class teammsg extends Controller {
  17. public teammsg(JSONObject content) {
  18. super(content);
  19. }
  20. /**
  21. * 经销商账号列表查询
  22. *
  23. * @return
  24. */
  25. public String query_userList() {
  26. SQLFactory sqlFactory = new SQLFactory(this, "经销商账号列表查询");
  27. sqlFactory.addParameter("siteid", siteid);
  28. sqlFactory.addParameter("tagentsid", tagentsid);
  29. Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
  30. SQLFactory subusersql = new SQLFactory(this, "下级账号查询");
  31. subusersql.addParameter("siteid", siteid);
  32. subusersql.addParameter_in("fparentid", rows.toArrayList("tenterprise_userid"));
  33. RowsMap map = dbConnect.runSqlQuery(subusersql.getSQL()).toRowsMap("fparentid");
  34. RowsMap attinfosMap = getAttachmentUrl("tenterprise_users", rows.toArrayList("tenterprise_userid"), "headportrait");
  35. for (Row row : rows) {
  36. String tenterprise_userid = row.getString("tenterprise_userid");
  37. Rows subuserrows = map.get(tenterprise_userid);
  38. String[] subusers = subuserrows.toArray("tenterprise_userid");
  39. row.put("subusers", subusers);
  40. for (Row subuserrow : subuserrows) {
  41. subuserrow.put("attinfos", attinfosMap.get(subuserrow.getString("tenterprise_userid")));
  42. }
  43. row.put("subusermsgs", subuserrows);
  44. row.put("attinfos", attinfosMap.get(tenterprise_userid));
  45. }
  46. return getSucReturnObject().setData(rows).saveToDataPool().toString();
  47. }
  48. /**
  49. * 经销商账号信息修改
  50. *
  51. * @return
  52. */
  53. public String update_userMsg() throws D3bException, P2Exception {
  54. long tenterprise_userid = content.getLongValue("tenterprise_userid");//账号ID
  55. String fname = content.getString("fname", "tenterprise_users.fname", "姓名");//姓名
  56. String frole = content.getString("frole", "tenterprise_users.frole", "职位");//职位
  57. String fphonenumber = content.getString("fphonenumber", "tenterprise_users.fphonenumber", "手机号码");//手机号
  58. boolean fisused = content.getBoolean("fisused");
  59. JSONArray subusersArray = content.getJSONArray("subusers");
  60. PaoSetRemote tenterprise_usersSet = getP2ServerSystemPaoSet("tenterprise_users", "siteid='" + siteid + "' and tagentsid='" + tagentsid + "' and tenterprise_userid='" + tenterprise_userid + "'");
  61. PaoRemote pao = null;
  62. if (tenterprise_userid <= 0 || tenterprise_usersSet.isEmpty()) {
  63. pao = tenterprise_usersSet.addAtEnd();
  64. pao.setValue("tagentsid", tagentsid, 11L);
  65. pao.setValue("siteid", siteid, 11L);
  66. pao.setValue("fusertype", "经销商", 11L);
  67. tenterprise_userid = pao.getUniqueIDValue();
  68. } else {
  69. pao = tenterprise_usersSet.getPao(0);
  70. }
  71. pao.setValue("fisused", fisused, 11L);
  72. pao.setValue("fname", fname, 11L);
  73. pao.setValue("frole", frole, 11L);
  74. pao.setValue("fphonenumber", fphonenumber, 11L);
  75. pao.setValue("changeby", username, 11L);
  76. pao.setValue("changedate", getDateTime(), 11L);
  77. /**
  78. * 查询下级账号,如不存在,则新增下级账号
  79. */
  80. PaoSetRemote tenterprise_userdetailSet = pao.getPaoSet("$tenterprise_userdetail", "tenterprise_userdetail", "siteid=:siteid and fparentid=:tenterprise_userid");
  81. HashMap<String, PaoRemote> paoMap = getPaoMap(tenterprise_userdetailSet, "fsubid");
  82. /**
  83. * 用以判断是否需要将表体行删除
  84. */
  85. ArrayList<String> donotdeleteid = new ArrayList<>();
  86. Iterator subuserlistit = subusersArray.iterator();
  87. ArrayList<String> distinctid = new ArrayList<>();
  88. while (subuserlistit.hasNext()) {
  89. String fsubid = String.valueOf(subuserlistit.next());
  90. if (distinctid.contains(fsubid)) {
  91. continue;
  92. } else {
  93. distinctid.add(fsubid);
  94. }
  95. PaoRemote subuserpao = null;
  96. if (!paoMap.containsKey(fsubid)) {
  97. subuserpao = tenterprise_userdetailSet.addAtEnd();
  98. subuserpao.setValue("siteid", siteid, 11L);//企业ID
  99. subuserpao.setValue("fparentid", tenterprise_userid, 11L);//账号ID
  100. subuserpao.setValue("fsubid", fsubid, 11L);//下级账号ID
  101. subuserpao.setValue("createby", username, 11L);//录入人
  102. subuserpao.setValue("createdate", getDateTime(), 11L);//录入时间
  103. } else {
  104. donotdeleteid.add(fsubid);
  105. subuserpao = paoMap.get(fsubid);
  106. }
  107. subuserpao.setValue("changeby", username, 11L);//修改人
  108. subuserpao.setValue("changedate", getDateTime(), 11L);//修改时间
  109. }
  110. /**
  111. * 删除多余的行
  112. */
  113. for (String fsubid : paoMap.keySet()) {
  114. if (!donotdeleteid.contains(fsubid)) {
  115. if (!paoMap.get(fsubid).isModified()) {
  116. paoMap.get(fsubid).delete();
  117. }
  118. }
  119. }
  120. tenterprise_usersSet.save();
  121. return getSucReturnObject().toString();
  122. }
  123. /**
  124. * 团队成员启用停用
  125. *
  126. * @return
  127. */
  128. public String updateusedstate() throws D3bException, P2Exception {
  129. long tenterprise_userid = content.getLongValue("tenterprise_userid");//账号ID
  130. boolean fisused = content.getBooleanValue("fisused");//是否启用
  131. String status = dbConnect.runSqlUpdate("update tenterprise_users set fisused='" + (fisused ? 1 : 0) + "' where siteid='" + siteid + "' and tagentsid='" + tagentsid + "' and tenterprise_userid='" + tenterprise_userid + "'");
  132. if ("true".equals(status)) {
  133. return getSucReturnObject().toString();
  134. } else {
  135. return getErrReturnObject().toString();
  136. }
  137. }
  138. }