YysjUserControllder.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package info.aspirecn.cloud.yysj.cloudyysjlogin.controller;
  2. import info.aspirecn.cloud.yysj.cloudyysjlogin.entity.request.GetTokenRequest;
  3. import info.aspirecn.cloud.yysj.cloudyysjlogin.entity.request.TokenEntity;
  4. import info.aspirecn.cloud.yysj.cloudyysjlogin.entity.response.ResultResponse;
  5. import info.aspirecn.cloud.yysj.cloudyysjlogin.enums.ResultEnum;
  6. import info.aspirecn.cloud.yysj.cloudyysjlogin.exceptions.ParamaterException;
  7. import info.aspirecn.cloud.yysj.cloudyysjlogin.service.CheckTokenService;
  8. import info.aspirecn.cloud.yysj.cloudyysjlogin.service.LoginTokenService;
  9. import info.aspirecn.cloud.yysj.cloudyysjlogin.service.LogoutService;
  10. import io.swagger.annotations.*;
  11. import org.apache.commons.lang.StringUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.beans.factory.annotation.Value;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.HashMap;
  16. import java.util.Map;
  17. @RestController
  18. @RequestMapping
  19. @Api(tags = "云验平台登录接口")
  20. @ApiResponses({
  21. @ApiResponse(code = 200, message = "请求成功"),
  22. @ApiResponse(code = 400, message = "请求参数错误"),
  23. @ApiResponse(code = 401, message = "请求token无效"),
  24. @ApiResponse(code = 403, message = "请求token过期"),
  25. @ApiResponse(code = 404, message = "请求地址没有发现"),
  26. @ApiResponse(code = 500, message = "系统异常"),
  27. })
  28. public class YysjUserControllder {
  29. @Autowired
  30. private LoginTokenService loginTokenService;
  31. @Value("${auth.token.expire}")
  32. private Integer authTokenExpire;
  33. @Autowired
  34. private CheckTokenService checkTokenService;
  35. @Autowired
  36. private LogoutService logoutService;
  37. @ApiOperation(value = "云验平台登录", notes = "云验平台登录接口。")
  38. @PostMapping("/login")
  39. public ResultResponse getTokenTest(@RequestBody GetTokenRequest getTokenRequest)throws Exception{
  40. if(StringUtils.isEmpty(getTokenRequest.getUserId())||StringUtils.isEmpty(getTokenRequest.getPassword())){
  41. throw new ParamaterException("请求参数为空");
  42. }
  43. ResultResponse resultResponse = new ResultResponse();
  44. String token = loginTokenService.getLoginToken(getTokenRequest);
  45. Map<String,String> map = new HashMap<>();
  46. map.put("token",token);
  47. resultResponse.setSuccess(ResultEnum.YYSJ_SUCCESS,map);
  48. return resultResponse;
  49. }
  50. @ApiOperation(value = "token校验", notes = "token校验接口。")
  51. @PostMapping("/check")
  52. public ResultResponse checkToken(@RequestBody TokenEntity tokenEntity) {
  53. if(StringUtils.isEmpty(tokenEntity.getToken())){
  54. throw new ParamaterException("参数为空");
  55. }
  56. String userId = checkTokenService.checkToken(tokenEntity.getToken());
  57. return new ResultResponse().setCode(200).setData(userId);
  58. }
  59. @ApiOperation(value = "云验平台退出接口", notes = "退出接口。")
  60. @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "userId", required = true, dataType = "String")})
  61. @GetMapping("/logout")
  62. public ResultResponse logout (@RequestHeader String userId){
  63. if(StringUtils.isEmpty(userId)){
  64. throw new ParamaterException("参数位空");
  65. }
  66. logoutService.logout(userId);
  67. return new ResultResponse().setCode(200).setMessage("成功");
  68. }
  69. }