LoginController.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package com.fdkankan.ucenter.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.fdkankan.common.util.JwtUtil;
  4. import com.fdkankan.redis.util.RedisUtil;
  5. import com.fdkankan.ucenter.common.RedisKeyUtil;
  6. import com.fdkankan.ucenter.common.Result;
  7. import com.fdkankan.ucenter.service.impl.LoginService;
  8. import com.fdkankan.ucenter.vo.request.LoginParam;
  9. import com.fdkankan.ucenter.vo.request.RegisterParam;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.web.bind.annotation.*;
  13. /**
  14. * 登录
  15. */
  16. @RestController
  17. @RequestMapping("/sso/user")
  18. public class LoginController {
  19. @Autowired
  20. LoginService loginService;
  21. @Autowired
  22. RedisUtil redisUtil;
  23. @Value("${spring.profiles.active}")
  24. private String environment;
  25. /**
  26. * 登录
  27. * phoneNum 用户名
  28. * password 密码
  29. */
  30. @PostMapping("/login")
  31. public Result login(@RequestBody LoginParam param){
  32. return Result.success(loginService.login(param));
  33. }
  34. /**
  35. * 登录
  36. * phoneNum 用户名
  37. * password 密码
  38. */
  39. @PostMapping("/loginClear")
  40. public Result loginClear(@RequestBody LoginParam param){
  41. return Result.success(loginService.loginClear(param));
  42. }
  43. /**
  44. * 相机扫码登录 获取二维码
  45. */
  46. @GetMapping("/createLoginQrCode")
  47. public Result createLoginQrCode() throws Exception {
  48. return Result.success(loginService.createLoginQrCode());
  49. }
  50. /**
  51. * 扫码验证登录
  52. */
  53. @PostMapping("/sendUserInfo")
  54. public Result sendUserInfo(@RequestBody JSONObject jsonObject){
  55. return Result.success(loginService.sendUserInfo(jsonObject.getString("uuid")));
  56. }
  57. /**
  58. * 登出
  59. */
  60. @PostMapping("/logout")
  61. public Result logout(@RequestHeader String token){
  62. loginService.logout(token);
  63. return Result.success();
  64. }
  65. /**
  66. * 检测用户名
  67. * phoneNum 用户名
  68. */
  69. @PostMapping("/checkUser")
  70. public Result checkUser(@RequestBody LoginParam param){
  71. loginService.checkUser(param.getPhoneNum(),true);
  72. return Result.success();
  73. }
  74. /**
  75. * 获取验证码
  76. * areaNum 区号
  77. * phoneNum 手机号码
  78. */
  79. @PostMapping("/getMsgAuthCode")
  80. public Result getMsgAuthCode(@RequestBody LoginParam param) throws Exception {
  81. loginService.getMsgAuthCode(param.getAreaNum(),param.getPhoneNum());
  82. return Result.success();
  83. }
  84. /**
  85. * 发送邮件验证码
  86. */
  87. @PostMapping("/getEmailAuthCode")
  88. public Result getEmailAuthCode(@RequestBody RegisterParam param) throws Exception {
  89. loginService.getEmailAuthCode(param.getEmail(),param.getCountry());
  90. return Result.success();
  91. }
  92. /**
  93. * 注册
  94. * areaNum 区号
  95. * phoneNum 手机号码
  96. */
  97. @PostMapping("/register")
  98. public Result register(@RequestBody RegisterParam param) throws Exception {
  99. loginService.register(param);
  100. return Result.success();
  101. }
  102. /**
  103. * 修改密码
  104. */
  105. @PostMapping("/changePassword")
  106. public Result changePassword(@RequestBody RegisterParam param){
  107. loginService.changePassword(param);
  108. return Result.success();
  109. }
  110. /**
  111. * 检验token是否过期
  112. */
  113. @PostMapping(value = "/checkToken")
  114. public Result checkToken(@RequestHeader String token){
  115. loginService.loginCheck(token);
  116. return Result.success();
  117. }
  118. /**
  119. * 检验验证码是否有效
  120. */
  121. @PostMapping(value = "/checkSms")
  122. public Result checkSms(@RequestBody RegisterParam param,@RequestHeader String token){
  123. String username = JwtUtil.getUsername(token);
  124. loginService.checkSms(param.getMsgAuthCode(),username,false);
  125. return Result.success();
  126. }
  127. /**
  128. * getToken
  129. */
  130. @PostMapping("/getToken")
  131. public Result getToken(@RequestBody LoginParam param){
  132. return Result.success(loginService.loginClear(param));
  133. }
  134. /**
  135. * 测试使用 获取具体验证码
  136. * @param user
  137. * @return
  138. */
  139. @RequestMapping(value = "/findMsgAuthCode", method = RequestMethod.POST)
  140. public Result findMsgAuthCode(@RequestBody LoginParam user) {
  141. String redisKey = RedisKeyUtil.PREFIX_MSG_AUTH_CODE +user.getPhoneNum();
  142. if(!"prod".equals(environment)){
  143. return Result.success(redisUtil.get(redisKey));
  144. }
  145. if("18819272208".equals(user.getPhoneNum()) || "12369874542".equals(user.getPhoneNum())){
  146. return Result.success(redisUtil.get(redisKey));
  147. }
  148. return Result.success();
  149. }
  150. }