Преглед изворни кода

Merge branch 'release/v2.2.1' into 'develop'

Release/v2.2.1

See merge request dcuc-tjdsj/auth-back!47
黄资权 пре 4 година
родитељ
комит
d26c1ada95

+ 15 - 0
src/main/java/com/dragoninfo/dcuc/authweb/exception/RespExceptionHandler.java

@@ -2,8 +2,12 @@ package com.dragoninfo.dcuc.authweb.exception;
 
 
 import com.dragoninfo.dcuc.common.enums.ErrorCodeEnum;
+import com.dragoninfo.dcuc.common.exception.GmConfidentialityException;
+import com.dragoninfo.dcuc.common.exception.GmIntegrityException;
+import com.dragoninfo.dcuc.common.exception.GmNonRepudiationException;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
+import feign.FeignException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.core.annotation.Order;
@@ -55,6 +59,17 @@ public class RespExceptionHandler implements HandlerExceptionResolver {
                 response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
                 String message = Objects.requireNonNull(((BindException) ex).getFieldError()).getDefaultMessage();
                 fail = new ResponseStatus(String.valueOf(ErrorCodeEnum.REQUEST_PARAM.getValue()), String.format(ErrorCodeEnum.REQUEST_PARAM.getLabel(), message));
+            } else if (ex instanceof FeignException) {
+                String message = ex.getMessage();
+                if (message.contains(GmConfidentialityException.ERROR_MESSAGE)) {
+                    fail = ResponseStatus.fail(String.valueOf(HttpStatus.NOT_ACCEPTABLE.value()), GmConfidentialityException.ERROR_MESSAGE);
+                } else if (message.contains(GmIntegrityException.ERROR_MESSAGE)) {
+                    fail = ResponseStatus.fail(String.valueOf(HttpStatus.NOT_ACCEPTABLE.value()), GmIntegrityException.ERROR_MESSAGE);
+                } else if (message.contains(GmNonRepudiationException.ERROR_MESSAGE)) {
+                    fail = ResponseStatus.fail(String.valueOf(HttpStatus.NOT_ACCEPTABLE.value()), GmNonRepudiationException.ERROR_MESSAGE);
+                } else {
+                    fail = ResponseStatus.fail("500", "未知异常[" + ex.getMessage() + "]");
+                }
             } else {
                 fail = ResponseStatus.fail("500", "未知异常[" + ex.getMessage() + "]");
             }

+ 24 - 1
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/api/authservice/v1/controller/WorkFlowApiController.java

@@ -78,7 +78,29 @@ public class WorkFlowApiController {
     public ApiResult authFlowRepeatCheck(@RequestBody AuthFlowRepeatCheckVo authFlowRepeatCheckVo){
         String appCode = authFlowRepeatCheckVo.getAppCode();
         List<String> serviceCodes = authFlowRepeatCheckVo.getServiceCodes();
-        ResponseDTO responseDTO = serviceAuthFlowFacade.authFlowRepeatCheck(appCode,serviceCodes);
+        ResponseDTO responseDTO = serviceAuthFlowFacade.authApplyCheck(appCode,serviceCodes);
+        String statusCode = responseDTO.getStatusCode();
+        if (ResponseStatus.SUCCESS_CODE.equals(statusCode)) {
+            return ApiResult.setSuccess();
+        } else {
+            ApiResult apiResult = ApiResult.setFailMessage(responseDTO.getMessage());
+            apiResult.setResult(responseDTO.getResult());
+            return apiResult;
+        }
+    }
+
+
+    /**
+     * 服务授权撤销是否存在授权结果
+     */
+    @ApiOperation(value = "服务授权撤销是否存在授权结果")
+    @ApiImplicitParams({@ApiImplicitParam(name = "authFlowRepeatCheckVo", value = "服务授权重复校验Vo")})
+    @PostMapping("auth-cancel-check")
+    @ResponseBody
+    public ApiResult authCancelCheck(@RequestBody AuthFlowRepeatCheckVo authFlowRepeatCheckVo){
+        String appCode = authFlowRepeatCheckVo.getAppCode();
+        List<String> serviceCodes = authFlowRepeatCheckVo.getServiceCodes();
+        ResponseDTO responseDTO = serviceAuthFlowFacade.authCancelCheck(appCode,serviceCodes);
         String statusCode = responseDTO.getStatusCode();
         if (ResponseStatus.SUCCESS_CODE.equals(statusCode)) {
             return ApiResult.setSuccess();
@@ -122,4 +144,5 @@ public class WorkFlowApiController {
         dto.setServiceCodes(resourceInfo.getVisitResourceCode());
         dto.setServiceNames(resourceInfo.getVisitResourceName());
     }
+    
 }

+ 1 - 4
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/login/DcucLoginController.java

@@ -55,7 +55,7 @@ public class DcucLoginController {
     }
 
     @GetMapping(value = "/info")
-    public SecurityUser info(@RequestHeader(value = "userToken", required = false) String userToken,
+    public SecurityUser info(@RequestHeader(value = "userToken",required = false) String userToken,
                              @RequestHeader(value = "appToken", required = false) String appToken) {
         logger.info("UserToken:{},appToken:{}", userToken, appToken);
 
@@ -69,10 +69,7 @@ public class DcucLoginController {
             } else {
                 userInfo = iUserInfoFacade.userDetail(securityUser.getId());
             }
-            String userId = securityUser.getId();
-            if (StrUtil.isBlank(userId)) {
                 securityUser.setId(userInfo.getId());
-            }
             List<SecurityRight> authmenu = getAuthmenu(securityUser, userInfo);
             securityUser.setSecurityRightList(authmenu);
             //ADMIN管理员