发表于: 2018-03-20 21:17:25
1 440
今晚完成
1.用户注册接口
/**
* 前台:用户注册
*
* @param model 返回code
* @param phoneNum 注册手机号
* @param pswd 密码
* @param verify 验证码
* @return
*/
@RequestMapping(value = "/a/user/register", method = RequestMethod.POST)
public String userRegister(HttpSession session, ModelMap model, String phoneNum, String pswd, String verify) {
String checkCode = (String) session.getAttribute("code");
String checkphoneNum = (String) session.getAttribute("phoneNum");
User user = new User();
if (phoneNum != null && !phoneNum.equals("")) {
if (pswd != null && !pswd.equals("")) {
if (verify != null && !verify.equals("")) {
log.info("/a/user/register" + phoneNum);
if (phoneNum.equals(checkphoneNum) && verify.equals(checkCode)) {
try {
User check = userService.getObjectByPhoneNum(phoneNum);
if (check != null) {
model.addAttribute("code", 4003);
return "/polyFinance-lgd-server/user/json/userDetailJson";
}
} catch (Throwable e) {
log.error(e);
log.error("get user by phone error " + phoneNum);
e.printStackTrace();
}
String salt = SecureUtil.getSalt();
user.setPhoneNum(phoneNum);
user.setPswd(SecureUtil.messageDigest(salt + pswd));
user.setSalt(salt);
user.setAccountsStatus(0);
user.setIncome(new BigDecimal(0.00));
user.setTotalProperty(new BigDecimal(0.00));
Long id = null;
Boolean flag = null;
try {
id = userService.insert(user);
} catch (Throwable e) {
log.error(" insert wrong : " + user);
log.error(e);
e.printStackTrace();
}
try {
User temp = userService.getObjectById(id);
temp.setSerialNum(UserSerialNumUtil.getUserSerialNum(id));
flag = userService.update(temp);
} catch (Throwable e) {
log.error(" update wrong : " + UserSerialNumUtil.getUserSerialNum(id));
log.error(e);
e.printStackTrace();
}
if (flag) {
model.addAttribute("code", 0);
} else {
model.addAttribute("code", -100000);
}
} else {
model.addAttribute("code", -2003);
}
} else {
model.addAttribute("code", -2002);
}
} else {
model.addAttribute("code", -2005);
}
} else {
model.addAttribute("code", -2004);
}
return "/polyFinance-lgd-server/user/json/userDetailJson";
}
2.用户忘记密码接口
/**
* 前台:用户忘记密码接口
*
* @param session session
* @param mobile 手机号
* @param verify 验证码
* @param pswd 密码
* @return
*/
@RequestMapping(value = "/a/user/forget", method = RequestMethod.PUT, produces = "text/html;charset=UTF-8")
@ResponseBody
public String fogetPswd(HttpServletRequest request,HttpSession session, String mobile, String verify, String pswd) {
Boolean flag = null;
JSONObject model = new JSONObject();
if (CommonUtil.isEmpty(mobile, verify, pswd)) {
model.put("code", -200000);
model.put("message", "necessary param wrong 参数错误");
return model.toString();
}
String checkMobile = (String) session.getAttribute("phoneNum");
String checkCode = (String) session.getAttribute("code");
if (!mobile.equals(checkMobile) || !verify.equals(checkCode)) {
model.put("code", -2003);
model.put("message", "验证码错误");
return model.toString();
}
try {
User user = userService.getObjectByPhoneNum(mobile);
if (user != null) {
String newPswd = SecureUtil.messageDigest(user.getSalt() + pswd);
user.setPswd(newPswd);
user.setUpdateBy(user.getId());
flag = userService.update(user);
if (flag) {
model.put("code", 0);
model.put("message", "success");
} else {
model.put("code", -100000);
model.put("message", "Server has something wrong");
}
} else {
model.put("code", 4001);
model.put("message", "用户不存在");
}
} catch (Throwable e) {
log.error("update user pswd" + mobile);
log.error(e);
e.printStackTrace();
}
return model.toString();
}
@RequestMapping(value = "/test",method = RequestMethod.PUT)
@ResponseBody
public String test( String name){
System.out.println(name);
return "test";
}
3.用户修改密码接口
/**
* 前台:用户修改密码
*
* @param id 用户id
* @param oldPswd 旧密码
* @param newPswd 新密码
* @return
*/
@RequestMapping(value = "/a/u/user/pswd", method = RequestMethod.PUT, produces = "text/html;charset=UTF-8")
public @ResponseBody
String modifyPswd(Long id, @RequestParam String oldPswd, String newPswd) {
//todo 非空校验
if (CommonUtil.isEmpty(id, oldPswd, newPswd)) {
}
JSONObject a = new JSONObject();
Boolean flag;
log.info("update user pswd user id : " + id);
try {
User user = userService.getObjectById(id);
if (user == null) {
a.put("code", 4001);
a.put("message", "error user id");
return a.toString();
}
String checkPswd = SecureUtil.messageDigest(user.getSalt() + oldPswd);
if (checkPswd.equals(user.getPswd())) {
user.setPswd(SecureUtil.messageDigest(user.getSalt() + newPswd));
flag = userService.update(user);
if (flag) {
a.put("code", 0);
a.put("message", "success");
}
} else {
a.put("code", 4002);
a.put("message", "旧密码错误");
}
} catch (Throwable e) {
log.error("get user error" + id);
log.error(e);
e.printStackTrace();
}
return a.toString();
}
4.发送验证码接口
/**
* 前台:发送验证码
*
* @param session
* @param phoneNum 手机号
* @param type 发送类型
* @return
*/
@RequestMapping(value = "/a/code/send", method = RequestMethod.POST, produces = "text/html;charset=UTF-8")
public @ResponseBody
String getUserCode(HttpSession session, String phoneNum, String type) {
JSONObject a = new JSONObject();
if (CommonUtil.isEmpty(phoneNum, type)) {
a.put("code", -2000000);
a.put("message", "necessary param wrong");
return a.toString();
}
log.info("/a/code/send " + phoneNum + ";" + type);
if (type.equals("register")) {
try {
User user = userService.getObjectByPhoneNum(phoneNum);
if (user != null) {
a.put("code", 4003);
a.put("message", "用户已存在");
return a.toString();
}
String code = SMSutil.random(6);
try {
SMSutil.sendSms(code, phoneNum);
} catch (Exception e) {
log.error(e);
log.error("SMS service error");
a.put("code", -1000000);
a.put("message", "SMS service error");
return a.toString();
}
session.setAttribute("phoneNum", phoneNum);
session.setAttribute("code", code);
session.setMaxInactiveInterval(15 * 60);
a.put("code", 0);
a.put("message", "success");
} catch (Throwable e) {
log.error(e);
log.error("/a/code/send " + "get user error" + phoneNum);
e.printStackTrace();
}
} else if (type.equals("password")) {
try {
User user = userService.getObjectByPhoneNum(phoneNum);
if (user == null) {
a.put("code", 4003);
a.put("message", "用户不存在");
return a.toString();
}
String code = SMSutil.random(6);
try {
SMSutil.sendSms(code, phoneNum);
} catch (Exception e) {
log.error(e);
log.error("SMS service error");
a.put("code", -1000000);
a.put("message", "SMS service error");
return a.toString();
}
session.setAttribute("phoneNum", phoneNum);
session.setAttribute("code", code);
session.setMaxInactiveInterval(15 * 60);
a.put("code", 0);
a.put("message", "success");
} catch (Throwable e) {
log.error(e);
log.error("/a/code/send " + "get user error" + phoneNum);
e.printStackTrace();
}
} else {
a.put("code", -2006);
a.put("message", "wrong type");
return a.toString();
}
return a.toString();
}
}
遇到问题
1.标准的controller。加配置了web.xml的过滤器,就是接收不到请求参数。虽说springmvc对put和delete请求的支持不是那么好,怎么突然就不能请求到了。。。
明日计划
1.用户实名列表,redis。
2.解决put请求的问题。
收获’
评论