发表于: 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请求的问题。

收获’


返回列表 返回列表
评论

    分享到