Users.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. package com.cnd3b.restcontroller.publicmethod.users;
  2. import com.cnd3b.utility.Encryption;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.cnd3b.common.Controller;
  5. import com.cnd3b.common.D3bException;
  6. import com.cnd3b.common.parameter.parameter;
  7. import com.cnd3b.common.restful.WebClientRest;
  8. import com.cnd3b.utility.Sms;
  9. import p2.pao.PaoRemote;
  10. import p2.pao.PaoSetRemote;
  11. import p2.util.P2Exception;
  12. import java.util.Calendar;
  13. import java.util.Random;
  14. public class Users extends Controller {
  15. public Users(JSONObject content) {
  16. super(content);
  17. }
  18. /**
  19. * 登陆时如果没有注册则自动注册
  20. *
  21. * @return
  22. */
  23. public void register_usersByLogin(String fphonenumber, String siteid) {
  24. PaoSetRemote tagentsSet = null;
  25. try {
  26. tagentsSet = getP2ServerSystemPaoSet("tagents");
  27. PaoRemote tagents = tagentsSet.addAtEnd();
  28. tagents.setValue("siteid", siteid, 11L);//企业ID
  29. tagents.setValue("createdate", getDateTime(), 11L);//录入时间
  30. tagents.setValue("fphonenumber", fphonenumber, 11L);
  31. tagents.setValue("fjoindate", getDateTime(), 11L);
  32. tagents.setValue("ftype", "个人", 11L);
  33. tagentsSet.save();
  34. createSystemMessageByAgentsid("公共", "注册欢迎通知", "恭喜!注册成功!", tagents.getUniqueIDValue());
  35. } catch (Exception e) {
  36. e.printStackTrace();
  37. } finally {
  38. try {
  39. if (tagentsSet != null) {
  40. tagentsSet.close();
  41. }
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. }
  45. }
  46. }
  47. /**
  48. * 个人账号注册
  49. *
  50. * @return
  51. */
  52. public String register_users() throws D3bException, P2Exception {
  53. String fpassword = content.getString("fpassword");//验证码
  54. String fphonenumber = content.getString("fphonenumber", "tagents.fphonenumber", "手机号");//手机号
  55. int resultcode;
  56. if (!parameter.register_passwordmap.containsKey(fphonenumber)) {
  57. resultcode = 1;//没有获取验证码
  58. } else if (parameter.registerpassword_date.get(fphonenumber).before(Calendar.getInstance().getTime())) {
  59. resultcode = 2;//验证码已失效
  60. } else {
  61. //系统验证码
  62. String syspassword = parameter.register_passwordmap.get(fphonenumber);
  63. if (fpassword.equals(new Encryption().Encode_MD5(syspassword))) {
  64. resultcode = 0;//验证码正确
  65. } else {
  66. resultcode = 3;//验证码错误
  67. }
  68. }
  69. if (resultcode == 0) {
  70. PaoSetRemote tagentsSet = getP2ServerSystemPaoSet("tagents");
  71. PaoRemote tagents = tagentsSet.addAtEnd();
  72. tagents.setValue("siteid", siteid, 11L);//企业ID
  73. tagents.setValue("createdate", getDateTime(), 11L);//录入时间
  74. tagents.setValue("fphonenumber", fphonenumber, 11L);
  75. tagents.setValue("fjoindate", getDateTime(), 11L);
  76. tagents.setValue("ftype", "个人", 11L);
  77. tagentsSet.save();
  78. createSystemMessageByAgentsid("公共", "注册欢迎通知", "恭喜!注册成功!", tagents.getUniqueIDValue());
  79. WebClientRest rest = new WebClientRest();
  80. String password = rest.createPassWord();
  81. parameter.phonenumber_password.put(fphonenumber, password);
  82. Calendar calendar = Calendar.getInstance();
  83. calendar.add(Calendar.MINUTE, 30000000);
  84. parameter.phonenumber_date.put(fphonenumber, calendar.getTime());
  85. JSONObject object = new JSONObject();
  86. object.put("phonenumber", fphonenumber);
  87. object.put("password", new Encryption().Encode_MD5(password));
  88. parameter.register_passwordmap.remove(fphonenumber);
  89. parameter.registerpassword_date.remove(fphonenumber);
  90. return rest.login(object.toJSONString());
  91. } else {
  92. String msg = "";
  93. if (resultcode == 1) {
  94. msg = "请先获取验证码!";
  95. } else if (resultcode == 2) {
  96. msg = "验证码已失效,请重新获取!";
  97. } else if (resultcode == 3) {
  98. msg = "无效的验证码!";
  99. }
  100. return getErrReturnObject().setErrMsg(msg).toString();
  101. }
  102. }
  103. /**
  104. * 注册验证码获取
  105. *
  106. * @return
  107. */
  108. public String getPassword() throws D3bException, P2Exception {
  109. String fphonenumber = content.getString("fphonenumber");//注册手机号
  110. PaoSetRemote tagentsSet = getP2ServerSystemPaoSet("tagents", "fphonenumber='" + fphonenumber + "' and siteid='" + siteid + "'");
  111. if (!tagentsSet.isEmpty()) {
  112. return getErrReturnObject().setErrMsg("该手机号已注册!").toString();
  113. }
  114. String password = createPassWord();
  115. parameter.register_passwordmap.put(fphonenumber, password);
  116. Calendar calendar = Calendar.getInstance();
  117. calendar.add(Calendar.MINUTE, 5);
  118. parameter.registerpassword_date.put(fphonenumber, calendar.getTime());
  119. if (parameter.isdebug()) {
  120. return getSucReturnObject().setData("验证码:" + password).toString();
  121. } else {
  122. Sms sms = new Sms();
  123. sms.sendOutMsg(fphonenumber, password);
  124. return getSucReturnObject().setData("验证码已发送,请注意查收!").toString();
  125. }
  126. }
  127. private String createPassWord() {
  128. String allChar = "1234567890";
  129. StringBuffer sb = new StringBuffer();
  130. Random random = new Random();
  131. for (int i = 0; i < 6; i++) {
  132. sb.append(allChar.charAt(random.nextInt(allChar.length())));
  133. }
  134. if (parameter.register_passwordmap.containsValue(sb.toString())) {
  135. return createPassWord();
  136. } else {
  137. return sb.toString();
  138. }
  139. }
  140. /**
  141. * 团队加入申请
  142. *
  143. * @return
  144. */
  145. public String entryTeamApply() throws P2Exception {
  146. long userid = content.getLongValue("userid");
  147. long tagentsid = content.getLong("tagentsid");
  148. boolean fissaveagentmsg = content.getBooleanValue("fissaveagentmsg");//是否保留当前商户信息
  149. String fname = "";
  150. String fphonenumber = "";
  151. PaoSetRemote queryPaoSetRemote = getP2ServerSystemPaoSet("tagentteamapply", "tagentsid = '" + tagentsid + "' AND fuserid = '" + userid + "'");
  152. if (!queryPaoSetRemote.isEmpty()) {
  153. PaoRemote remote = queryPaoSetRemote.getPao(0);
  154. String fstatus = remote.getString("fstatus");
  155. if (fstatus.equals("申请")) {
  156. return getErrReturnObject().setErrCode(2).setErrMsg("正在申请中").toString();
  157. } else if (fstatus.equals("审核")) {
  158. return getErrReturnObject().setErrCode(3).setErrMsg("已通过申请").toString();
  159. }
  160. }
  161. if (userid > 0) {
  162. PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tenterprise_users", "tenterprise_userid = '" + userid + "'");
  163. if (!paoSetRemote.isEmpty()) {
  164. PaoRemote paoRemote = paoSetRemote.getPao(0);
  165. fname = paoRemote.getString("fname");
  166. fphonenumber = paoRemote.getString("fphonenumber");
  167. }
  168. } else {
  169. return getErrReturnObject().setErrMsg("未找到对应用户").toString();
  170. }
  171. PaoRemote paoRemote = queryPaoSetRemote.addAtEnd();
  172. paoRemote.setValue("SITEID", siteid, 11L);
  173. paoRemote.setValue("FPHONENUMBER", fphonenumber, 11L);
  174. paoRemote.setValue("TENTERPRISE_USERID", userid, 11L);
  175. paoRemote.setValue("TAGENTSID", tagentsid, 11L);
  176. paoRemote.setValue("FNAME", fname, 11L);
  177. paoRemote.setValue("FSTATUS", "申请", 11L);
  178. paoRemote.setValue("FUSERID", userid, 11L);
  179. paoRemote.setValue("fissaveagentmsg", fissaveagentmsg, 11L);
  180. queryPaoSetRemote.save();
  181. return getSucReturnObject().setData("申请成功").toString();
  182. }
  183. }