Переглянути джерело

feature(红白名单功能开发): 红白名单功能开发

红白名单功能开发
mazq 3 роки тому
батько
коміт
301d75ec98
29 змінених файлів з 531 додано та 68 видалено
  1. 1 1
      dcuc-auth-api/pom.xml
  2. 26 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/power/facade/IAppFunInfoFacade.java
  3. 18 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAuthUserInfoFacade.java
  4. 1 1
      dcuc-auth-model/pom.xml
  5. 44 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/AppFunInfoDTO.java
  6. 50 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/AppFunTreeDTO.java
  7. 11 8
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AppFunApplyContent.java
  8. 26 18
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AppFunAuthResult.java
  9. 7 2
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/WorkFlow.java
  10. 1 1
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/AttrBelongTypeEnum.java
  11. 1 1
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/AttrTypeEnum.java
  12. 44 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/SubObjTypeEnum.java
  13. 2 2
      dcuc-auth-service/pom.xml
  14. 2 2
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/business/impl/AuthAprResultBusiness.java
  15. 27 1
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/AppFunInfoFacade.java
  16. 37 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/FunAuthResultFacade.java
  17. 2 2
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/repo/AppFunApplyRepository.java
  18. 2 2
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAppFunAuthApplyService.java
  19. 9 2
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAppFunAuthResultService.java
  20. 16 1
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAppFunInfoService.java
  21. 13 13
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AppFunAuthApplyServiceImpl.java
  22. 12 7
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AppFunAuthResultServiceImpl.java
  23. 108 2
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AppFunInfoService.java
  24. 25 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/business/impl/SubSyncBusiness.java
  25. 26 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/AuthUserInfoFacade.java
  26. 8 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/service/IAuthUserInfoService.java
  27. 6 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/service/impl/AuthUserInfoService.java
  28. 4 0
      dcuc-auth-service/src/main/resources/config/sql/V4_3_0014__Add_Org_Id.sql
  29. 2 2
      pom.xml

+ 1 - 1
dcuc-auth-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dcuc-auth</artifactId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.3.2-tjdsj-SNAPSHOT</version>
+        <version>2.3.3-tjdsj-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 26 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/power/facade/IAppFunInfoFacade.java

@@ -1,6 +1,8 @@
 package com.dragoninfo.dcuc.auth.power.facade;
 
 
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunInfoDTO;
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunTreeDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.AppResourcesDto;
 import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.auth.vo.AppFunInfoVo;
@@ -171,4 +173,28 @@ public interface IAppFunInfoFacade {
      */
     @DeleteMapping(value = "/{id}")
     ResponseStatus deleteById(@PathVariable("id") String id);
+
+    /**
+     * 根据appId集合获取菜单列表
+     * @param appIds
+     * @return
+     */
+    @GetMapping(value = "getByAppIds")
+    List<AppFunInfoDTO> getByAppIds(@RequestBody List<String> appIds);
+
+    /**
+     * 根据appId获取功能列表
+     * @param appId
+     * @return
+     */
+    @GetMapping(value = "getByAppId")
+    List<AppFunInfoDTO> getByAppId(@RequestParam("appId") String appId);
+
+    /**
+     * 获取所有应用功能-树结构
+     * @return
+     */
+    @GetMapping(value = "allMenuTree")
+    List<AppFunTreeDTO> allMenuTree();
+
 }

+ 18 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAuthUserInfoFacade.java

@@ -7,6 +7,8 @@ import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @author wangrs
  * @date 2021-04-26
@@ -51,4 +53,20 @@ public interface IAuthUserInfoFacade {
      */
     @DeleteMapping("delete/{id}")
     void delete(@PathVariable("id") String id);
+
+    /**
+     * 条件查询
+     * @param searchDTO
+     * @return
+     */
+    @PostMapping(value = "findList")
+    List<AuthUserDTO> findList(@RequestBody SearchDTO searchDTO);
+
+    /**
+     * 根据id批量查询
+     * @param userIds
+     * @return
+     */
+    @PostMapping(value = "findByIds")
+    List<AuthUserDTO> findByIds(@RequestBody List<String> userIds);
 }

+ 1 - 1
dcuc-auth-model/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dcuc-auth</artifactId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.3.2-tjdsj-SNAPSHOT</version>
+        <version>2.3.3-tjdsj-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 44 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/AppFunInfoDTO.java

@@ -0,0 +1,44 @@
+package com.dragoninfo.dcuc.auth.auth.dto;
+
+import lombok.Data;
+
+/**
+ * 菜单功能dto
+ * @author mazq
+ * @date 2021/7/12
+ */
+@Data
+public class AppFunInfoDTO {
+
+    /**
+     * id
+     */
+    private String id;
+
+    /**
+     *功能名称
+     */
+    private String name;
+
+    /**
+     * 功能代码
+     */
+    private String code;
+
+    /**
+     * 应用ID
+     */
+    private String appId;
+
+    /**
+     * 上级功能ID
+     */
+    private String parentId;
+
+    /**
+     * 是否激活
+     */
+    private String isActive;
+
+
+}

+ 50 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/AppFunTreeDTO.java

