package com.cnd3b.restcontroller.publicmethod.users; import com.cnd3b.utility.Encryption; import com.alibaba.fastjson.JSONObject; import com.cnd3b.common.Controller; import com.cnd3b.common.D3bException; import com.cnd3b.common.parameter.parameter; import com.cnd3b.common.restful.WebClientRest; import com.cnd3b.utility.Sms; import p2.pao.PaoRemote; import p2.pao.PaoSetRemote; import p2.util.P2Exception; import java.util.Calendar; import java.util.Random; public class Users extends Controller { public Users(JSONObject content) { super(content); } /** * 登陆时如果没有注册则自动注册 * * @return */ public void register_usersByLogin(String fphonenumber, String siteid) { PaoSetRemote tagentsSet = null; try { tagentsSet = getP2ServerSystemPaoSet("tagents"); PaoRemote tagents = tagentsSet.addAtEnd(); tagents.setValue("siteid", siteid, 11L);//企业ID tagents.setValue("createdate", getDateTime(), 11L);//录入时间 tagents.setValue("fphonenumber", fphonenumber, 11L); tagents.setValue("fjoindate", getDateTime(), 11L); tagents.setValue("ftype", "个人", 11L); tagentsSet.save(); createSystemMessageByAgentsid("公共", "注册欢迎通知", "恭喜!注册成功!", tagents.getUniqueIDValue()); } catch (Exception e) { e.printStackTrace(); } finally { try { if (tagentsSet != null) { tagentsSet.close(); } } catch (Exception e) { e.printStackTrace(); } } } /** * 个人账号注册 * * @return */ public String register_users() throws D3bException, P2Exception { String fpassword = content.getString("fpassword");//验证码 String fphonenumber = content.getString("fphonenumber", "tagents.fphonenumber", "手机号");//手机号 int resultcode; if (!parameter.register_passwordmap.containsKey(fphonenumber)) { resultcode = 1;//没有获取验证码 } else if (parameter.registerpassword_date.get(fphonenumber).before(Calendar.getInstance().getTime())) { resultcode = 2;//验证码已失效 } else { //系统验证码 String syspassword = parameter.register_passwordmap.get(fphonenumber); if (fpassword.equals(new Encryption().Encode_MD5(syspassword))) { resultcode = 0;//验证码正确 } else { resultcode = 3;//验证码错误 } } if (resultcode == 0) { PaoSetRemote tagentsSet = getP2ServerSystemPaoSet("tagents"); PaoRemote tagents = tagentsSet.addAtEnd(); tagents.setValue("siteid", siteid, 11L);//企业ID tagents.setValue("createdate", getDateTime(), 11L);//录入时间 tagents.setValue("fphonenumber", fphonenumber, 11L); tagents.setValue("fjoindate", getDateTime(), 11L); tagents.setValue("ftype", "个人", 11L); tagentsSet.save(); createSystemMessageByAgentsid("公共", "注册欢迎通知", "恭喜!注册成功!", tagents.getUniqueIDValue()); WebClientRest rest = new WebClientRest(); String password = rest.createPassWord(); parameter.phonenumber_password.put(fphonenumber, password); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, 30000000); parameter.phonenumber_date.put(fphonenumber, calendar.getTime()); JSONObject object = new JSONObject(); object.put("phonenumber", fphonenumber); object.put("password", new Encryption().Encode_MD5(password)); parameter.register_passwordmap.remove(fphonenumber); parameter.registerpassword_date.remove(fphonenumber); return rest.login(object.toJSONString()); } else { String msg = ""; if (resultcode == 1) { msg = "请先获取验证码!"; } else if (resultcode == 2) { msg = "验证码已失效,请重新获取!"; } else if (resultcode == 3) { msg = "无效的验证码!"; } return getErrReturnObject().setErrMsg(msg).toString(); } } /** * 注册验证码获取 * * @return */ public String getPassword() throws D3bException, P2Exception { String fphonenumber = content.getString("fphonenumber");//注册手机号 PaoSetRemote tagentsSet = getP2ServerSystemPaoSet("tagents", "fphonenumber='" + fphonenumber + "' and siteid='" + siteid + "'"); if (!tagentsSet.isEmpty()) { return getErrReturnObject().setErrMsg("该手机号已注册!").toString(); } String password = createPassWord(); parameter.register_passwordmap.put(fphonenumber, password); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, 5); parameter.registerpassword_date.put(fphonenumber, calendar.getTime()); if (parameter.isdebug()) { return getSucReturnObject().setData("验证码:" + password).toString(); } else { Sms sms = new Sms(); sms.sendOutMsg(fphonenumber, password); return getSucReturnObject().setData("验证码已发送,请注意查收!").toString(); } } private String createPassWord() { String allChar = "1234567890"; StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < 6; i++) { sb.append(allChar.charAt(random.nextInt(allChar.length()))); } if (parameter.register_passwordmap.containsValue(sb.toString())) { return createPassWord(); } else { return sb.toString(); } } /** * 团队加入申请 * * @return */ public String entryTeamApply() throws P2Exception { long userid = content.getLongValue("userid"); long tagentsid = content.getLong("tagentsid"); boolean fissaveagentmsg = content.getBooleanValue("fissaveagentmsg");//是否保留当前商户信息 String fname = ""; String fphonenumber = ""; PaoSetRemote queryPaoSetRemote = getP2ServerSystemPaoSet("tagentteamapply", "tagentsid = '" + tagentsid + "' AND fuserid = '" + userid + "'"); if (!queryPaoSetRemote.isEmpty()) { PaoRemote remote = queryPaoSetRemote.getPao(0); String fstatus = remote.getString("fstatus"); if (fstatus.equals("申请")) { return getErrReturnObject().setErrCode(2).setErrMsg("正在申请中").toString(); } else if (fstatus.equals("审核")) { return getErrReturnObject().setErrCode(3).setErrMsg("已通过申请").toString(); } } if (userid > 0) { PaoSetRemote paoSetRemote = getP2ServerSystemPaoSet("tenterprise_users", "tenterprise_userid = '" + userid + "'"); if (!paoSetRemote.isEmpty()) { PaoRemote paoRemote = paoSetRemote.getPao(0); fname = paoRemote.getString("fname"); fphonenumber = paoRemote.getString("fphonenumber"); } } else { return getErrReturnObject().setErrMsg("未找到对应用户").toString(); } PaoRemote paoRemote = queryPaoSetRemote.addAtEnd(); paoRemote.setValue("SITEID", siteid, 11L); paoRemote.setValue("FPHONENUMBER", fphonenumber, 11L); paoRemote.setValue("TENTERPRISE_USERID", userid, 11L); paoRemote.setValue("TAGENTSID", tagentsid, 11L); paoRemote.setValue("FNAME", fname, 11L); paoRemote.setValue("FSTATUS", "申请", 11L); paoRemote.setValue("FUSERID", userid, 11L); paoRemote.setValue("fissaveagentmsg", fissaveagentmsg, 11L); queryPaoSetRemote.save(); return getSucReturnObject().setData("申请成功").toString(); } }