/** * 更新用户信息 * * @param headers * @param content * @return */ @Path("/update/userInfo") @POST @Produces("application/json;charset=utf-8") public String updateUserInfo(String content) { if (StringUtils.isEmpty(content)) { return OpenResult.parameterError("无参数").buildJson(); } JSONObject json = JSONObject.parseObject(content); String userId = json.getString("userId"); String sessionId = json.getString("sessionId"); String validdate = json.getString("validdate"); String postcode = json.getString("postcode"); String regioncode = json.getString("regioncode"); String address = json.getString("address"); Integer sex = json.getInteger("sex"); String description = json.getString("description"); String reservedinfo = json.getString("reservedinfo"); if (StringUtils.isEmpty(userId) || StringUtils.isEmpty(sessionId)) { return OpenResult.parameterError("参数错误").buildJson(); } // 校验性别 if (sex != null) { if (sex > 1 || sex < 0) { return OpenResult.parameterError("性别参数错误").buildJson(); } } if (StringUtils.isNotEmpty(postcode)) { // 校验邮政编码 boolean flag = registService.checkPostCode(postcode); if (!flag) { return OpenResult.parameterError("请输入正确的邮编").buildJson(); } } if (checkSessionId(userId, sessionId)) { try { JSONObject userRes = registService.updateUserInfo( userId, validdate, postcode, regioncode, address, sex, description, reservedinfo); if (userRes != null) { int retcode = userRes.getIntValue("retcode"); String msg = userRes.getString("msg"); if (retcode != 0) { return OpenResult.parameterError(retcode, msg).buildJson(); } return userRes.toJSONString(); } else { return OpenResult.unknown("服务异常").buildJson(); } } catch (StockServiceException e) { return OpenResult.serviceError(e.getRetcode(), e.getMsg()).buildJson(); } } else { return OpenResult.noAccess("未授权").buildJson(); } }
/** * 获取手机验证码 * * @param headers * @param content * @return */ @Path("/get/code") @POST @Produces("application/json;charset=utf-8") public String getCode(String content) { // 参数是否为空 if (StringUtils.isEmpty("content")) { return OpenResult.parameterError("无参数").buildJson(); } JSONObject json = JSONObject.parseObject(content); String mobileno = json.getString("mobileno"); // 手机注册验证码:201;手机找回密码:205,重置密码:253 String codetype = json.getString("codetype"); if (StringUtils.isEmpty(mobileno) || StringUtils.isEmpty(codetype)) { return OpenResult.parameterError("参数错误").buildJson(); } // 验证手机号格式是否正确 boolean flag = ValidateUtil.isMobile(mobileno); if (!flag) { return OpenResult.serviceError(10119, "手机号码有误").buildJson(); } // 手机号是否已被注册 JSONObject result = registService.mobileUnique(mobileno); if (result != null) { if (result.getIntValue("retcode") != 0) { return OpenResult.serviceError(result.getIntValue("retcode"), result.getString("msg")) .buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } try { // 获取手机验证码 result = registService.getIdentifyingCode(mobileno); if (result != null) { int retcode = result.getIntValue("retcode"); String msg = result.getString("msg"); if (retcode != 0) { return OpenResult.serviceError(retcode, msg).buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } MobileCodeResult mobileCodeResult = new MobileCodeResult(); Long expiredtime = result.getLong("expiredtime"); mobileCodeResult.setExpiredtime(expiredtime); return OpenResult.ok().add("data", mobileCodeResult).buildJson(); } catch (StockServiceException e) { log.error("注册时获取手机验证码异常:" + e); return OpenResult.serviceError(e.getRetcode(), e.getMsg()).buildJson(); } }
/** * 验证手机验证码 * * @param headers 头部信息 * @param content post 请求参数 * @return */ @Path("/valid/code") @POST @Produces("application/json;charset=utf-8") public String validcode(String content) { if (StringUtils.isEmpty(content)) { return OpenResult.parameterError("无参数").buildJson(); } JSONObject json = JSONObject.parseObject(content); String mobileno = json.getString("mobileno"); String codetype = json.getString("codetype"); String validcode = json.getString("validcode"); if (StringUtils.isBlank(mobileno) || StringUtils.isBlank(codetype) || StringUtils.isBlank(validcode)) { return OpenResult.parameterError("参数错误").buildJson(); } try { JSONObject result = registService.checkIdentifyingCode(mobileno, codetype, validcode); if (result != null) { int retcode = result.getIntValue("retcode"); String msg = result.getString("msg"); if (retcode != 0) { return OpenResult.serviceError(retcode, msg).buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } return result.toJSONString(); } catch (StockServiceException e) { log.error("验证手机验证码异常:" + e); return OpenResult.serviceError(e.getRetcode(), e.getMsg()).buildJson(); } }
/** * 完善用户信息 依次校验 身份证唯一性 手机号唯一性 验证码是否正确 身份证真实姓名是否匹配 然后授权 更新用户信息 其中校验 身份证号码格式 唯一性 和真实姓名是否匹配 已经在 {@link * AccountRest#isYLBAccount(String)} 中校验 * * @return */ @Path("/full/userInfo") @POST @Produces("application/json;charset=utf-8") public String fullUserMsg(String content) { if (StringUtils.isEmpty(content)) { return OpenResult.parameterError("无参数").buildJson(); } JSONObject json = JSONObject.parseObject(content); String realName = json.getString("realName"); String idNumber = json.getString("idNumber"); String mobileNo = json.getString("mobileNo"); String code = json.getString("code"); String ssoId = json.getString("UID"); String userId = ssoId; boolean flag = ValidateUtil.isMobile(mobileNo); if (!flag) { return OpenResult.serviceError(10119, "手机号码有误").buildJson(); } try { // 检验手机号是否被注册 JSONObject result = registService.mobileUnique(mobileNo); if (result != null) { if (result.getIntValue("retcode") != 0) { return OpenResult.parameterError(result.getIntValue("retcode"), result.getString("msg")) .buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } // 检验验证码 JSONObject codeResult = registService.checkIdentifyingCode(mobileNo, CodeType.REGISTER.type, code); if (codeResult != null) { Integer retcode = codeResult.getInteger("retcode"); String msg = codeResult.getString("msg"); if (retcode != 0) { return OpenResult.parameterError(retcode, msg).buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } // 注册盈利宝 // String passwd = generatePassword(8); // 记得改成通行证注册 2014-10-20 /* JSONObject regResult = registService.mobileRegist(mobileNo,passwd,code); if (regResult != null) { if (regResult.getIntValue("retcode") != 0) { return OpenResult.parameterError( regResult.getIntValue("retcode"), regResult.getString("msg")).buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } String userId = regResult.getString("userid");*/ // 授权 // accountAuthService.authorize(userId, ssoId, AuthType.JRJSSO); // UserInfo userInfo = userInfoService.queryUserInfo(userId); UserInfo info = null; if (userInfo == null) { info = userInfoService.createUserInfo(userId, UserStatus.COMPETE); if (info == null) { OpenResult.serviceError("-1", "完善信息失败").buildJson(); } } else { if (userInfo.getStatus() == UserStatus.INCOMPLETE.status) { info = userInfoService.updateUserInfo(userId, UserStatus.COMPETE); if (info == null) { OpenResult.serviceError("-1", "完善信息失败").buildJson(); } } if (userInfo.getStatus() == UserStatus.COMPETE.status) { String errorNo = "-1"; String errorInfo = "您已完善信息"; return OpenResult.serviceError(errorNo, errorInfo).buildJson(); } } // 更新用户信息 JSONObject IDRealresult = personalService.updateRealNameIDNumber(ssoId, idNumber, realName, mobileNo); if (IDRealresult != null) { if (IDRealresult.getInteger("retcode") != 0) { return IDRealresult.toJSONString(); } } else { return OpenResult.unknown("服务异常").buildJson(); } FullUserResult user = new FullUserResult(); user.setUserId(ssoId); return OpenResult.ok().add("data", user).buildJson(); } catch (ServiceException e) { log.error("Full user authorize ServiceException -->" + e.getMessage(), e); return OpenResult.serviceError(e.getErrorNo(), e.getErrorInfo()).buildJson(); } catch (StockServiceException e) { log.error("Full user StockServiceException -->" + e.getMessage(), e); return OpenResult.serviceError(e.getRetcode(), e.getMsg()).buildJson(); } catch (Exception e) { log.error("Full user Exception -->" + e.getMessage(), e); return OpenResult.serviceError("-1", e.getMessage()).buildJson(); } }
/** * 注册 * * @param headers * @param request * @param content * @return */ @Path("/regist") @POST @Produces("application/json;charset=utf-8") public String mobileRegist( @Context HttpHeaders headers, @Context HttpServletRequest request, String content) { if (StringUtils.isBlank(content)) { return OpenResult.parameterError("无参数").buildJson(); } JSONObject json = JSONObject.parseObject(content); String mobileno = json.getString("mobileno"); String passwd = json.getString("passwd"); String validcode = json.getString("validcode"); // 以上参数是必传参数 if (StringUtils.isEmpty(mobileno) || StringUtils.isEmpty(passwd) || StringUtils.isEmpty(validcode)) { return OpenResult.parameterError("参数错误").buildJson(); } // 以下参数为非必传参数 // String clientinfo = json.getString("clientinfo"); // String ip = IPUtils.getRemoteIpAdress(request); // int usedefaulttemplate = 1; // String smstemplate = ""; // String cccode = json.getString("cccode"); try { // 验证手机号格式是否正确 boolean flag = ValidateUtil.isMobile(mobileno); if (!flag) { return OpenResult.serviceError(10119, "手机号码有误").buildJson(); } // 检验手机号是否被注册 JSONObject result = registService.mobileUnique(mobileno); if (result != null) { if (result.getIntValue("retcode") != 0) { return OpenResult.parameterError(result.getIntValue("retcode"), result.getString("msg")) .buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } // 检验验证码 JSONObject codeJson = registService.checkIdentifyingCode(mobileno, CodeType.REGISTER.type, validcode); if (codeJson != null) { Integer retcode = codeJson.getInteger("retcode"); String msg = codeJson.getString("msg"); if (retcode != 0) { return OpenResult.parameterError(retcode, msg).buildJson(); } } else { return OpenResult.unknown("服务异常").buildJson(); } // JSONObject re = registService.mobileRegistParamAll(mobileno, // passwd, validcode, ip, clientinfo,cccode); JSONObject re = registService.mobileRegist(mobileno, passwd, validcode); if (re != null) { if (re.getInteger("retcode") != 0) { return OpenResult.parameterError(re.getIntValue("retcode"), re.getString("msg")) .buildJson(); } String userId = re.getString("userid"); LoginResult loginResult = new LoginResult(); loginResult.setUserid(userId); loginResult.setMobileno(mobileno); loginResult.setUserstatus(re.getInteger("userstatus")); loginResult.setRegtime(re.getString("regtime")); String sessionId = generateSessionId(loginResult); loginResult.setSessionId(sessionId); UserRegInfoResult infoResult = new UserRegInfoResult(); infoResult.setMobileno(mobileno); infoResult.setRegtime(re.getString("regtime")); infoResult.setSessionId(sessionId); infoResult.setUserid(userId); infoResult.setUserstatus(re.getInteger("userstatus")); // 将中信证券所需的 mobileno devid 存入session中 String devId = getDevId(headers); JSONObject securitiesInfo = setSecuritiesInfoJson(devId, mobileno); ; boolean securitiesFlag = setSecuritiesInfo(sessionId, securitiesInfo.toJSONString()); if (!securitiesFlag) { log.debug("注册时SecuritiesInfo放入缓存结果--" + securitiesFlag); } // 将userId放入缓存中 boolean sign = setMemcacheUserId(sessionId, userId); if (!sign) { log.debug("注册时userId放入缓存结果--" + sign); } return OpenResult.ok().add("data", infoResult).buildJson(); } else { return OpenResult.unknown("服务异常").buildJson(); } } catch (StockServiceException e) { log.error("注册异常:" + e); return OpenResult.serviceError(e.getRetcode(), e.getMsg()).buildJson(); } catch (Exception e) { log.error("注册异常:" + e); return OpenResult.unknown(e.getMessage()).buildJson(); } }