LoginController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package com.sckj.front.controller;
  2. import com.sckj.common.aop.NotLogin;
  3. import com.sckj.common.core.AjaxResult;
  4. import com.sckj.front.TapholeFrontThreadLocal;
  5. import com.sckj.front.service.ILoginService;
  6. import com.sckj.front.validate.login.*;
  7. import com.sckj.front.vo.login.LoginTokenVo;
  8. import com.sckj.front.vo.login.LoginUrlsVo;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.validation.annotation.Validated;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.annotation.Resource;
  15. import javax.servlet.http.HttpSession;
  16. import javax.validation.constraints.NotNull;
  17. @Slf4j
  18. @RestController
  19. @RequestMapping("/api/login")
  20. @Api(tags = "登录管理")
  21. public class LoginController {
  22. @Resource
  23. ILoginService iLoginService;
  24. @NotLogin
  25. @PostMapping("/register")
  26. @ApiOperation(value="注册账号")
  27. public AjaxResult<Object> register(@Validated @RequestBody RegisterValidate registerValidate) {
  28. Integer terminal = TapholeFrontThreadLocal.getTerminal();
  29. String username = registerValidate.getUsername();
  30. String password = registerValidate.getPassword();
  31. iLoginService.register(username, password, terminal);
  32. return AjaxResult.success();
  33. }
  34. @NotLogin
  35. @PostMapping("/accountLogin")
  36. @ApiOperation(value="账号登录")
  37. public AjaxResult<LoginTokenVo> accountLogin(@Validated @RequestBody LoginPwdValidate loginPwdValidate) {
  38. Integer terminal = TapholeFrontThreadLocal.getTerminal();
  39. String username = loginPwdValidate.getUsername();
  40. String password = loginPwdValidate.getPassword();
  41. LoginTokenVo vo = iLoginService.accountLogin(username, password, terminal);
  42. return AjaxResult.success(vo);
  43. }
  44. @NotLogin
  45. @PostMapping("/mobileLogin")
  46. @ApiOperation(value="手机登录")
  47. public AjaxResult<LoginTokenVo> mobileLogin(@Validated @RequestBody LoginPhoneValidate loginPhoneValidate) {
  48. Integer terminal = TapholeFrontThreadLocal.getTerminal();
  49. String mobile = loginPhoneValidate.getMobile();
  50. String code = loginPhoneValidate.getCode();
  51. LoginTokenVo vo = iLoginService.mobileLogin(mobile, code, terminal);
  52. return AjaxResult.success(vo);
  53. }
  54. @NotLogin
  55. @PostMapping("/mnpLogin")
  56. @ApiOperation(value="微信登录")
  57. public AjaxResult<LoginTokenVo> mnpLogin(@Validated @RequestBody LoginCodeValidate loginCodeValidate) {
  58. Integer terminal = TapholeFrontThreadLocal.getTerminal();
  59. String code = loginCodeValidate.getCode();
  60. LoginTokenVo vo = iLoginService.mnpLogin(code, terminal);
  61. return AjaxResult.success(vo);
  62. }
  63. @NotLogin
  64. @PostMapping("/oaLogin")
  65. @ApiOperation(value="公众号登录")
  66. public AjaxResult<LoginTokenVo> oaLogin(@Validated @RequestBody LoginCodeValidate loginCodeValidate) {
  67. Integer terminal = TapholeFrontThreadLocal.getTerminal();
  68. String code = loginCodeValidate.getCode();
  69. LoginTokenVo vo = iLoginService.officeLogin(code, terminal);
  70. return AjaxResult.success(vo);
  71. }
  72. @NotLogin
  73. @GetMapping("/oaCodeUrl")
  74. @ApiOperation(value="公众号链接")
  75. public AjaxResult<LoginUrlsVo> oaCodeUrl(@Validated @NotNull() @RequestParam("url") String url) {
  76. LoginUrlsVo vo = new LoginUrlsVo();
  77. vo.setUrl(iLoginService.oaCodeUrl(url));
  78. return AjaxResult.success(vo);
  79. }
  80. @NotLogin
  81. @GetMapping("/scanCodeUrl")
  82. @ApiOperation(value="PC扫码链接")
  83. public AjaxResult<LoginUrlsVo> scanCodeUrl(@Validated @NotNull() @RequestParam("url") String url, HttpSession session) {
  84. String qrcodeUrl = iLoginService.scanCodeUrl(url, session);
  85. LoginUrlsVo vo = new LoginUrlsVo();
  86. vo.setUrl(qrcodeUrl);
  87. return AjaxResult.success(vo);
  88. }
  89. @NotLogin
  90. @PostMapping("/scanLogin")
  91. @ApiOperation(value="PC扫码登录")
  92. public AjaxResult<Object> scanLogin(@Validated @RequestBody LoginScanValidate loginScanValidate, HttpSession session) {
  93. Integer terminal = TapholeFrontThreadLocal.getTerminal();
  94. String code = loginScanValidate.getCode();
  95. String state = loginScanValidate.getState();
  96. LoginTokenVo vo = iLoginService.scanLogin(code, state, terminal, session);
  97. return AjaxResult.success(vo);
  98. }
  99. }