diff --git a/docus-api-common/src/main/java/com/docus/server/common/GlobalResponseBodyAdvice.java b/docus-api-common/src/main/java/com/docus/server/common/GlobalResponseBodyAdvice.java index f9d985b..e14593b 100644 --- a/docus-api-common/src/main/java/com/docus/server/common/GlobalResponseBodyAdvice.java +++ b/docus-api-common/src/main/java/com/docus/server/common/GlobalResponseBodyAdvice.java @@ -50,7 +50,7 @@ public class GlobalResponseBodyAdvice implements ResponseBodyAdvice { public Object defaultErrorHandler(HttpServletRequest req, Exception ex) { if (ex instanceof ApiException) { logger.info("{} 错误 ,code:{}, message:{}", req.getRequestURL(), ((ApiException) ex).getCode(), ex.getMessage()); - return CommonResult.failed(ex.getMessage()); + return CommonResult.failed(((ApiException) ex).getCode().toString(), ex.getMessage()); } else if (ex instanceof NoHandlerFoundException) { logger.info("{} 错误 ,code:{}, message:{}", req.getRequestURL(), 404, ex.getMessage()); } diff --git a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java index b266850..42f0de0 100644 --- a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java +++ b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java @@ -1,12 +1,12 @@ package com.docus.server.api.recovery; +import com.docus.infrastructure.web.api.CommonResult; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.LoginRcvSysUserDTO; -import com.docus.server.vo.recovery.UserInfoView; import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.DeleteMapping; @@ -34,10 +34,11 @@ import java.util.List; public interface RcvSysUserApi { /** * 登录 + * * @return */ @PostMapping("/login") - UserInfoView login(@RequestBody LoginRcvSysUserDTO loginRcvSysUserDTO); + CommonResult login(@RequestBody LoginRcvSysUserDTO loginRcvSysUserDTO); /** * 退出登录 diff --git a/docus-recovery/src/main/java/com/docus/server/common/TokenInterceptor.java b/docus-recovery/src/main/java/com/docus/server/common/TokenInterceptor.java index f5274c4..94c3cb2 100644 --- a/docus-recovery/src/main/java/com/docus/server/common/TokenInterceptor.java +++ b/docus-recovery/src/main/java/com/docus/server/common/TokenInterceptor.java @@ -41,18 +41,24 @@ public class TokenInterceptor extends HandlerInterceptorAdapter { public TokenInterceptor(String tokenHeaderName, String userIdHeaderName, String tokenRedisKeyPrefix) { this.tokenHeaderName = tokenHeaderName; this.userIdHeaderName = userIdHeaderName; - tokenRedisKeyPrefix = tokenRedisKeyPrefix; + this.tokenRedisKeyPrefix = tokenRedisKeyPrefix; } public TokenInterceptor(String tokenHeaderName, String userIdHeaderName, String tokenRedisKeyPrefix, String userIdPropertyName) { this.tokenHeaderName = tokenHeaderName; this.userIdHeaderName = userIdHeaderName; - tokenRedisKeyPrefix = tokenRedisKeyPrefix; + this.tokenRedisKeyPrefix = tokenRedisKeyPrefix; this.userIdPropertyName = userIdPropertyName; } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + String path = request.getRequestURI(); + // 跟swagger冲突,跳出response包装 + if (path.contains("swagger") || path.contains("api-docs") || path.contains("error") || path.contains("/monitor/url-mappings") || path.contains("doc.html")) { + //忽略验证 + return super.preHandle(request, response, handler); + } if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; Class controller = handlerMethod.getMethod().getDeclaringClass(); @@ -90,7 +96,7 @@ public class TokenInterceptor extends HandlerInterceptorAdapter { String headerUserId = request.getHeader(userIdHeaderName); if (!userId.equalsIgnoreCase(headerUserId)) { //非法 token , token和userid不匹配 - logger.info("token {} is not. match userId {}", token, headerUserId); + logger.info("token {} is not match userId {}", token, headerUserId); throw new ApiException(ExceptionCode.TokenError); } //重置token过期时间 diff --git a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java index bcce042..7603980 100644 --- a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java +++ b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java @@ -1,5 +1,6 @@ package com.docus.server.controller; +import com.docus.infrastructure.web.api.CommonResult; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.api.recovery.RcvSysUserApi; @@ -9,7 +10,6 @@ import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; import com.docus.server.dto.recovery.rcvsysuser.LoginRcvSysUserDTO; import com.docus.server.service.IRcvSysUserService; -import com.docus.server.vo.recovery.UserInfoView; import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -36,11 +36,9 @@ public class RcvSysUserController implements RcvSysUserApi { @Override @ApiOperation("登录") @IgnoreValidate - public UserInfoView login(LoginRcvSysUserDTO userDTO) { + public CommonResult login(LoginRcvSysUserDTO userDTO) { String token = iRcvSysUserService.doLogin(userDTO.getUserName(), userDTO.getUserPwd()); - UserInfoView userInfoView = new UserInfoView(); - userInfoView.setToken(token); - return userInfoView; + return CommonResult.success(token, "登录成功"); } @ApiOperation("退出登录") diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java index 51d8b87..810ff4a 100644 --- a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java @@ -354,6 +354,7 @@ public class RcvSysUserServiceImpl implements IRcvSysUserService { UserInfoView userInfoview = new UserInfoView(); userInfoview.setToken(token); userInfoview.setUserName(userName); + userInfoview.setUserId(userName); userInfoview.setPassword(userPwd); redisStringService.setValue(BusinessConstant.REDIS_KEY_USER_TOKEN_PREFIX + token, userInfoview, 3, TimeUnit.MINUTES);