UserApiController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package com.xc.controller;
  2. import com.xc.common.ServerResponse;
  3. import com.xc.pojo.User;
  4. import com.xc.service.IUserService;
  5. import com.xc.utils.Md5Utils;
  6. import com.xc.utils.PropertiesUtil;
  7. import com.xc.utils.TokenUtils;
  8. import com.xc.utils.redis.CookieUtils;
  9. import com.xc.utils.redis.JsonUtil;
  10. import com.xc.utils.redis.RedisConst;
  11. import com.xc.utils.redis.RedisShardedPoolUtils;
  12. import com.xc.vo.user.UserLoginResultVO;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15. import javax.servlet.http.HttpSession;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Controller;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RequestMethod;
  22. import org.springframework.web.bind.annotation.RequestParam;
  23. import org.springframework.web.bind.annotation.ResponseBody;
  24. import redis.clients.jedis.JedisCluster;
  25. import java.util.Date;
  26. @Controller
  27. @RequestMapping({"/api/user/"})
  28. public class UserApiController {
  29. private static final Logger log = LoggerFactory.getLogger(UserApiController.class);
  30. @Autowired
  31. IUserService iUserService;
  32. //注册
  33. @RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST})
  34. @ResponseBody
  35. public ServerResponse reg(@RequestParam("agentCode") String agentCode, @RequestParam("phone") String phone, @RequestParam(value = "yzmCode", defaultValue = "") String yzmCode, @RequestParam("userPwd") String userPwd, HttpServletRequest httpServletRequest) {
  36. return this.iUserService.reg(yzmCode, agentCode, phone, userPwd, httpServletRequest);
  37. }
  38. //登录
  39. @RequestMapping(value = {"login.do"}, method = {RequestMethod.POST})
  40. @ResponseBody
  41. public ServerResponse login(@RequestParam("phone") String phone, @RequestParam("userPwd") String userPwd, HttpServletRequest request, HttpServletResponse response) throws Exception {
  42. // String pc_cookie_name = PropertiesUtil.getProperty("user.cookie.name");
  43. ServerResponse serverResponse = this.iUserService.login(phone, userPwd, request);
  44. if (serverResponse.isSuccess()) {
  45. // CookieUtils.writeLoginToken(response, token, pc_cookie_name);
  46. // String redisSetExResult = RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(serverResponse.getData()), 5400);
  47. // Long a = RedisShardedPoolUtils.expire(token,10);
  48. // System.out.println(a+"u1s1");
  49. // log.info("redis setex user result : {}", redisSetExResult);
  50. User user = (User) serverResponse.getData();
  51. // String tokenKey = RedisConst.getTokenRedisKey(user.getId());
  52. String token = TokenUtils.token(user.getPhone(), user.getUserPwd());
  53. UserLoginResultVO resultVO = new UserLoginResultVO();
  54. // resultVO.setKey(pc_cookie_name);
  55. resultVO.setToken(token);
  56. RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(serverResponse.getData()), 5400);
  57. return ServerResponse.createBySuccess("登陆成功", resultVO);
  58. }
  59. return serverResponse;
  60. }
  61. //注销
  62. @RequestMapping({"logout.do"})
  63. @ResponseBody
  64. public ServerResponse logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
  65. // String cookie_name = PropertiesUtil.getProperty("user.cookie.name");
  66. // String logintoken = CookieUtils.readLoginToken(httpServletRequest, cookie_name);
  67. // log.info("用户 token = {} ,退出登陆", logintoken);
  68. // CookieUtils.delLoginToken(httpServletRequest, httpServletResponse, cookie_name);
  69. String token = httpServletRequest.getHeader("token");
  70. RedisShardedPoolUtils.del(token);
  71. return ServerResponse.createBySuccess();
  72. }
  73. //查询手机号是否存在
  74. @RequestMapping({"checkPhone.do"})
  75. @ResponseBody
  76. public ServerResponse checkPhone(String phoneNum,@RequestParam(value = "num",defaultValue = "0")int num) {
  77. return this.iUserService.checkPhone(phoneNum,num);
  78. }
  79. //找回密码
  80. @RequestMapping({"updatePwd.do"})
  81. @ResponseBody
  82. public ServerResponse updatePwd(String phoneNum, String code, String newPwd) {
  83. return this.iUserService.updatePwd(phoneNum, code, newPwd);
  84. }
  85. }