@@ -0,0 +1,50 @@
+package com.dragoninfo.dcuc.auth.auth.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 应用功能树结构DTO
+ * @author mazq
+ * @date 2021/7/13
+ */
+@Data
+public class AppFunTreeDTO {
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 父节点id
+     */
+    private String pid;
+
+    /**
+     * 节点名称
+     */
+    private String label;
+
+    /**
+     * 资源code
+     */
+    private String code;
+
+    /**
+     * 是否是树节点
+     */
+    private Boolean isTreeNode;
+
+    /**
+     * 节点类型
+     */
+    private String type;
+
+    /**
+     * 子节点集合
+     */
+    private List<AppFunTreeDTO> child;
+
+}

+ 11 - 8
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AppFunApply.java → dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AppFunApplyContent.java

@@ -1,5 +1,8 @@
 package com.dragoninfo.dcuc.auth.auth.entity;
 
+import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+import com.dragonsoft.duceap.base.entity.persistent.LogicDeleteable;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.core.persistent.audit.JpaAuditingEntityListener;
 import lombok.Data;
 import org.hibernate.annotations.GenericGenerator;
@@ -15,7 +18,7 @@ import javax.persistence.*;
 @Data
 @Entity
 @Table(name = "T_AUTH_APP_FUN_APPLY")
