LoginController.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.example.xiaoshiweixinback.controller;
  2. import com.example.xiaoshiweixinback.business.common.Response;
  3. import com.example.xiaoshiweixinback.business.common.base.Constants;
  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.API_XIAO_SHI_WXBACK + "/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 = loginService.sendCode(vo);
  51. if (!b) {
  52. return Response.error("发送验证码失败");
  53. }
  54. return Response.success("发送验证码成功");
  55. }
  56. @PostMapping("/verifyCode")
  57. @Operation(summary = "生成校验码")
  58. public Response verifyCode(@RequestBody @Valid PersonPhoneDTO vo) throws Exception {
  59. Map<String, String> map = new HashMap<>();
  60. try {
  61. map = loginService.verifyCode(vo);
  62. } catch (Exception e) {
  63. return Response.success(e.getMessage());
  64. }
  65. return Response.success(map);
  66. }
  67. @PostMapping("/selectPerson")
  68. @Operation(summary = "查询个人信息")
  69. public Response selectPerson(@RequestBody PersonIdDTO vo) throws Exception {
  70. PersonVO personVO = loginService.selectPerson(vo);
  71. return Response.success(personVO);
  72. }
  73. @PostMapping("/editPerson")
  74. @Operation(summary = "修改个人信息")
  75. public Response editPerson(@RequestBody EditPersonDTO vo) throws Exception {
  76. boolean b = true;
  77. try {
  78. b = loginService.editPerson(vo);
  79. } catch (Exception e) {
  80. return Response.success(e.getMessage());
  81. }
  82. return Response.success(b);
  83. }
  84. @PostMapping("/logout")
  85. @Operation(summary = "退出登录")
  86. public Response logout(PersonIdDTO dto) {
  87. return Response.success(loginService.logout(dto));
  88. }
  89. }