Explorar el Código

Merge branch 'mazq-authstatus-0513' into 'release/v2.1.0-beta'

服务授权重复校验修改

See merge request dcuc-tjdsj/auth-service!38
黄资权 hace 4 años
padre
commit
a7cc97b79e

+ 1 - 1
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/enumresources/ServiceAuthStatusEnum.java

@@ -22,7 +22,7 @@ public enum  ServiceAuthStatusEnum {
     /**
     /**
      * 权限超过有效期
      * 权限超过有效期
      */
      */
-    OVER_DUE("过期","4");
+    OVER_DUE("过期","3");
 
 
     private String label;
     private String label;
 
 

+ 6 - 6
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/business/impl/ServiceAuthBusinessImpl.java

@@ -13,6 +13,7 @@ import com.dragoninfo.dcuc.auth.auth.dto.WorkFlowDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.WorkFlowResutlAcceptDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.WorkFlowResutlAcceptDTO;
 import com.dragoninfo.dcuc.auth.auth.entity.ServiceAuthFlow;
 import com.dragoninfo.dcuc.auth.auth.entity.ServiceAuthFlow;
 import com.dragoninfo.dcuc.auth.auth.entity.ServiceAuthResult;
 import com.dragoninfo.dcuc.auth.auth.entity.ServiceAuthResult;
+import com.dragoninfo.dcuc.auth.auth.enumresources.ServiceAuthStatusEnum;
 import com.dragoninfo.dcuc.auth.auth.enumresources.WokrFlowPermissionTypeEnum;
 import com.dragoninfo.dcuc.auth.auth.enumresources.WokrFlowPermissionTypeEnum;
 import com.dragoninfo.dcuc.auth.auth.enumresources.WorkFlowStatusEnum;
 import com.dragoninfo.dcuc.auth.auth.enumresources.WorkFlowStatusEnum;
 import com.dragoninfo.dcuc.auth.auth.service.IAuthFlowService;
 import com.dragoninfo.dcuc.auth.auth.service.IAuthFlowService;
@@ -25,8 +26,11 @@ import com.dragoninfo.dcuc.org.entity.OrgInfo;
 import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
 import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
+import com.dragonsoft.duceap.core.search.Searchable;
+import com.dragonsoft.duceap.core.search.enums.SearchOperator;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.Header;
 import org.apache.http.Header;
 import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicHeader;
@@ -166,12 +170,8 @@ public class ServiceAuthBusinessImpl implements IServiceAuthBusiness {
         if(!CollectionUtils.isEmpty(list)) {
         if(!CollectionUtils.isEmpty(list)) {
             return ResponseDTO.fail(ResponseStatus.FAIL_CODE, String.format("服务授权申请中,申请中的服务代码:%s ", list), list);
             return ResponseDTO.fail(ResponseStatus.FAIL_CODE, String.format("服务授权申请中,申请中的服务代码:%s ", list), list);
         }
         }
-        List<ServiceAuthResult> authResults = authResultService.getByAppCode(appCode);
-        List<String> exist = authResults.stream()
-                .map(item -> item.getServiceCode())
-                .filter(item -> serviceCodes.contains(item))
-                .collect(Collectors.toList());
-        if(!CollectionUtils.isEmpty(list)) {
+        List<String> exist = authResultService.authResultRepeatCheck(appCode, serviceCodes);
+        if(!CollectionUtils.isEmpty(exist)) {
             return ResponseDTO.fail(ResponseStatus.FAIL_CODE, String.format("您已经提交过此申请,并通过审批,可正常使用该服务。已开通的服务代码:%s ", exist), exist);
             return ResponseDTO.fail(ResponseStatus.FAIL_CODE, String.format("您已经提交过此申请,并通过审批,可正常使用该服务。已开通的服务代码:%s ", exist), exist);
         }
         }
         return ResponseDTO.success(ResponseStatus.SUCCESS_CODE,null);
         return ResponseDTO.success(ResponseStatus.SUCCESS_CODE,null);

+ 5 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAuthFlowService.java

@@ -36,6 +36,11 @@ public interface IAuthFlowService {
      */
      */
     Page<ServiceAuthFlowDTO> page(Searchable searchable);
     Page<ServiceAuthFlowDTO> page(Searchable searchable);
 
 
+    /**
+     * 根据查询条件查询
+     */
+    List<ServiceAuthFlow> find(Searchable searchable);
+
     /**
     /**
      * 根据工单号查询工单
      * 根据工单号查询工单
      * @param messageId 工单号
      * @param messageId 工单号

+ 14 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IServiceAuthResultService.java

@@ -52,6 +52,12 @@ public interface IServiceAuthResultService {
      */
      */
     List<ServiceAuthResult> getByAppCode(String appCode);
     List<ServiceAuthResult> getByAppCode(String appCode);
 
 
+    /**
+     * 根据查询条件查询
+     */
+    List<ServiceAuthResult> find(Searchable searchable);
+
+
     /**
     /**
      * 服务授权工作单审批结果处理
      * 服务授权工作单审批结果处理
      * @param
      * @param
@@ -109,4 +115,12 @@ public interface IServiceAuthResultService {
      * @return
      * @return
      */
      */
     Page<ServiceAuthResultDTO> serviceResultPageJoinFlow(Searchable toSearchable);
     Page<ServiceAuthResultDTO> serviceResultPageJoinFlow(Searchable toSearchable);
+
+    /**
+     * 服务授权结果重复记录校验
+     * @param appCode
+     * @param serviceCodes
+     * @return
+     */
+    List<String> authResultRepeatCheck(String appCode, List<String> serviceCodes);
 }
 }

+ 6 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AuthFlowServiceImpl.java

@@ -79,6 +79,11 @@ public class AuthFlowServiceImpl implements IAuthFlowService {
         return new PageImpl<>(dtos, newPageable, totalElements);
         return new PageImpl<>(dtos, newPageable, totalElements);
     }
     }
 
 