-public class AppFunApply {
+public class AppFunApplyContent implements IdEntity<String> {
 
     /** 主键 */
     @GeneratedValue(generator="idGenerator")
@@ -25,30 +28,30 @@ public class AppFunApply {
 
     /** 权限申请表记录id */
     @Column(name = "AUTH_APPLY_ID")
-    private String authApplyId ;
+    private String authApplyId;
 
     /** 应用id */
     @Column(name = "APP_ID")
-    private String appId ;
+    private String appId;
 
     /** 应用code标识 */
     @Column(name = "APP_CODE")
-    private String appCode ;
+    private String appCode;
 
     /** 应用名称 */
     @Column(name = "APP_NAME")
-    private String appName ;
+    private String appName;
 
     /** 功能标识,多个用','号隔开 */
     @Column(name = "FUN_CODES")
-    private String funCodes ;
+    private String funCodes;
 
     /** 功能名称,多个用','号隔开 */
     @Column(name = "FUN_NAMES")
-    private String funNames ;
+    private String funNames;
 
     /** 权限赋予人id */
     @Column(name = "USER_ID")
-    private String userId ;
+    private String userId;
 
 }

+ 26 - 18
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AppFunAuthResult.java

@@ -1,5 +1,8 @@
 package com.dragoninfo.dcuc.auth.auth.entity;
 
+import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+import com.dragonsoft.duceap.base.entity.persistent.LogicDeleteable;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.core.persistent.audit.JpaAuditingEntityListener;
 import lombok.Data;
 import org.hibernate.annotations.GenericGenerator;
@@ -16,7 +19,7 @@ import java.util.Date;
 @Data
 @Entity
 @Table(name = "T_AUTH_APP_FUN_AUTH_RESULT")
-public class AppFunAuthResult {
+public class AppFunAuthResult implements LogicDeleteable, IdEntity<String> {
 
     /** 主键 */
     @GeneratedValue(generator="idGenerator")
@@ -26,70 +29,75 @@ public class AppFunAuthResult {
 
     /** 人员id */
     @Column(name = "USER_ID")
-    private String userId ;
+    private String userId;
 
     /** 应用id */
     @Column(name = "APP_ID")
-    private String appId ;
+    private String appId;
 
     /** 应用code */
     @Column(name = "APP_CODE")
-    private String appCode ;
+    private String appCode;
 
     /** 功能id */
     @Column(name = "FUN_ID")
-    private String funId ;
+    private String funId;
 
     /** 功能code */
     @Column(name = "FUN_CODE")
-    private String funCode ;
+    private String funCode;
 
     /** 权限开始时间 */
     @Column(name = "START_TIME")
-    private Date startTime ;
+    private Date startTime;
 
     /** 权限结束时间 */
     @Column(name = "END_TIME")
-    private Date endTime ;
+    private Date endTime;
 
     /** 权限起停用状态 */
     @Column(name = "AUTH_STATUS")
-    private String authStatus ;
+    private String authStatus;
 
     /** 权限结果来源 */
     @Column(name = "AUTH_SOURCE")
-    private String authSource ;
+    private String authSource;
 
     /** 来源对象标识 */
     @Column(name = "SOURCE_ID")
-    private String sourceId ;
+    private String sourceId;
 
     /** 是否删除 */
     @Column(name = "DELETED")
-    private String deleted ;
+    private String deleted;
 
     /** 创建时间 */
     @Column(name = "CREATE_TIME")
-    private String createTime ;
+    private String createTime;
 
     /** 更新时间 */
     @Column(name = "UPDATE_TIME")
-    private Date updateTime ;
+    private Date updateTime;
 
     /** 删除时间 */
     @Column(name = "DELETE_TIME")
-    private Date deleteTime ;
+    private Date deleteTime;
 
     /** 创建人 */
     @Column(name = "CREATE_USER")
-    private String createUser ;
+    private String createUser;
 
     /** 更新人 */
     @Column(name = "UPDATE_USER")
-    private String updateUser ;
+    private String updateUser;
 
     /** 删除人 */
     @Column(name = "DELETE_USER")
-    private String deleteUser ;
+    private String deleteUser;
+
+    @Override
+    public void markDeleted() {
+        this.setDeleted(BooleanEnum.TRUE.value);
+    }
 
 }

+ 7 - 2
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/WorkFlow.java

@@ -3,6 +3,8 @@ package com.dragoninfo.dcuc.auth.auth.entity;
 import com.dragonsoft.duceap.base.annotations.audit.DeletedBy;
 import com.dragonsoft.duceap.base.annotations.audit.DeletedDate;
 import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+import com.dragonsoft.duceap.base.entity.persistent.LogicDeleteable;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.core.persistent.audit.JpaAuditingEntityListener;
 import lombok.Data;
 import org.hibernate.annotations.GenericGenerator;
@@ -22,7 +24,7 @@ import java.util.Date;
 @Data
 @Entity
 @Table(name = "T_AUTH_APPLY_FLOW")
-public class WorkFlow implements IdEntity<String> {
+public class WorkFlow implements LogicDeleteable,IdEntity<String> {
 
     /** 主键 */
     @GeneratedValue(generator="idGenerator")
@@ -157,5 +159,8 @@ public class WorkFlow implements IdEntity<String> {
     @Column(name = "DELETE_USER")
     private String deleteUser;
 
-
+    @Override
+    public void markDeleted() {
+        this.setDeleted(BooleanEnum.TRUE.value);
+    }
 }

+ 1 - 1
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/enumresources/sub/AttrBelongTypeEnum.java → dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/AttrBelongTypeEnum.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.auth.auth.enumresources.sub;
+package com.dragoninfo.dcuc.auth.sub.enumresource;
 
 /**
  * 属性所属主客体类型枚举类

+ 1 - 1
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/enumresources/sub/AttrTypeEnum.java → dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/AttrTypeEnum.java

@@ -1,4 +1,4 @@
-package com.dragoninfo.dcuc.auth.auth.enumresources.sub;
+package com.dragoninfo.dcuc.auth.sub.enumresource;
 
 /**
  * 属性类型枚举类

+ 44 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/SubObjTypeEnum.java

@@ -0,0 +1,44 @@
+package com.dragoninfo.dcuc.auth.sub.enumresource;
+
+/**
+ * 主客体类型枚举类
+ * @author mazq
+ * @date 2021/7/9
+ */
+public enum SubObjTypeEnum{
+
+    /**
+     * 主客体类型枚举类
+     */
+    SUB_USER("主体-人员","SUB_USER"),
+    SUB_APP("主体-应用","SUB_APP"),
+    SUB_ORG("主体-机构","SUB_ORG"),
+    OBJ_APP_FUN("客体-应用和功能","OBJ_APP_FUN"),
+    OBJ_SERVICE("客体-服务","OBJ_SERVICE"),
+    OBJ_DATA("客体-数据资源","OBJ_DATA");
+
+    private String label;
+    private String code;
+
+    SubObjTypeEnum(String label, String code) {
+        this.label = label;
+        this.code = code;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+}

+ 2 - 2
dcuc-auth-service/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dcuc-auth</artifactId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.3.2-tjdsj-SNAPSHOT</version>
+        <version>2.3.3-tjdsj-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dcuc-auth-service</artifactId>
@@ -59,7 +59,7 @@
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-app-api</artifactId>
-            <version>2.2.1-tjdsj-SNAPSHOT</version>
+            <version>2.2.2-tjdsj-SNAPSHOT</version>
         </dependency>
 
         <dependency>

+ 2 - 2
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/business/impl/AuthAprResultBusiness.java

@@ -3,7 +3,7 @@ package com.dragoninfo.dcuc.auth.auth.business.impl;
 import cn.hutool.core.util.StrUtil;
 import com.dragoninfo.dcuc.auth.auth.business.IAuthAprResultBusiness;
 import com.dragoninfo.dcuc.auth.auth.dto.WorkFlowResutlAcceptDTO;
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunApply;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunApplyContent;
 import com.dragoninfo.dcuc.auth.auth.entity.WorkFlow;
 import com.dragoninfo.dcuc.auth.auth.enumresources.WorkFlowStatusEnum;
 import com.dragoninfo.dcuc.auth.auth.enumresources.WorkFlowTypeEnum;
@@ -62,7 +62,7 @@ public class AuthAprResultBusiness implements IAuthAprResultBusiness {
         String workFlowType = arr[1];
         //处理服务授权结果
         if(WorkFlowTypeEnum.APP_FUN_AUTH.getValue().equals(workFlowType)) {
-            List<AppFunApply> applyInfos = appFunAuthApplyService.getByAuthApplyId(flow.getId());
+            List<AppFunApplyContent> applyInfos = appFunAuthApplyService.getByAuthApplyId(flow.getId());
             appFunAuthResultService.dealAuthFlowResult(flow, applyInfos);
         } else if(WorkFlowTypeEnum.SERVICE_AUTH.getValue().equals(workFlowType) ||
                 WorkFlowTypeEnum.SERVICE_AUTH_CANCEL.getValue().equals(workFlowType)) {

+ 27 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/AppFunInfoFacade.java

@@ -1,5 +1,7 @@
 package com.dragoninfo.dcuc.auth.auth.facade;
 
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunInfoDTO;
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunTreeDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.AppResourcesDto;
 import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.auth.service.IAppFunInfoService;
@@ -109,7 +111,7 @@ public class AppFunInfoFacade implements IAppFunInfoFacade {
                 .collect(Collectors.toList());
 
         //已存在的菜单资源
-        List<AppFunInfo> existFunInfoList = iAppFunInfoService.getbyAppIds(appIds);
+        List<AppFunInfo> existFunInfoList = iAppFunInfoService.getByAppIds(appIds);
         //key:appId  value:app对应菜单的code集合Set
         Map<String, Set<String>> existFunCodesSetMap = null;
         List<AppFunInfo> stopList = null;
@@ -207,6 +209,30 @@ public class AppFunInfoFacade implements IAppFunInfoFacade {
         return iAppFunInfoService.deleteById(id);
     }
 
+    @Override
+    public List<AppFunInfoDTO> getByAppIds(List<String> appIds) {
+        List<AppFunInfo> funInfos = iAppFunInfoService.getByAppIds(appIds);
+        return funInfos.stream().map(item -> {
+            AppFunInfoDTO dto = new AppFunInfoDTO();
+            BeanUtils.copyProperties(item, dto);
+            return dto;
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<AppFunInfoDTO> getByAppId(String appId) {
+        List<AppFunInfo> funInfos = iAppFunInfoService.getByAppId(appId);
+        return funInfos.stream().map(item -> {
+            AppFunInfoDTO dto = new AppFunInfoDTO();
+            BeanUtils.copyProperties(item, dto);
+            return dto;
+        }).collect(Collectors.toList());    }
+
+    @Override
+    public List<AppFunTreeDTO> allMenuTree() {
+       return iAppFunInfoService.allMenuTree();
+    }
+
 
     /**
      * 找到需要停用的功能

+ 37 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/FunAuthResultFacade.java

@@ -0,0 +1,37 @@
+package com.dragoninfo.dcuc.auth.auth.facade;
+
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunAuthResultDTO;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunAuthResult;
+import com.dragoninfo.dcuc.auth.auth.service.IAppFunAuthResultService;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import com.dragonsoft.duceap.core.search.Searchable;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author mazq
+ * @date 2021/7/9
+ */
+@RestController
+@RequestMapping(value = "/dcuc/auth/funAuthResultFacade")
+public class FunAuthResultFacade implements IFunAuthResultFacade{
+
+    @Autowired
+    private IAppFunAuthResultService funAuthResultService;
+
+    @Override
+    public List<AppFunAuthResultDTO> findList(SearchDTO searchDTO) {
+        List<AppFunAuthResult> resultList = funAuthResultService.findList(Searchable.toSearchable(searchDTO));
+
+        return resultList.stream().map(item -> {
+            AppFunAuthResultDTO dto = new AppFunAuthResultDTO();
+            BeanUtils.copyProperties(item, dto);
+            return dto;
+        }).collect(Collectors.toList());
+    }
+}

+ 2 - 2
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/repo/AppFunApplyRepository.java

@@ -1,6 +1,6 @@
 package com.dragoninfo.dcuc.auth.auth.repo;
 
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunApply;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunApplyContent;
 import com.dragonsoft.duceap.core.persistent.repository.BaseRepository;
 import org.springframework.stereotype.Repository;
 
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository;
  * @date 2021/7/8
  */
 @Repository
-public interface AppFunApplyRepository extends BaseRepository<AppFunApply,String> {
+public interface AppFunApplyRepository extends BaseRepository<AppFunApplyContent,String> {
 
 
 

+ 2 - 2
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAppFunAuthApplyService.java

@@ -1,7 +1,7 @@
 package com.dragoninfo.dcuc.auth.auth.service;
 
 import com.dragoninfo.dcuc.auth.auth.dto.AppFunAuthResourceDTO;
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunApply;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunApplyContent;
 import com.dragoninfo.dcuc.auth.auth.entity.WorkFlow;
 
 import java.util.List;
@@ -25,5 +25,5 @@ public interface IAppFunAuthApplyService {
      * @param applyId
      * @return
      */
-    List<AppFunApply> getByAuthApplyId(String applyId);
+    List<AppFunApplyContent> getByAuthApplyId(String applyId);
 }

+ 9 - 2
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAppFunAuthResultService.java

@@ -1,6 +1,6 @@
 package com.dragoninfo.dcuc.auth.auth.service;
 
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunApply;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunApplyContent;
 import com.dragoninfo.dcuc.auth.auth.entity.AppFunAuthResult;
 import com.dragoninfo.dcuc.auth.auth.entity.WorkFlow;
 import com.dragonsoft.duceap.core.search.Searchable;
@@ -19,7 +19,7 @@ public interface IAppFunAuthResultService {
      * @param flow
      * @param applyInfos
      */
-    void dealAuthFlowResult(WorkFlow flow, List<AppFunApply> applyInfos);
+    void dealAuthFlowResult(WorkFlow flow, List<AppFunApplyContent> applyInfos);
 
     /**
      * 保存授权结果
@@ -33,4 +33,11 @@ public interface IAppFunAuthResultService {
      * @return
      */
     List<AppFunAuthResult> getResultList(Searchable searchable);
+
+    /**
+     * 条件查询
+     * @param searchable
+     * @return
+     */
+    List<AppFunAuthResult> findList(Searchable searchable);
 }

+ 16 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/IAppFunInfoService.java

@@ -1,5 +1,6 @@
 package com.dragoninfo.dcuc.auth.auth.service;
 
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunTreeDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.AppResourcesDto;
 import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.auth.vo.AppFunInfoVo;
@@ -65,7 +66,7 @@ public interface IAppFunInfoService extends IOldBaseService<AppFunInfo, String>
      * @param appIds
      * @return
      */
-    List<AppFunInfo> getbyAppIds(List<String> appIds);
+    List<AppFunInfo> getByAppIds(List<String> appIds);
 
     /**
      * 功能详情
@@ -106,4 +107,18 @@ public interface IAppFunInfoService extends IOldBaseService<AppFunInfo, String>
      * @return
      */
     ResponseStatus deleteById(String id);
+
+    /**
+     * 根据应用id获取功能列表
+     * @param appId
+     * @return
+     */
+    List<AppFunInfo> getByAppId(String appId);
+
+    /**
+     * 获取所有应用功能-树结构
+     * @return
+     */
+    List<AppFunTreeDTO> allMenuTree();
+
 }

+ 13 - 13
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AppFunAuthApplyServiceImpl.java

@@ -3,7 +3,7 @@ package com.dragoninfo.dcuc.auth.auth.service.impl;
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
 import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
 import com.dragoninfo.dcuc.auth.auth.dto.AppFunAuthResourceDTO;
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunApply;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunApplyContent;
 import com.dragoninfo.dcuc.auth.auth.entity.WorkFlow;
 import com.dragoninfo.dcuc.auth.auth.repo.AppFunApplyRepository;
 import com.dragoninfo.dcuc.auth.auth.service.IAppFunAuthApplyService;
@@ -54,25 +54,25 @@ public class AppFunAuthApplyServiceImpl implements IAppFunAuthApplyService {
             if(null == applyInfo) {
                 continue;
             }
-            AppFunApply appFunApply = new AppFunApply();
-            appFunApply.setAppCode(applyInfo.getApplyCode());
-            appFunApply.setAppId(appId);
-            appFunApply.setAppName(applyInfo.getApplyName());
-            appFunApply.setFunCodes(resourceDTO.getFunCodes());
-            appFunApply.setFunNames(resourceDTO.getFunNames());
-            appFunApply.setAuthApplyId(workFlow.getId());
+            AppFunApplyContent applyContent = new AppFunApplyContent();
+            applyContent.setAppCode(applyInfo.getApplyCode());
+            applyContent.setAppId(appId);
+            applyContent.setAppName(applyInfo.getApplyName());
+            applyContent.setFunCodes(resourceDTO.getFunCodes());
+            applyContent.setFunNames(resourceDTO.getFunNames());
+            applyContent.setAuthApplyId(workFlow.getId());
             if(null != userInfo) {
-                appFunApply.setUserId(userInfo.getId());
+                applyContent.setUserId(userInfo.getId());
             }
-            applyRepository.save(appFunApply);
+            applyRepository.save(applyContent);
         }
     }
 
     @Override
-    public List<AppFunApply> getByAuthApplyId(String applyId) {
-        AppFunApply query = new AppFunApply();
+    public List<AppFunApplyContent> getByAuthApplyId(String applyId) {
+        AppFunApplyContent query = new AppFunApplyContent();
         query.setAuthApplyId(applyId);
-        Example<AppFunApply> example = Example.of(query);
+        Example<AppFunApplyContent> example = Example.of(query);
         return applyRepository.findAll(example);
     }
 }

+ 12 - 7
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AppFunAuthResultServiceImpl.java

@@ -1,6 +1,6 @@
 package com.dragoninfo.dcuc.auth.auth.service.impl;
 
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunApply;
+import com.dragoninfo.dcuc.auth.auth.entity.AppFunApplyContent;
 import com.dragoninfo.dcuc.auth.auth.entity.AppFunAuthResult;
 import com.dragoninfo.dcuc.auth.auth.entity.WorkFlow;
 import com.dragoninfo.dcuc.auth.auth.enumresources.AuthStatusEnum;
@@ -31,7 +31,7 @@ public class AppFunAuthResultServiceImpl implements IAppFunAuthResultService {
     AppFunAuthResultRepository authResultRepository;
 
     @Override
-    public void dealAuthFlowResult(WorkFlow flow, List<AppFunApply> applyInfos) {
+    public void dealAuthFlowResult(WorkFlow flow, List<AppFunApplyContent> applyInfos) {
         if(WorkFlowStatusEnum.SUCCESS.getValue().equals(flow.getFlowStatus())) {
             if(WorkFlowTypeEnum.APP_FUN_AUTH.getValue().equals(flow.getFlowType())) {
                 approvalResult(flow, applyInfos);
@@ -41,15 +41,15 @@ public class AppFunAuthResultServiceImpl implements IAppFunAuthResultService {
         }
     }
 
-    private void cancelResult(WorkFlow flow, List<AppFunApply> applyInfos) {
+    private void cancelResult(WorkFlow flow, List<AppFunApplyContent> applyInfos) {
 
     }
 
-    private void approvalResult(WorkFlow flow, List<AppFunApply> applyInfos) {
+    private void approvalResult(WorkFlow flow, List<AppFunApplyContent> applyInfos) {
         if(CollectionUtils.isEmpty(applyInfos)) {
             return;
         }
-        for (AppFunApply applyInfo : applyInfos) {
+        for (AppFunApplyContent applyInfo : applyInfos) {
             String userId = applyInfo.getUserId();
             String appId = applyInfo.getAppId();
             Searchable searchable = Searchable.newSearchable();
@@ -64,7 +64,7 @@ public class AppFunAuthResultServiceImpl implements IAppFunAuthResultService {
 
     }
 
-    private void delAuthExist(AppFunApply applyInfo, Map<String, AppFunAuthResult> resultMap) {
+    private void delAuthExist(AppFunApplyContent applyInfo, Map<String, AppFunAuthResult> resultMap) {
         String funCodes = applyInfo.getFunCodes();
         List<String> applyFunCodes = Arrays.asList(funCodes.split(","));
         Set<String> existFunCodes = resultMap.keySet();
@@ -77,7 +77,7 @@ public class AppFunAuthResultServiceImpl implements IAppFunAuthResultService {
 
     }
 
-    private void addAuthApply(WorkFlow flow, AppFunApply applyInfo, Map<String, AppFunAuthResult> resultMap) {
+    private void addAuthApply(WorkFlow flow, AppFunApplyContent applyInfo, Map<String, AppFunAuthResult> resultMap) {
         Set<String> existFunCodes = resultMap.keySet();
         String userId = applyInfo.getUserId();
         String appId = applyInfo.getAppId();
@@ -134,4 +134,9 @@ public class AppFunAuthResultServiceImpl implements IAppFunAuthResultService {
     public List<AppFunAuthResult> getResultList(Searchable searchable) {
        return authResultRepository.findAll(searchable);
     }
+
+    @Override
+    public List<AppFunAuthResult> findList(Searchable searchable) {
+        return authResultRepository.findAll(searchable);
+    }
 }

+ 108 - 2
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/service/impl/AppFunInfoService.java

@@ -1,8 +1,10 @@
 package com.dragoninfo.dcuc.auth.auth.service.impl;
 
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
+import com.dragoninfo.dcuc.app.enumresources.ResourceTypeEnum;
 import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
 import com.dragoninfo.dcuc.auth.auth.bpo.AppFunInfoBPO;
+import com.dragoninfo.dcuc.auth.auth.dto.AppFunTreeDTO;
 import com.dragoninfo.dcuc.auth.auth.dto.AppResourcesDto;
 import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.auth.enumresources.DesignSecureTypeEnum;
@@ -64,11 +66,15 @@ public class AppFunInfoService extends BaseService<AppFunInfo, String> implement
      */
     @Override
     public List<TreeInfoVO> getMenuTreeList(String applicationId) {
-        List<TreeInfoVO> menuInfoList = new ArrayList<TreeInfoVO>();
         TreeInfoVO rootTreeInfo = new TreeInfoVO();//顶级节点对象
 
         List<AppFunInfo> menuList = appFunInfoBPO.getMenuList(applicationId);
+        return getTreeInfoVOS(menuList);
+    }
+
+    private List<TreeInfoVO> getTreeInfoVOS(List<AppFunInfo> menuList) {
         if (null == menuList || menuList.size() == 0) return null;
+        List<TreeInfoVO> menuInfoList = new ArrayList<TreeInfoVO>();
         String rootId = "";//顶级节点id
         for (AppFunInfo menuInfo : menuList) {
             TreeInfoVO treeInfoVo = new TreeInfoVO();
@@ -243,7 +249,7 @@ public class AppFunInfoService extends BaseService<AppFunInfo, String> implement
     }
 
     @Override
-    public List<AppFunInfo> getbyAppIds(List<String> appIds) {
+    public List<AppFunInfo> getByAppIds(List<String> appIds) {
         Searchable searchable = Searchable.newSearchable();
         searchable.addSearchFilter("app_id",SearchOperator.in,appIds);
         searchable.addSearchFilter("is_active",SearchOperator.eq, BooleanEnum.TRUE.getValue());
@@ -412,6 +418,106 @@ public class AppFunInfoService extends BaseService<AppFunInfo, String> implement
         return delByAppIdAndfunCode(appFunInfo.getCode(), applyInfo.getApplyCode());
     }
 
+    @Override
+    public List<AppFunInfo> getByAppId(String appId) {
+        Searchable searchable = Searchable.newSearchable();
+        searchable.addSearchFilter("app_id",SearchOperator.eq,appId);
+        searchable.addSearchFilter("is_active",SearchOperator.eq, BooleanEnum.TRUE.getValue());
+        return appFunInfoBPO.find(AppFunInfo.class, searchable);
+    }
+
+    @Override
+    public List<AppFunTreeDTO> allMenuTree() {
+        List<AppFunInfo> allFunList = appFunInfoBPO.findAll();
+        Map<String, List<AppFunInfo>> funAppIdMap = allFunList.stream()
+                .collect(Collectors.groupingBy(AppFunInfo::getAppId));
+        List<String> appIds = allFunList.stream()
+                .map(AppFunInfo::getAppId).distinct()
+                .collect(Collectors.toList());
+        List<ApplyInfo> appInfos = applyInfoFacade.getAppById(appIds);
+        Map<String, ApplyInfo> appInfoMap = appInfos
+                .stream()
+                .collect(Collectors.toMap(ApplyInfo::getId, item -> item, (old, last) -> last));
+        List<AppFunTreeDTO> trees = new ArrayList<>();
+        for (Map.Entry<String, List<AppFunInfo>> entry : funAppIdMap.entrySet()) {
+            String appId = entry.getKey();
+            List<AppFunInfo> funList = entry.getValue();
+            Map<String, AppFunInfo> funCodeMap = funList.stream()
+                    .collect(Collectors.toMap(AppFunInfo::getCode, item -> item, (old, last) -> last));
+            ApplyInfo applyInfo = appInfoMap.get(appId);
+            if(null == applyInfo) {
+                continue;
+            }
+            AppFunTreeDTO appNode = new AppFunTreeDTO();
+            appNode.setId(applyInfo.getId());
+            appNode.setCode(applyInfo.getApplyCode());
+            appNode.setLabel(applyInfo.getApplyName());
+            appNode.setType(ResourceTypeEnum.TJ_APP.getResourceType());
+            appNode.setIsTreeNode(true);
+            List<AppFunTreeDTO> funNodes = funList.stream().map(item -> {
+                AppFunTreeDTO treeDTO = new AppFunTreeDTO();
+                treeDTO.setId(item.getId());
+                treeDTO.setLabel(item.getName());
+                treeDTO.setCode(item.getCode());
+                treeDTO.setType(ResourceTypeEnum.TJ_APP_MENU.getResourceType());
+                String parentId = item.getParentId();
+                if (StringUtils.isNotBlank(parentId)) {
+                    AppFunInfo appFunInfo = funCodeMap.get(parentId);
+                    if (null != appFunInfo) {
+                        treeDTO.setPid(appFunInfo.getId());
+                    }
+                }
+                return treeDTO;
+            }).collect(Collectors.toList());
+            List<AppFunTreeDTO> appFunTreeDTOS = convertNodeToTree(funNodes);
+            appFunTreeDTOS.forEach(item->item.setPid(appId));
+            appNode.setChild(appFunTreeDTOS);
+            trees.add(appNode);
+        }
+        return trees;
+    }
+
+    /**
+     * 将节点转为树结构
+     * @param treeNodes
+     * @return
+     */
+    private List<AppFunTreeDTO> convertNodeToTree(List<AppFunTreeDTO> treeNodes) {
+        Map<Boolean, List<AppFunTreeDTO>> collect = treeNodes.stream()
+                .collect(Collectors.partitioningBy(item -> StringUtils.isBlank(item.getPid())));
+        List<AppFunTreeDTO> topNodes = collect.get(Boolean.TRUE);
+        List<AppFunTreeDTO> underNodes = collect.get(Boolean.FALSE);
+        Map<String, List<AppFunTreeDTO>> pidMap = underNodes.stream()
+                .collect(Collectors.groupingBy(AppFunTreeDTO::getPid));
+        innerConvertToTree(topNodes, pidMap);
+        return topNodes;
+    }
+
+    /**
+     * 递归将子节点转为树结构
+     * @param topNodes
+     * @param pidMap
+     */
+    private void innerConvertToTree(List<AppFunTreeDTO> topNodes, Map<String, List<AppFunTreeDTO>> pidMap) {
+        for (AppFunTreeDTO topNode : topNodes) {
+            String topNodeId = topNode.getId();
+            List<AppFunTreeDTO> childList = pidMap.get(topNodeId);
+            if(CollectionUtils.isNotEmpty(childList)) {
+                innerConvertToTree(childList, pidMap);
+                topNode.setChild(childList);
+                topNode.setIsTreeNode(true);
+            }else {
+                topNode.setIsTreeNode(false);
+                //前端要求放入空集合,不能是null
+                topNode.setChild(new ArrayList<>());
+            }
+        }
+    }
+
+
+
+
+
     /**
      * 构建服务资源数组
      * @param inputStream

+ 25 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/business/impl/SubSyncBusiness.java

@@ -1,6 +1,7 @@
 package com.dragoninfo.dcuc.auth.sub.business.impl;
 
 
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -16,6 +17,7 @@ import com.dragoninfo.dcuc.auth.sub.service.IAuthOrgInfoService;
 import com.dragoninfo.dcuc.auth.sub.service.IAuthOrgOriginalDataService;
 import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
 import com.dragoninfo.dcuc.auth.sub.service.IAuthUserOriginalDataService;
+import com.dragoninfo.dcuc.common.Constants;
 import com.dragoninfo.dcuc.common.http.HttpUtil;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
@@ -32,7 +34,11 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
@@ -132,6 +138,25 @@ public class SubSyncBusiness implements ISubSyncBusiness {
         List<Header> headers = new ArrayList<>();
         BasicHeader appCodeHeader = new BasicHeader("appCode",config.getAppCode());
         BasicHeader idcardHeader = new BasicHeader("idcard", idcard);
+        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+        String userToken = "";
+        String appToken = "";
+        if (requestAttributes != null) {
+            ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
+            HttpServletRequest request = servletRequestAttributes.getRequest();
+            userToken = request.getHeader(Constants.USER_TOKEN);
+            appToken = request.getHeader(Constants.APP_TOKEN);
+        }
+        logger.info("getHeaders >>> request userToken:{},appToken:{}", userToken, appToken);
+        if (StrUtil.isNotBlank(userToken)) {
+            Header busSreTokenHeader = new BasicHeader("bus_sre_token", userToken);
+            headers.add(busSreTokenHeader);
+        }
+
+        if (StrUtil.isNotBlank(appToken)) {
+            Header busSraTokenHeader = new BasicHeader("bus_sra_token", appToken);
+            headers.add(busSraTokenHeader);
+        }
         headers.add(appCodeHeader);
         headers.add(idcardHeader);
         return headers;

+ 26 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/AuthUserInfoFacade.java

@@ -5,13 +5,19 @@ import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
 import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+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.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 @RestController
 @RequestMapping(value = "/dcuc/auth/authUserInfoFacade")
 public class AuthUserInfoFacade implements IAuthUserInfoFacade {
@@ -52,4 +58,24 @@ public class AuthUserInfoFacade implements IAuthUserInfoFacade {
     public void delete(String id) {
         userInfoService.delete(id);
     }
+
+    @Override
+    public List<AuthUserDTO> findList(SearchDTO searchDTO) {
+        List<AuthUserInfo> userInfos = userInfoService.findList(searchDTO);
+        return userInfos.stream().map(item -> {
+            AuthUserDTO authUserDTO = new AuthUserDTO();
+            BeanUtils.copyProperties(item, authUserDTO);
+            return authUserDTO;
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<AuthUserDTO> findByIds(List<String> userIds) {
+        if(CollectionUtils.isEmpty(userIds)) {
+            return new ArrayList<>();
+        }
+        Searchable searchable = Searchable.newSearchable();
+        searchable.addSearchFilter("id", SearchOperator.in, userIds);
+        return findList(searchable.toSearchDTO());
+    }
 }

+ 8 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/service/IAuthUserInfoService.java

@@ -3,6 +3,7 @@ package com.dragoninfo.dcuc.auth.sub.service;
 import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
 import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.core.search.Searchable;
 import org.springframework.data.domain.Page;
 
@@ -24,6 +25,7 @@ public interface IAuthUserInfoService {
     AuthUserInfo findByIdcard(String idcard);
 
     /**
+     * 根据id查询
      * @param id
      * @return
      */
@@ -81,4 +83,10 @@ public interface IAuthUserInfoService {
      */
     List<AuthUserInfo> findAll();
 
+    /**
+     * 列表查询
+     * @param searchDTO
+     * @return
+     */
+    List<AuthUserInfo> findList(SearchDTO searchDTO);
 }

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

@@ -14,6 +14,7 @@ import com.dragoninfo.dcuc.duceap.upload.dto.DocContentDTO;
 import com.dragoninfo.dcuc.user.user.enumresources.UserTypeEnum;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.metadata.CodeRecord;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
 import com.dragonsoft.duceap.commons.util.string.StringUtils;
@@ -167,6 +168,11 @@ public class AuthUserInfoService implements IAuthUserInfoService {
         return userInfoRepository.findAll();
     }
 
+    @Override
+    public List<AuthUserInfo> findList(SearchDTO searchDTO) {
+       return userInfoRepository.findAll(Searchable.toSearchable(searchDTO));
+    }
+
     private void saveImport(List<ExcelImpUserInfo> list) {
         list.forEach(item->{
             AuthUserInfo authUserInfo = new AuthUserInfo();

+ 4 - 0
dcuc-auth-service/src/main/resources/config/sql/V4_3_0014__Add_Org_Id.sql

@@ -0,0 +1,4 @@
+-- 新增orgId字段
+ALTER TABLE "T_AUTH_USER_INFO" ADD "ORG_ID" VARCHAR2(32) DEFAULT NULL AFTER `POLICE_NUMBER`;
+-- orgId字段数据处理 手动处理 数据量大
+-- UPDATE "T_AUTH_USER_INFO" u INNER JOIN "T_AUTH_ORG_INFO" o ON u.ORG_CODE = o.CODE SET u.ORG_ID = o.ID;

+ 2 - 2
pom.xml

@@ -4,7 +4,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.dragoninfo</groupId>
-    <version>2.3.2-tjdsj-SNAPSHOT</version>
+    <version>2.3.3-tjdsj-SNAPSHOT</version>
     <artifactId>dcuc-auth</artifactId>
     <packaging>pom</packaging>
     <modules>
@@ -18,7 +18,7 @@
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <!--revisions需写死,用于标识打包的版本号,不可删除-->
-        <revision>2.3.2-tjdsj-SNAPSHOT</revision>
+        <revision>2.3.3-tjdsj-SNAPSHOT</revision>
         <duceap.version>2.1.0-SNAPSHOT</duceap.version>
         <oracle.version>11.2.0.1.0</oracle.version>
         <mysql.version>5.1.49</mysql.version>