ソースを参照

Merge branch 'huangzqa-fix-api-bus-2021-02-27' into 'develop'

Huangzqa fix api bus 2021 02 27

See merge request dcuc/auth-back!63
黄资权 4 年 前
コミット
7cc350e73c

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

@@ -1,6 +1,11 @@
 package com.dragoninfo.dcuc.authweb.restcontroller.api.authservice.v1.controller;
 
+import cn.hutool.core.util.StrUtil;
+import com.dragoninfo.dcuc.app.entity.ApplyInfo;
+import com.dragoninfo.dcuc.app.entity.ServiceResource;
 import com.dragoninfo.dcuc.app.enumresources.WorkFlowStatusEnum;
+import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
+import com.dragoninfo.dcuc.app.facade.IServiceResourceFacade;
 import com.dragoninfo.dcuc.auth.auth.dto.ServiceAuthFlowDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.WorkFlowResutlAcceptDTO;
 import com.dragoninfo.dcuc.auth.auth.facade.IServiceAuthFacade;
@@ -36,6 +41,12 @@ public class WorkFlowApiController {
     @Autowired
     private IServiceAuthFacade serviceAuthFacade;
 
+    @Autowired
+    private IApplyInfoFacade applyInfoFacade;
+
+    @Autowired
+    private IServiceResourceFacade serviceResourceFacade;
+
     /**
      * 服务授权工作单保存
      */
@@ -44,14 +55,31 @@ public class WorkFlowApiController {
     @PostMapping("service")
     @ResponseBody
     public ApiResult serviceAuthFlowSave(@RequestBody @Validated ServiceAuthFlowAcceptVo serviceAuthFlowVo) {
+
+        ResourceAuthInfoVo resourceInfo = serviceAuthFlowVo.getResourceInfo();
+        String visitorCode = resourceInfo.getVisitorCode();
+        ApplyInfo applyInfo = applyInfoFacade.getAppByCode(visitorCode);
+        if (applyInfo == null) {
+            return ApiResult.setFailMessage(String.format("应用代码 %s 不存在", visitorCode));
+        }
+
+        String visitResourceCode = resourceInfo.getVisitResourceCode();
+        String[] resourceCodArray = visitResourceCode.split(StrUtil.COMMA);
+        for (String resourceCode : resourceCodArray) {
+            ServiceResource serviceResource = serviceResourceFacade.detailByCode(resourceCode);
+            if (serviceResource == null) {
+                return ApiResult.setFailMessage(String.format("服务代码 %s 不存在", resourceCode));
+            }
+        }
+
         ServiceAuthFlowDTO dto = new ServiceAuthFlowDTO();
         setAppServiceInfo(dto, serviceAuthFlowVo);
         BeanUtils.copyProperties(serviceAuthFlowVo, dto, "serviceCodes", "serviceNames");
         ResponseDTO responseDTO = serviceAuthFacade.serviceAuthFlowSave(dto);
         String statusCode = responseDTO.getStatusCode();
-        if(ResponseStatus.SUCCESS_CODE.equals(statusCode)){
+        if (ResponseStatus.SUCCESS_CODE.equals(statusCode)) {
             return ApiResult.setSuccess();
-        }else {
+        } else {
             return ApiResult.setFailMessage(responseDTO.getMessage());
         }
     }