RegisterLoginController.java 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.zanxiang.sdk.controller;
  2. import com.zanxiang.common.domain.ResultVo;
  3. import com.zanxiang.sdk.domain.params.*;
  4. import com.zanxiang.sdk.domain.vo.UserLoginVO;
  5. import com.zanxiang.sdk.service.RegisterLoginService;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiOperation;
  8. import io.swagger.annotations.ApiResponse;
  9. import io.swagger.annotations.ApiResponses;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.validation.annotation.Validated;
  12. import org.springframework.web.bind.annotation.*;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15. /**
  16. * @author : lingfeng
  17. * @time : 2022-06-21
  18. * @description : 用户注册登录
  19. */
  20. @Api(tags = "注册登录接口")
  21. @RestController
  22. @RequestMapping(value = "/api/user")
  23. public class RegisterLoginController {
  24. @Autowired
  25. private RegisterLoginService registerPassword;
  26. @ApiOperation(value = "用户普通注册")
  27. @PostMapping("/register/password")
  28. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  29. public ResultVo<UserLoginVO> registerPassword(@Validated @RequestBody RegisterPasswordParam registerPasswordParam,
  30. HttpServletRequest request, UserData userData) {
  31. return registerPassword.registerPassword(registerPasswordParam, request, userData);
  32. }
  33. @ApiOperation(value = "用户手机注册")
  34. @PostMapping("/register/mobile")
  35. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  36. public ResultVo<UserLoginVO> registerMobile(@Validated @RequestBody RegisterMobileParam registerMobileParam,
  37. HttpServletRequest request, UserData userData) {
  38. return registerPassword.registerMobile(registerMobileParam, request, userData);
  39. }
  40. @ApiOperation(value = "用户名密码登录")
  41. @PostMapping("/login/password")
  42. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  43. public ResultVo<UserLoginVO> loginPassword(@Validated @RequestBody LoginPasswordParam userLoginParam,
  44. HttpServletRequest request, UserData userData) {
  45. return registerPassword.loginPassword(userLoginParam, request, userData);
  46. }
  47. @ApiOperation(value = "用户手机号登录")
  48. @PostMapping("/login/mobile")
  49. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  50. public ResultVo<UserLoginVO> loginMobile(@Validated @RequestBody LoginMobileParam loginMobileParam,
  51. HttpServletRequest request, UserData userData) {
  52. return registerPassword.loginMobile(loginMobileParam, request, userData);
  53. }
  54. @ApiOperation(value = "用户QQ授权登录")
  55. @GetMapping("/register/login/qq")
  56. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  57. public ResultVo qqLoginAuth(HttpServletResponse response) {
  58. registerPassword.qqLoginAuth(response);
  59. return ResultVo.ok();
  60. }
  61. @ApiOperation(value = "用户QQ授权登录回调接口")
  62. @PostMapping("/register/login/qq/call/back")
  63. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  64. public ResultVo<UserLoginVO> qqLoginCallback(@Validated @RequestBody QqLoginCallbackParam qqLoginCallbackParam,
  65. HttpServletRequest request, UserData userData) {
  66. return registerPassword.qqLoginCallback(qqLoginCallbackParam, request, userData);
  67. }
  68. @ApiOperation(value = "用户微信授权登录")
  69. @GetMapping("/register/login/vx")
  70. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  71. public ResultVo getUserDetail(HttpServletResponse response) {
  72. registerPassword.vxLoginAuth(response);
  73. return ResultVo.ok();
  74. }
  75. @ApiOperation(value = "用户微信授权登录回调接口")
  76. @PostMapping("/register/login/vx/call/back")
  77. @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
  78. public ResultVo<UserLoginVO> vxLoginCallback(@Validated @RequestBody QqLoginCallbackParam qqLoginCallbackParam,
  79. HttpServletRequest request, UserData userData) {
  80. return registerPassword.vxLoginCallback(qqLoginCallbackParam, request, userData);
  81. }
  82. }