package info.aspirecn.cloud.yysj.cloudyysjlogin.controller; import info.aspirecn.cloud.yysj.cloudyysjlogin.entity.request.GetTokenRequest; import info.aspirecn.cloud.yysj.cloudyysjlogin.entity.request.TokenEntity; import info.aspirecn.cloud.yysj.cloudyysjlogin.entity.response.ResultResponse; import info.aspirecn.cloud.yysj.cloudyysjlogin.enums.ResultEnum; import info.aspirecn.cloud.yysj.cloudyysjlogin.exceptions.ParamaterException; import info.aspirecn.cloud.yysj.cloudyysjlogin.service.CheckTokenService; import info.aspirecn.cloud.yysj.cloudyysjlogin.service.LoginTokenService; import info.aspirecn.cloud.yysj.cloudyysjlogin.service.LogoutService; import io.swagger.annotations.*; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; @RestController @RequestMapping @Api(tags = "云验平台登录接口") @ApiResponses({ @ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数错误"), @ApiResponse(code = 401, message = "请求token无效"), @ApiResponse(code = 403, message = "请求token过期"), @ApiResponse(code = 404, message = "请求地址没有发现"), @ApiResponse(code = 500, message = "系统异常"), }) public class YysjUserControllder { @Autowired private LoginTokenService loginTokenService; @Value("${auth.token.expire}") private Integer authTokenExpire; @Autowired private CheckTokenService checkTokenService; @Autowired private LogoutService logoutService; @ApiOperation(value = "云验平台登录", notes = "云验平台登录接口。") @PostMapping("/login") public ResultResponse getTokenTest(@RequestBody GetTokenRequest getTokenRequest)throws Exception{ if(StringUtils.isEmpty(getTokenRequest.getUserId())||StringUtils.isEmpty(getTokenRequest.getPassword())){ throw new ParamaterException("请求参数为空"); } ResultResponse resultResponse = new ResultResponse(); String token = loginTokenService.getLoginToken(getTokenRequest); Map map = new HashMap<>(); map.put("token",token); resultResponse.setSuccess(ResultEnum.YYSJ_SUCCESS,map); return resultResponse; } @ApiOperation(value = "token校验", notes = "token校验接口。") @PostMapping("/check") public ResultResponse checkToken(@RequestBody TokenEntity tokenEntity) { if(StringUtils.isEmpty(tokenEntity.getToken())){ throw new ParamaterException("参数为空"); } String userId = checkTokenService.checkToken(tokenEntity.getToken()); return new ResultResponse().setCode(200).setData(userId); } @ApiOperation(value = "云验平台退出接口", notes = "退出接口。") @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "userId", required = true, dataType = "String")}) @GetMapping("/logout") public ResultResponse logout (@RequestHeader String userId){ if(StringUtils.isEmpty(userId)){ throw new ParamaterException("参数位空"); } logoutService.logout(userId); return new ResultResponse().setCode(200).setMessage("成功"); } }