LoginController.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package com.example.xiaoshiweixinback.controller;
  2. import com.example.xiaoshiweixinback.business.common.Constants;
  3. import com.example.xiaoshiweixinback.business.common.Response;
  4. import com.example.xiaoshiweixinback.entity.dto.person.*;
  5. import com.example.xiaoshiweixinback.entity.vo.person.LoginByWxVO;
  6. import com.example.xiaoshiweixinback.entity.vo.person.LoginVO;
  7. import com.example.xiaoshiweixinback.entity.vo.person.PersonVO;
  8. import com.example.xiaoshiweixinback.service.LoginService;
  9. import io.swagger.v3.oas.annotations.Operation;
  10. import jakarta.validation.Valid;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15. /**
  16. * 登录相关接口
  17. *
  18. * @author: 高昌奎
  19. */
  20. @RequestMapping(Constants.XIAOSHI_WEIXINBACK + "/account")
  21. @RestController
  22. public class LoginController {
  23. @Autowired
  24. private LoginService loginService;
  25. @Operation(summary = "手机号/账号登录")
  26. @PostMapping(value = "/loginByPhone")
  27. public Response loginByPhone(@Valid @RequestBody LoginDTO vo) {
  28. LoginVO loginVO = null;
  29. try {
  30. loginVO = loginService.loginByPhone(vo);
  31. } catch (Exception e) {
  32. return Response.error(e.getMessage());
  33. }
  34. return Response.success(loginVO);
  35. }
  36. @Operation(summary = "微信小程序登录")
  37. @PostMapping(value = "/loginByWeChat")
  38. public Response loginByWeChat(@Valid @RequestBody LoginByWxDTO wxDTO) throws Exception {
  39. LoginByWxVO loginByWxVO = null;
  40. try {
  41. loginByWxVO = loginService.loginByWeChat(wxDTO);
  42. } catch (Exception e) {
  43. return Response.error(e.getMessage());
  44. }
  45. return Response.success(loginByWxVO);
  46. }
  47. @Operation(summary = "发送验证码")
  48. @PostMapping("/sendCode")
  49. public Response sendCode(@RequestBody @Valid SendCodeDTO vo) {
  50. boolean b = false;
  51. try {
  52. b = loginService.sendCode(vo);
  53. } catch (Exception e) {
  54. return Response.error(e.getMessage());
  55. }
  56. return Response.success(b);
  57. }
  58. @PostMapping("/verifyCode")
  59. @Operation(summary = "生成校验码")
  60. public Response verifyCode(@RequestBody @Valid PersonPhoneDTO vo) throws Exception {
  61. Map<String, String> map = new HashMap<>();
  62. try {
  63. map = loginService.verifyCode(vo);
  64. } catch (Exception e) {
  65. return Response.error(e.getMessage());
  66. }
  67. return Response.success(map);
  68. }
  69. @PostMapping("/selectPerson")
  70. @Operation(summary = "查询个人信息")
  71. public Response selectPerson(@RequestBody PersonIdDTO vo) throws Exception {
  72. PersonVO personVO = null;
  73. try {
  74. personVO = loginService.selectPerson(vo);
  75. } catch (Exception e) {
  76. return Response.unLogin(e.getMessage());
  77. }
  78. return Response.success(personVO);
  79. }
  80. @PostMapping("/editPerson")
  81. @Operation(summary = "修改个人信息")
  82. public Response editPerson(@RequestBody EditPersonDTO vo) throws Exception {
  83. boolean b = true;
  84. try {
  85. b = loginService.editPerson(vo);
  86. } catch (Exception e) {
  87. return Response.error(e.getMessage());
  88. }
  89. return Response.success(b);
  90. }
  91. @PostMapping("/logout")
  92. @Operation(summary = "退出登录")
  93. public Response logout(PersonIdDTO dto) {
  94. return Response.success(loginService.logout(dto));
  95. }
  96. }