+    @Override
+    public List<ServiceAuthFlow> find(Searchable searchable) {
+        return serviceAuthFlowBPO.find(ServiceAuthFlow.class,searchable);
+    }
+
     @Override
     @Override
     public ServiceAuthFlow getByMessageId(String messageId) {
     public ServiceAuthFlow getByMessageId(String messageId) {
         Searchable searchable = Searchable.newSearchable();
         Searchable searchable = Searchable.newSearchable();
@@ -135,6 +140,7 @@ public class AuthFlowServiceImpl implements IAuthFlowService {
                 .filter(item -> StringUtils.isNotBlank(item.getServiceCodes()))
                 .filter(item -> StringUtils.isNotBlank(item.getServiceCodes()))
                 .flatMap(item -> Arrays.stream(item.getServiceCodes().split(StrUtil.COMMA)))
                 .flatMap(item -> Arrays.stream(item.getServiceCodes().split(StrUtil.COMMA)))
                 .filter(item -> serviceCodes.contains(item))
                 .filter(item -> serviceCodes.contains(item))
+                .distinct()
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
         return existServiceCodes;
         return existServiceCodes;
     }
     }

+ 23 - 6
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/ServiceAuthResultServiceImpl.java

@@ -75,9 +75,6 @@ public class ServiceAuthResultServiceImpl implements IServiceAuthResultService {
     @Autowired
     @Autowired
     private IAuthFlowService authFlowService;
     private IAuthFlowService authFlowService;
 
 
-    @Autowired
-    private IUserInfoFacade userInfoFacade;
-
     @Override
     @Override
     public ServiceAuthResult saveAuthResult(ServiceAuthResult serviceAuthResult) {
     public ServiceAuthResult saveAuthResult(ServiceAuthResult serviceAuthResult) {
         serviceAuthResult.setCreateTime(new Date());
         serviceAuthResult.setCreateTime(new Date());
@@ -89,8 +86,8 @@ public class ServiceAuthResultServiceImpl implements IServiceAuthResultService {
     @Override
     @Override
     public ServiceAuthResult getByAppServiceCode(String appCode, String serviceCode) {
     public ServiceAuthResult getByAppServiceCode(String appCode, String serviceCode) {
         Searchable searchable = Searchable.newSearchable();
         Searchable searchable = Searchable.newSearchable();
-        searchable.addSearchFilter("serviceCode", SearchOperator.eq, serviceCode);
-        searchable.addSearchFilter("appCode", SearchOperator.eq, appCode);
+        searchable.addSearchFilter("service_code", SearchOperator.eq, serviceCode);
+        searchable.addSearchFilter("app_code", SearchOperator.eq, appCode);
         searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         List<ServiceAuthResult> authResults = serviceAuthResultBPO.find(ServiceAuthResult.class, searchable);
         List<ServiceAuthResult> authResults = serviceAuthResultBPO.find(ServiceAuthResult.class, searchable);
         if (CollectionUtils.isEmpty(authResults)) {
         if (CollectionUtils.isEmpty(authResults)) {
@@ -254,11 +251,16 @@ public class ServiceAuthResultServiceImpl implements IServiceAuthResultService {
     @Override
     @Override
     public List<ServiceAuthResult> getByAppCode(String appCode) {
     public List<ServiceAuthResult> getByAppCode(String appCode) {
         Searchable searchable = Searchable.newSearchable();
         Searchable searchable = Searchable.newSearchable();
-        searchable.addSearchFilter("appCode", SearchOperator.eq, appCode);
+        searchable.addSearchFilter("app_code", SearchOperator.eq, appCode);
         searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         return serviceAuthResultBPO.find(ServiceAuthResult.class, searchable);
         return serviceAuthResultBPO.find(ServiceAuthResult.class, searchable);
     }
     }
 
 
+    @Override
+    public List<ServiceAuthResult> find(Searchable searchable) {
+        return serviceAuthResultBPO.find(ServiceAuthResult.class, searchable);
+    }
+
     /**
     /**
      * 服务鉴权
      * 服务鉴权
      *
      *
@@ -500,4 +502,19 @@ public class ServiceAuthResultServiceImpl implements IServiceAuthResultService {
         return pageResult;
         return pageResult;
     }
     }
 
 
+    @Override
+    public List<String> authResultRepeatCheck(String appCode, List<String> serviceCodes) {
+        Searchable searchable = Searchable.newSearchable();
+        searchable.addSearchFilter("app_code", SearchOperator.eq, appCode);
+        searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
+        searchable.addSearchFilter("auth_status", SearchOperator.eq, ServiceAuthStatusEnum.START.getValue());
+        List<ServiceAuthResult> authResults = serviceAuthResultBPO.find(ServiceAuthResult.class, searchable);
+        List<String> exist = authResults.stream()
+                .map(item -> item.getServiceCode())
+                .filter(item -> serviceCodes.contains(item))
+                .distinct()
+                .collect(Collectors.toList());
+        return exist;
+    }
+
 }
 }