发表于: 2018-03-18 21:36:01
1 533
今日完成
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 = null;
if (phoneNum != null && !phoneNum.equals("")) {
if (pswd != null && !pswd.equals("")) {
if (verify != null && !verify.equals("")) {
log.info("/a/user/register" + phoneNum );
if (verify.equals("555555")) {
String salt = SecureUtil.getSalt();
user.setPhoneNum(phoneNum);
user.setPswd(SecureUtil.messageDigest(salt + pswd));
user.setSalt(salt);
user.setAccountsStatus(0);
Long id = null;
try {
id = userService.insert(user);
} catch (Throwable e) {
log.error(" insert wrong : " + user);
log.error(e);
e.printStackTrace();
}
log.info(" insert data success : " + id);
model.addAttribute("code", 0);
}
} else {
model.addAttribute("code", -2002);
}
} else {
model.addAttribute("code", -2005);
}
} else {
model.addAttribute("code", -2004);
}
return "/polyFinance-lgd-server/user/json/userDetailJson";
}
/**
* @param phoneNum 注册手机号码
* @param pswd 密码
* @return 状态码,消息
*/
@RequestMapping(value = "/a/login", method = RequestMethod.POST)
public String userLogin(ModelMap model, String phoneNum, String pswd) {
log.info("/a/login" + phoneNum);
try {
User user = userService.getObjectByPhoneNum(phoneNum);
if (user != null) {
String pswdCheck = SecureUtil.messageDigest(user.getSalt() + pswd);
if (pswdCheck.equals(user.getPswd())) {
model.addAttribute("code", 0);
} else {
model.addAttribute("code", 4002);
}
} else {
model.addAttribute("code", 4001);
}
} catch (ServiceException e) {
e.printStackTrace();
} catch (ServiceDaoException e) {
log.error("get user error by phoneNum" + phoneNum);
log.error(e);
e.printStackTrace();
}
return "/polyFinance-lgd-server/user/json/userDetailJson";
}
配置拦截器
/**
* @author lujing
* Create_at 2018/3/18 10:16
*/
public class LoginHomeInterceptor implements HandlerInterceptor{
private static final Log log = LogFactory.getLog(LoginHomeInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String url = request.getRequestURI();
String contextpath = request.getContextPath();
log.info("请求的url:" + url + "..." + contextpath);
String token= WebUtils.getCookie(request, Constant.jwtCookieName).getValue();
String sub = JwtUtils.getSubject(token, Constant.siginKey);
if(sub == null || sub.equals("")){
return false;
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
2.用户列表接口
(1)动态查询工具
/**
* 用户列表动态查询
* @param name 姓名
* @param phoneNum 手机号
* @param accountsStatus 账户状态
* @param createAtStart 注册日期起
* @param createAtEnd 注册日期止
* @param managerNum 理财经理
* @return 拼接的查询条件
*/
public static Map<String, Object> getUserListSql(String name, String phoneNum, Integer accountsStatus, Long createAtStart, Long createAtEnd, String managerNum) {
Map<String, Object> param = new HashMap<>();
if (name != null && !name.equals("")) {
param.put("name & like", "'%" + name + "%'");
}
if (phoneNum != null && !phoneNum.equals("")) {
param.put("phone_num & like", "'%" + phoneNum + "%'");
}
if (accountsStatus != null && !accountsStatus.equals("")) {
param.put("accounts_status & like", "'%" + accountsStatus + "%'");
}
if (createAtStart != null && !createAtStart.equals("")) {
param.put("create_at & >=", createAtStart);
}
if (createAtEnd != null && !createAtEnd.equals("")) {
param.put("create_at & <=", createAtEnd);
}
if (managerNum != null && !managerNum.equals("")) {
param.put("manager_num & like", "'%" + managerNum + "%'");
}
param.put("@table", "user");
param.put("@order", "create_at desc");
return param;
}
(2)用户列表接口
@RequestMapping(value = "/a/u/user/list", method = RequestMethod.GET)
public String getUserList(HttpServletRequest request , HttpServletResponse response ,ModelMap model, String name, String phoneNum, Integer accountsStatus, Long createAtStart, Long createAtEnd, String managerNum, Integer start, Integer size) {
Map<String, Object> param = DynamicUtil.getUserListSql(name, phoneNum, accountsStatus, createAtStart, createAtEnd, managerNum);
log.info("/a/u/user/list " + SQLUtil.convert2Sql(param, start, size));
try {
List<Long> ids = userService.getIdsByDynamicCondition(User.class, param, start, size);
List<User> users = userService.getObjectsByIds(ids);
model.addAttribute("code", 0);
model.addAttribute("total",users.size());
model.addAttribute("userList", users);
} catch (Throwable e) {
log.info(e.getMessage());
log.info("get user list error");
e.printStackTrace();
model.addAttribute("code", -100000);
}
return "/polyFinance-lgd-server/user/json/userListJson";
}
遇到问题
1.spring国际化中文乱码,问题。试了好多办法还没有解决。
明日计划
1.解决中文乱码的问题
收获
1.两个接口,动态查询
评论