Эх сурвалжийг харах

feature(人员机构关系改造): 人员机构关系改造

马志强 3 жил өмнө
parent
commit
f7a3a69223
100 өөрчлөгдсөн 6908 нэмэгдсэн , 392 устгасан
  1. 4 1
      README.md
  2. 1 1
      dcuc-auth-api/pom.xml
  3. 51 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/IAppMtAuthFacade.java
  4. 200 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/IManageInfoFacade.java
  5. 69 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/IMgeLogFacade.java
  6. 40 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/ITempMtAuthFacade.java
  7. 1 3
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/audit/facade/IAuthenticationLogFacade.java
  8. 28 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IAuthMenuFacade.java
  9. 4 20
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IRoleAuthInfoFacade.java
  10. 26 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IRoleFacade.java
  11. 9 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IRoleInfoFacade.java
  12. 7 7
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IServiceAuthFlowFacade.java
  13. 110 109
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IStaffAssignAuthInfoFacade.java
  14. 1 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAttrFacade.java
  15. 1 1
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAuthOrgInfoFacade.java
  16. 45 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAuthUserInfoFacade.java
  17. 0 29
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/ISubSyncFacade.java
  18. 62 0
      dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IUserCenterApiFacade.java
  19. 1 1
      dcuc-auth-model/pom.xml
  20. 28 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/dto/ManageInfoDTO.java
  21. 48 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/dto/MgeLogDTO.java
  22. 50 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/AppMtAuth.java
  23. 63 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/ManageInfo.java
  24. 46 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/MenuMtAuth.java
  25. 64 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/MgeLog.java
  26. 40 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/TempMenuAuth.java
  27. 54 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/TempMtAuth.java
  28. 32 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AbnormalTypeEnum.java
  29. 34 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AdminObjectTypeEnum.java
  30. 40 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AdminOperateTypeEnum.java
  31. 44 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AuditLogMergeOperateTypeEnum.java
  32. 50 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/InitMenuEnum.java
  33. 18 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/AdminAuditVO.java
  34. 28 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/ImpParamsVo.java
  35. 52 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/ManageInfoMsg.java
  36. 54 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/ManageNumsVO.java
  37. 103 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/MgeAuditLogVO.java
  38. 38 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/MgeMonitorVO.java
  39. 57 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/NoticeUserVO.java
  40. 28 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/SecurityRight.java
  41. 65 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/AuthMenuDTO.java
  42. 6 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/ServiceAuthFlowDTO.java
  43. 41 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/StaffRoleOperateDTO.java
  44. 26 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/UserRoleAuthInfoDTO.java
  45. 89 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AuthMenuInfo.java
  46. 115 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/ServiceAuthContent.java
  47. 199 199
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/ServiceAuthFlow.java
  48. 4 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/enumresources/WorkFlowSourceEnum.java
  49. 52 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/AdminMgeDto.java
  50. 26 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/AuthUserContactDTO.java
  51. 58 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/DcucUserInfo.java
  52. 16 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/LabelSearchDTO.java
  53. 16 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncApiBaseDTO.java
  54. 14 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncApiDTO.java
  55. 1 5
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncApiPageDTO.java
  56. 18 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/UserCenterResultDTO.java
  57. 43 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/UserEventDTO.java
  58. 41 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/UserListDto.java
  59. 36 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/JobTypeEnum.java
  60. 51 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/CompareVo.java
  61. 29 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelSearchVo.java
  62. 63 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelTreeBaseVO.java
  63. 77 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelTreeVO.java
  64. 170 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelVO.java
  65. 152 0
      dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/UserMgeLogRptVo.java
  66. 8 8
      dcuc-auth-service/pom.xml
  67. 35 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/AppMtAuthBPO.java
  68. 360 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/ManageInfoBPO.java
  69. 55 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/MenuMtAuthBPO.java
  70. 374 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/MgeLogBPO.java
  71. 67 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/MgeMonitorMsgBPO.java
  72. 25 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/TempMenuAuthBPO.java
  73. 31 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/TempMtAuthBPO.java
  74. 40 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/AppMtAuthFacade.java
  75. 151 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/ManageInfoFacade.java
  76. 73 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/MenuMtAuthFacade.java
  77. 69 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/MgeLogFacade.java
  78. 81 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/MgeMonitorFacade.java
  79. 33 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/TempMenuAuthFacade.java
  80. 36 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/TempMtAuthFacade.java
  81. 20 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/AppMtAuthRepository.java
  82. 43 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/ManageInfoRepository.java
  83. 13 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/MgeLogRepository.java
  84. 28 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/TempMtAuthRepository.java
  85. 63 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IAppMtAuthService.java
  86. 150 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IManageInfoService.java
  87. 111 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IMenuMtAuthService.java
  88. 38 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IMgeLogService.java
  89. 35 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IMgeMonitorMsgService.java
  90. 28 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/ITempMenuAuthService.java
  91. 32 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/ITempMtAuthService.java
  92. 167 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/AppMtAuthService.java
  93. 869 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/ManageInfoService.java
  94. 268 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/MenuMtAuthService.java
  95. 282 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/MgeLogService.java
  96. 121 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/MgeMonitorMsgService.java
  97. 63 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/TempMenuAuthService.java
  98. 90 0
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/TempMtAuthService.java
  99. 5 4
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/audit/facade/AuthenticationLogFacade.java
  100. 5 4
      dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/audit/service/AuthenticationLogService.java

+ 4 - 1
README.md

@@ -24,4 +24,7 @@
 ### 2.4.0 
   - 菜单功能自助授权申请模块开发
   - 推送审批服务
-  - 修改审批结果消息监听,新增功能菜单授权处理
+  - 修改审批结果消息监听,新增功能菜单授权处理
+### 2.4.1
+  - 主客体分离
+  - 管理员模块代码规范

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

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

+ 51 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/IAppMtAuthFacade.java

@@ -0,0 +1,51 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(value = "dcuc-auth", path = "/dcuc/auth/appMtAuthFacade")
+public interface IAppMtAuthFacade {
+
+    /**
+     * 通过组织id和相应管理员id保存管理员-机构管理信息
+     *
+     * @param orgIds
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "save")
+    ResponseStatus save(@RequestParam("orgIds") String orgIds, @RequestParam("userId") String userId);
+
+    /**
+     * 查询用户拥有的授权管理范围
+     *
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "mgeAppRightRangeStr")
+    String mgeAppRightRangeStr(@RequestParam("userId") String userId);
+
+//    /**
+//     * 根据管理员userid获取人员管理范围机构列表
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    @RequestMapping(value = "appMtList")
+//    List<AppMtAuth> appMtList(@RequestParam("userId") String userId);
+
+    //    /**
+//     * 根据当前登录用户过滤用户管理范围机构权限
+//     *
+//     * @param userId
+//     * @param orgList
+//     */
+//    @RequestMapping(value = "orgFilter")
+//    List<TreeNodeVo> orgFilter(@RequestParam("orgList") List<TreeNodeVo> orgList, @RequestParam("userId") String userId);
+
+}

+ 200 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/IManageInfoFacade.java

@@ -0,0 +1,200 @@
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+import com.dragoninfo.dcuc.auth.admin.dto.ManageInfoDTO;
+import com.dragoninfo.dcuc.auth.admin.vo.AdminAuditVO;
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Created by Administrator on 2018/5/30.
+ */
+@FeignClient(name = "dcuc-auth", path = "/dcuc/auth/manageInfoFacade")
+public interface IManageInfoFacade {
+
+    /**
+     * 根据机构id非管理员列表
+     * * @param searchable
+     *
+     * @return
+     * @param adminMgeDto
+     */
+    @PostMapping(value = "getUserNotInManage")
+    Page<AuthUserDTO> getUserNotInManage(@RequestBody SearchDTO adminMgeDto);
+
+    /**
+     * 保存管理员信息
+     *
+     * @param userIds
+     * @return
+     */
+    @RequestMapping(value = "saveAdmin")
+    ResponseStatus saveAdmin(@RequestParam("userIds") String userIds);
+
+    /**
+     * 删除管理员信息
+     *
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "deleteAdmin")
+    ResponseStatus deleteAdmin(@RequestParam("userId") String userId);
+
+    /**
+     * 管理员审计列表信息
+     *
+     * @param dto
+     * @return
+     */
+    @PostMapping(value = "adminAuditListByOrgId")
+    Page<AdminAuditVO> adminAuditPage(@RequestBody SearchDTO dto);
+
+
+    /**
+     * 判断是否有权限配置用户的管理范围
+     *
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "havaAuthWithManage")
+    boolean haveAuthWithManage(@RequestParam("userId") String userId);
+
+    /**
+     * 根据用户id获取管理员信息
+     * @param userId
+     * @return
+     */
+    @GetMapping(value = "getManageInfoByUserId")
+    ManageInfoDTO getManageInfoByUserId(@RequestParam("userId") String userId);
+
+    /**
+     * 获取管理范围内的管理员列表
+     *
+     * @param dto
+     * @return
+     */
+    @PostMapping(value = "rightRangeManagerList")
+    Page<AuthUserDTO> rightRangeManagerList(@RequestBody SearchDTO dto);
+
+//    /**
+//     * 注意是直接管理这个机构的管理数量
+//     * 根据机构ids获取管理员的数量  key-value  机构id-管理员数量
+//     *
+//     * @param orgIds
+//     * @return
+//     */
+//    @GetMapping(value = "getMgeNumByOrgIds")
+
+//    Map<String, Long> getMgeNumByOrgIds(@RequestParam("orgIds") Set<String> orgIds, @RequestParam("type") String type);
+
+//    /**
+//     * 根据机构id获取管理员列表
+//     *
+//     * @param searchDTO
+//     * @return
+//     */
+//    @PostMapping(value = "getManageInfoByOrgId")
+//    Page<AuthUserDTO> getManageInfoByOrgId(@RequestBody SearchDTO searchDTO);
+
+
+
+//    @RequestMapping(value = "saveAdminBJ")
+//    ResponseStatus saveAdminBJ(@RequestParam("rootOrgId") String rootOrgId,
+//                               @RequestParam("orgId") String orgId,
+//                               @RequestParam("ids") String ids);
+
+//    /**
+//     * 根据用户id获取管理员信息
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    @RequestMapping(value = "manageInfoByUserId")
+//    ManageInfo manageInfoByUserId(@RequestParam("userId") String userId);
+
+//    /**
+//     * 根据用户id判断是否是管理员
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    @RequestMapping(value = "checkIsManagerByUserId")
+//    Boolean checkIsManagerByUserId(@RequestParam("userId") String userId);
+
+
+//    /**
+//     * 根据设置的天数获取异常的管理员
+//     *
+//     * @param limitDay
+//     * @return
+//     */
+//    @RequestMapping(value = "getAbnormalInfo")
+//    List<MgeMonitorVO> getAbnormalInfo(@RequestParam("limitDay") int limitDay);
+
+//    @RequestMapping(value = "findByPropertyValue")
+//    List<ManageInfo> findByPropertyValue(@RequestParam("var1") String var1,
+//                                         @RequestParam("var2") String var2);
+
+//    /**
+//     * 根据机构ID获取用户管理员相关信息
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    @RequestMapping(value = "getManagerByOrgId")
+//    List<NoticeUserVO> getManagerByOrgId(@RequestParam("orgId") String orgId);
+//
+//    @RequestMapping(value = "getOrgMgeManager")
+//    List<NoticeUserVO> getOrgMgeManager(@RequestParam("orgId") String orgId);
+
+//    /**
+//     * 管理员导入
+//     *
+//     * @param vo
+//     * @return
+//     * @throws NumberFormatException
+//     */
+//    @PostMapping(value = "impManger")
+//    ResponseStatus impManger(@RequestBody ImpParamsVo vo) throws NumberFormatException;
+
+//    /**
+//     * 统计子级机构的各类管理员人数,为空时为统计根节点
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    @RequestMapping(value = "mgeSpreadDtlList")
+//    List<Map<String, String>> mgeSpreadDtlList(@RequestParam("orgId") String orgId);
+
+//    /**
+//     * 统计子级机构的各类管理员人数,为空时为统计根节点
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    @RequestMapping(value = "mgeSpreadDtlListForGD")
+//    List<Map<String, String>> mgeSpreadDtlListForGD(@RequestParam("orgId") String orgId);
+//
+//    @RequestMapping(value = "rightRangeManagerListWithQuery")
+//    Page<AuthUserDTO> rightRangeManagerListWithQuery(@RequestParam("type") String type,
+//                                                  @RequestParam("searchDTO") SearchDTO searchDTO);
+//
+//    @PostMapping(value = "getManageInfoList")
+//    Page<AuthUserDTO> getManageInfoList(@RequestBody SearchDTO searchDTO);
+//
+//    @RequestMapping(value = "exportAdminList")
+//    List<AuthUserDTO> exportAdminList(@RequestParam("orgInfoSets") Set<String> orgInfoSets,
+//                                   @RequestParam("adminLists") List<AuthUserDTO> adminLists);
+
+//    /**
+//     * 管理员搜索,返回List
+//     *
+//     * @param searchDTO
+//     * @return
+//     */
+//    @PostMapping(value = "mgeSearch")
+//    List<ManageInfo> mgeSearch(@RequestBody SearchDTO searchDTO);
+}

+ 69 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/IMgeLogFacade.java

@@ -0,0 +1,69 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+
+import com.dragoninfo.dcuc.auth.admin.dto.MgeLogDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+@FeignClient(name = "dcuc-auth", path = "/dcuc/auth/mgeLogFacade")
+public interface IMgeLogFacade {
+
+//    /**
+//     * 保存操作日志
+//     *
+//     * @param mgeLog
+//     * @return
+//     */
+//    @PostMapping(value = "save")
+//    void save(@RequestBody MgeLog mgeLog);
+
+    /**
+     * 查询审计列表
+     *
+     * @param type
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "queryList")
+    List<MgeLogDTO> queryList(@RequestParam("type") String type,
+                           @RequestParam("userId") String userId);
+//    @PostMapping(value = "findUserMgeLogSummary")
+//    Page<UserMgeLogRptVo> findUserMgeLogSummary(@RequestBody SearchDTO searchDTO);
+
+//    @RequestMapping(value = "getMgeLog")
+//    MgeLog getMgeLog(@RequestParam("id") String id);
+
+    //    /**
+//     * 根据属性查找
+//     *
+//     * @param keyNmae
+//     * @param keyVale
+//     * @return
+//     */
+//    @RequestMapping(value = "findByPropertyValue")
+//    List<MgeLog> findByPropertyValue(@RequestParam("keyNmae") String keyNmae,
+//                                     @RequestParam("keyVale") String keyVale);
+
+//    /**
+//     * 管理员操作记录查询
+//     *
+//     * @param searchDTO
+//     * @return
+//     */
+//    @PostMapping(value = "findPage")
+//    Page<MgeLog> findPage(@RequestBody SearchDTO searchDTO);
+
+    //    /**
+//     * 获取管理员审计报表
+//     *
+//     * @param searchDTO
+//     * @return
+//     */
+//    @PostMapping(value = "findMgeAuditLogReport")
+//    Page<MgeLog> findMgeAuditLogReport(@RequestBody SearchDTO searchDTO);
+}

+ 40 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/ITempMtAuthFacade.java

@@ -0,0 +1,40 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(name = "dcuc-auth", path = "/dcuc/auth/tempMtAuthFacade")
+public interface ITempMtAuthFacade {
+    /**
+     * 查询用户拥有的授权管理范围
+     *
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "mgeTempRightRangeStr")
+    String mgeTempRightRangeStr(@RequestParam("userId") String userId);
+
+    /**
+     * 广东:管理员临时管理范围保存
+     *
+     * @param orgIds
+     * @param userId
+     * @return
+     */
+    @RequestMapping(value = "save")
+    ResponseStatus save(@RequestParam("orgIds") String orgIds, @RequestParam("userId") String userId);
+
+    /**
+     * 检查是否有限授权范围
+     *
+     * @param userIds
+     * @return
+     */
+    @RequestMapping(value = "checkAuth")
+    ResponseStatus checkAuth(@RequestParam("userIds") String userIds);
+}

+ 1 - 3
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/audit/facade/IAuthenticationLogFacade.java

@@ -10,8 +10,6 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.List;
-
 /**
  * @Author: qiuyu
  * @Date: 2021/5/17 11:32
@@ -27,5 +25,5 @@ public interface IAuthenticationLogFacade {
     AuthenticationLogVo findOne(@PathVariable(value = "id") Long id);
 
     @PostMapping(value = "/statistics")
-    List<AuthenticationStatisticsVo> statistics(@RequestBody SearchDTO searchDTO);
+    Page<AuthenticationStatisticsVo> statistics(@RequestBody SearchDTO searchDTO);
 }

+ 28 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IAuthMenuFacade.java

@@ -0,0 +1,28 @@
+package com.dragoninfo.dcuc.auth.auth.facade;
+
+import com.dragoninfo.dcuc.auth.auth.dto.AuthMenuDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+
+/**
+ * 权限菜单资源管理api
+ * @author mazq
+ * @date 2021/8/23
+ */
+@FeignClient(name = "dcuc-auth",path = "/dcuc/auth/IAuthMenuFacade")
+public interface IAuthMenuFacade {
+
+    @GetMapping("getAllMenus")
+    List<AuthMenuDTO> getAllMenus();
+
+    @PostMapping("getMenuByIds")
+    List<AuthMenuDTO> getMenuByIds(@RequestBody List<String> ids);
+
+    @PostMapping("getMenuByCods")
+    List<AuthMenuDTO> getMenuByCods(@RequestBody List<String> appFunCodes);
+}

+ 4 - 20
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IRoleAuthInfoFacade.java

@@ -6,10 +6,7 @@ import com.dragoninfo.dcuc.auth.auth.vo.TreeInfoVO;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.data.domain.Page;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.Map;
@@ -26,25 +23,12 @@ public interface IRoleAuthInfoFacade {
 
     /**
      * 根据应用id和角色id获取勾选人员
-     * @param appId
-     * @param roleId
-     * @return
+     *
      */
-    @RequestMapping(value = "getStaff")
-    List<StaffAssignAuthInfo> getStaff(@RequestParam("appId")String appId,
-                                       @RequestParam("roleId")String roleId,
+    @GetMapping(value = "getStaff")
+    List<StaffAssignAuthInfo> getStaff(@RequestParam("roleId")String roleId,
                                        @RequestParam("orgId")String orgId);
 
-    /**
-     * 根据应用id和用户id获取勾选角色
-     * @param appId 应用id
-     * @param staffId 人员id
-     * @return
-     */
-    @RequestMapping(value = "getRole")
-    List<StaffAssignAuthInfo> getRole(@RequestParam("appId")String appId,
-                                      @RequestParam("staffId")String staffId);
-
     /**
      * 根据应用id和机构id获取角色以及角色配额列表
      * @param appId 应用id

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

@@ -219,4 +219,30 @@ public interface IRoleFacade {
     @RequestMapping(value = "appListByIdcard")
      List<Map<String, String>> appListByIdcard(@RequestParam("idcard") String idcard);
 
+    /**
+     * 根据idcard,appCode获取用户权限列表
+     * @param idcard
+     * @param appCode
+     * @return
+     */
+    @GetMapping("getAuthByIdcardAndAppCode")
+    List<String> getAuthByIdcardAndAppCode(@RequestParam("idcard") String idcard,@RequestParam("appCode") String appCode);
+
+    /**
+     * 根据idcard,appCode获取用户拥有的应用角色列表
+     * @param appCode
+     * @param idcard
+     * @return
+     */
+    @GetMapping("getRolesByAppCodeAndIdcard")
+    ResponseDTO getRolesByAppCodeAndIdcard(@RequestParam("appCode") String appCode,@RequestParam("idcard") String idcard);
+
+    /**
+     * 根据idcard,appCode获取用户拥有的应用权限列表
+     * @param idcard
+     * @param appCode
+     * @return
+     */
+    @GetMapping("getAppAuthByIdcardAndAppCode")
+    List<Map<String, String>> getAppAuthByIdcardAndAppCode(@RequestParam("idcard") String idcard,@RequestParam("appCode") String appCode);
 }

+ 9 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IRoleInfoFacade.java

@@ -196,4 +196,13 @@ public interface IRoleInfoFacade {
      */
     @GetMapping("getRoleInfoByCode")
     RoleInfo getRoleInfoByCode(@RequestParam("roleCode") String roleCode);
+
+    /**
+     * 角色授权模块
+     * 角色视图 角色列表
+     * @param searchDTO
+     * @return
+     */
+    @PostMapping("roleAuthRoleViewPage")
+    Page<RoleInfoVO> roleAuthRoleViewPage(@RequestBody SearchDTO searchDTO);
 }

+ 7 - 7
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IServiceAuthFlowFacade.java

@@ -41,13 +41,13 @@ public interface IServiceAuthFlowFacade {
     @PostMapping(value = "serviceAuthFlowSave")
     ResponseDTO serviceAuthFlowSave(@RequestBody ServiceAuthFlowDTO dto);
 
-    /**
-     * 服务授权工作单审批结果处理
-     *
-     * @param dto
-     */
-    @PostMapping(value = "dealAuthFlow")
-    boolean dealAuthFlowResult(@RequestBody WorkFlowResutlAcceptDTO dto);
+//    /**
+//     * 服务授权工作单审批结果处理
+//     *
+//     * @param dto
+//     */
+//    @PostMapping(value = "dealAuthFlow")
+//    boolean dealAuthFlowResult(@RequestBody WorkFlowResutlAcceptDTO dto);
 
     @PostMapping(value = "getByAppCode")
     List<ServiceAuthResult> getByAppCode(@RequestParam("appCode") String appCode);

+ 110 - 109
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IStaffAssignAuthInfoFacade.java

@@ -1,19 +1,16 @@
 package com.dragoninfo.dcuc.auth.auth.facade;
 
 import com.dragoninfo.dcuc.auth.auth.dto.AppDataSensitiveLevelDTO;
-import com.dragoninfo.dcuc.auth.auth.dto.RoleAuthDto;
 import com.dragoninfo.dcuc.auth.auth.dto.StaffAssignDTO;
+import com.dragoninfo.dcuc.auth.auth.dto.StaffRoleOperateDTO;
 import com.dragoninfo.dcuc.auth.auth.entity.StaffAssignAuthInfo;
-import com.dragoninfo.dcuc.auth.auth.vo.SaveStaffRoleVO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
-import com.dragonsoft.duceap.base.entity.security.SecurityUser;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * Created by Administrator on 2018/11/13.
@@ -41,67 +38,67 @@ public interface IStaffAssignAuthInfoFacade {
 //                                     @RequestParam("user") SecurityUser user);
 
     /**
-     * 人员视图保存用户授权
+     * 角色视图保存用户授权
      *
      * @param dto 保存人员json数据
      * @return
      */
     @PostMapping(value = "saveStaffRoleAuth")
-    ResponseStatus saveStaffRoleAuth(@RequestBody RoleAuthDto dto);
+    ResponseStatus saveStaffRoleAuth(@RequestBody StaffRoleOperateDTO dto);
 
-    /**
-     * 角色视图保存用户授权
-     *
-     * @param roleJson 角色json数据
-     * @param appId    应用id
-     * @param staffId  人员id
-     * @param orgId    机构id
-     * @param appOrgId 应用所属机构id
-     * @param user     当前登录用户
-     * @return ResponseStatus
-     */
-    @RequestMapping(value = "saveRoleStaffAuth1")
-    ResponseStatus saveRoleStaffAuth(@RequestParam("roleJson") String roleJson,
-                                     @RequestParam("appId") String appId,
-                                     @RequestParam("staffId") String staffId,
-                                     @RequestParam("orgId") String orgId,
-                                     @RequestParam("appOrgId") String appOrgId,
-                                     @RequestParam("user") SecurityUser user);
+//    /**
+//     * 角色视图保存用户授权
+//     *
+//     * @param roleJson 角色json数据
+//     * @param appId    应用id
+//     * @param staffId  人员id
+//     * @param orgId    机构id
+//     * @param appOrgId 应用所属机构id
+//     * @param user     当前登录用户
+//     * @return ResponseStatus
+//     */
+//    @RequestMapping(value = "saveRoleStaffAuth1")
+//    ResponseStatus saveRoleStaffAuth(@RequestParam("roleJson") String roleJson,
+//                                     @RequestParam("appId") String appId,
+//                                     @RequestParam("staffId") String staffId,
+//                                     @RequestParam("orgId") String orgId,
+//                                     @RequestParam("appOrgId") String appOrgId,
+//                                     @RequestParam("user") SecurityUser user);
 
-    /**
-     * @param roleJson    保存角色
-     * @param delRoleJson 删除角色
-     * @param appId
-     * @param staffId
-     * @param orgId
-     * @param appOrgId
-     * @param user
-     * @return
-     */
-    @RequestMapping(value = "saveRoleStaffAuth2")
-    ResponseStatus saveRoleStaffAuth(@RequestParam("roleJson") String roleJson,
-                                     @RequestParam("delRoleJson") String delRoleJson,
-                                     @RequestParam("appId") String appId,
-                                     @RequestParam("staffId") String staffId,
-                                     @RequestParam("orgId") String orgId,
-                                     @RequestParam("appOrgId") String appOrgId,
-                                     @RequestParam("user") SecurityUser user);
+//    /**
+//     * @param roleJson    保存角色
+//     * @param delRoleJson 删除角色
+//     * @param appId
+//     * @param staffId
+//     * @param orgId
+//     * @param appOrgId
+//     * @param user
+//     * @return
+//     */
+//    @RequestMapping(value = "saveRoleStaffAuth2")
+//    ResponseStatus saveRoleStaffAuth(@RequestParam("roleJson") String roleJson,
+//                                     @RequestParam("delRoleJson") String delRoleJson,
+//                                     @RequestParam("appId") String appId,
+//                                     @RequestParam("staffId") String staffId,
+//                                     @RequestParam("orgId") String orgId,
+//                                     @RequestParam("appOrgId") String appOrgId,
+//                                     @RequestParam("user") SecurityUser user);
 
-    /**
-     * 角色授权给用户
-     *
-     * @return ResponseStatus
-     */
-    @RequestMapping(value = "saveStaffRole")
-    ResponseStatus saveStaffRole(@RequestBody SaveStaffRoleVO staffRoleVO);
+//    /**
+//     * 角色授权给用户
+//     *
+//     * @return ResponseStatus
+//     */
+//    @RequestMapping(value = "saveStaffRole")
+//    ResponseStatus saveStaffRole(@RequestBody SaveStaffRoleVO staffRoleVO);
 
-    /**
-     * 取消用户的角色授权
-     *
-     * @return ResponseStatus
-     */
-    @PostMapping(value = "deleteStaffRole")
-    ResponseStatus deleteStaffRole(@RequestBody SaveStaffRoleVO staffRoleVO);
+//    /**
+//     * 取消用户的角色授权
+//     *
+//     * @return ResponseStatus
+//     */
+//    @PostMapping(value = "deleteStaffRole")
+//    ResponseStatus deleteStaffRole(@RequestBody SaveStaffRoleVO staffRoleVO);
 
     /**
      * 取消用户的所有角色授权
@@ -113,32 +110,32 @@ public interface IStaffAssignAuthInfoFacade {
     ResponseStatus deleteAllStaffRole(@RequestParam("staffId") String staffId);
 
 
-    /**
-     * 授权到期自动回收监控
-     *
-     * @param user 系统用户
-     */
-    @PostMapping(value = "authMonitor")
-    void authMonitor(@RequestBody SecurityUser user);
+//    /**
+//     * 授权到期自动回收监控
+//     *
+//     * @param user 系统用户
+//     */
+//    @PostMapping(value = "authMonitor")
+//    void authMonitor(@RequestBody SecurityUser user);
 
-    /**
-     * 根据应用代码和用户身份证获取该用户在该应用所拥有的角色
-     *
-     * @param appCode
-     * @param idcard
-     * @return
-     */
-    @RequestMapping(value = "getUserRoles")
-    List<StaffAssignAuthInfo> getUserRoles(@RequestParam("appCode") String appCode,
-                                           @RequestParam("idcard") String idcard);
+//    /**
+//     * 根据应用代码和用户身份证获取该用户在该应用所拥有的角色
+//     *
+//     * @param appCode
+//     * @param idcard
+//     * @return
+//     */
+//    @RequestMapping(value = "getUserRoles")
+//    List<StaffAssignAuthInfo> getUserRoles(@RequestParam("appCode") String appCode,
+//                                           @RequestParam("idcard") String idcard);
 
-    /**
-     * 根据map的条件查询所有数据
-     *
-     * @return
-     */
-    @PostMapping(value = "staffAssignAuthInfoList")
-    List<StaffAssignAuthInfo> staffAssignAuthInfoList(@RequestBody Map map);
+//    /**
+//     * 根据map的条件查询所有数据
+//     *
+//     * @return
+//     */
+//    @PostMapping(value = "staffAssignAuthInfoList")
+//    List<StaffAssignAuthInfo> staffAssignAuthInfoList(@RequestBody Map map);
 
     /**
      * 查询列表
@@ -158,7 +155,11 @@ public interface IStaffAssignAuthInfoFacade {
     @PostMapping(value = "findForList")
     List<StaffAssignAuthInfo> findForList(@RequestBody SearchDTO searchDTO);
 
-    //户政 人员视图-角色勾选保存
+    /**
+     * 人员视图-角色勾选保存
+     * @param dto
+     * @return
+     */
     @PostMapping(value = "saveStaff")
     ResponseStatus saveStaff(@RequestBody StaffAssignDTO dto);
 
@@ -171,35 +172,35 @@ public interface IStaffAssignAuthInfoFacade {
     @GetMapping("getByStaffId")
     List<StaffAssignAuthInfo> getByStaffId(@RequestParam("staffId") String staffId);
 
-    /**
-     * 根据应用ID获取授权数量
-     *
-     * @param appId 应用ID
-     * @return 授权人员数量
-     */
-    @GetMapping("getAppIdNumber")
-    Integer getAppIdNumber(@RequestParam("appId") String appId);
-
-    /**
-     * 根据机构ID获取授权数量
-     *
-     * @param orgId  机构ID
-     * @param roleId 角色ID
-     * @return 授权人员数量
-     */
-    @GetMapping("getOrgIdRoleIdNumber")
-    Integer getOrgIdRoleIdNumber(@RequestParam("orgId") String orgId, @RequestParam("roleId") String roleId);
-
+//    /**
+//     * 根据应用ID获取授权数量
+//     *
+//     * @param appId 应用ID
+//     * @return 授权人员数量
+//     */
+//    @GetMapping("getAppIdNumber")
+//    Integer getAppIdNumber(@RequestParam("appId") String appId);
 
-    /**
-     * 根据功能ID获取授权数量
-     *
-     * @param appId  应用ID
-     * @param funcId 功能ID
-     * @return 授权人员数量
-     */
-    @GetMapping("getFuncNumber")
-    Integer getFuncNumber(@RequestParam("appId") String appId, @RequestParam("funcId") String funcId);
+//    /**
+//     * 根据机构ID获取授权数量
+//     *
+//     * @param orgId  机构ID
+//     * @param roleId 角色ID
+//     * @return 授权人员数量
+//     */
+//    @GetMapping("getOrgIdRoleIdNumber")
+//    Integer getOrgIdRoleIdNumber(@RequestParam("orgId") String orgId, @RequestParam("roleId") String roleId);
+//
+//
+//    /**
+//     * 根据功能ID获取授权数量
+//     *
+//     * @param appId  应用ID
+//     * @param funcId 功能ID
+//     * @return 授权人员数量
+//     */
+//    @GetMapping("getFuncNumber")
+//    Integer getFuncNumber(@RequestParam("appId") String appId, @RequestParam("funcId") String funcId);
 
     /**
      * 根据用户 ID 获取应用列表

+ 1 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAttrFacade.java

@@ -69,6 +69,7 @@ public interface IAttrFacade {
                               @RequestParam("attrBelongType") String attrBelongType);
 
     /**
+     * 返回applyInfo对象
      * 查询属性关联的应用列表
      * @param dto
      * @return

+ 1 - 1
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IAuthOrgInfoFacade.java

@@ -65,5 +65,5 @@ public interface IAuthOrgInfoFacade {
      * @return
      */
     @GetMapping("orgMatch")
-    ResponseDTO orgMatch(@RequestParam("name") String name,@RequestParam("pageNum") Integer pageNum,@RequestParam("pageSize") Integer pageSize);
+    ResponseDTO<List<AuthOrgDTO>> orgMatch(@RequestParam("name") String name,@RequestParam("pageNum") Integer pageNum,@RequestParam("pageSize") Integer pageSize);
 }

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

@@ -1,5 +1,6 @@
 package com.dragoninfo.dcuc.auth.sub.facade;
 
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserContactDTO;
 import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.search.SearchDTO;
@@ -85,4 +86,48 @@ public interface IAuthUserInfoFacade {
      */
     @PostMapping("findByIdcards")
     List<AuthUserDTO> findByIdcards(@RequestBody List<String> idcards);
+
+    /**
+     * 判断是否是ADMIN ID
+     * @param id
+     * @return
+     */
+    @GetMapping("isRootUser")
+    Boolean isRootUser(@RequestParam("id") String id);
+
+    /**
+     * 获取ADMIN 用户id
+     * @return
+     */
+    @GetMapping("getRootUserId")
+    String getRootUserId();
+
+    /**
+     * 角色授权模块
+     * 人员视图-人员列表查询
+     * @param searchDTO
+     * @return
+     */
+    @PostMapping("roleAuthUserViewPage")
+    Page<AuthUserDTO> roleAuthUserViewPage(@RequestBody SearchDTO searchDTO);
+
+    /**
+     * 角色授权模块
+     * 角色视图-人员列表查询
+     * roleId必填
+     * orgId必填
+     * @param searchDTO
+     * @return
+     */
+    @PostMapping("roleAuthRoleViewPage")
+    Page<AuthUserDTO> roleAuthRoleViewPage(@RequestBody SearchDTO searchDTO);
+
+    /**
+     * 根据身份证号获取用户信息
+     * 包括联系方式信息
+     * @param idcard
+     * @return
+     */
+    @GetMapping("getUserWithContactByIdcard")
+    AuthUserContactDTO getUserWithContactByIdcard(@RequestParam("idcard") String idcard);
 }

+ 0 - 29
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/ISubSyncFacade.java

@@ -1,29 +0,0 @@
-package com.dragoninfo.dcuc.auth.sub.facade;
-
-import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-
-/**
- * 主客体授权资源同步API
- * @author mazq
- * @date 2021/5/27
- */
-@FeignClient(name = "dcuc-auth", path = "/dcuc/auth/subSyncFacade")
-public interface ISubSyncFacade {
-
-    /**
-     * 用户数据同步
-     * @return
-     */
-    @GetMapping("userSync")
-    ResponseStatus userSync();
-
-    /**
-     * 机构数据同步
-     * @return
-     */
-    @GetMapping("orgSync")
-    ResponseStatus orgSync();
-
-}

+ 62 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/sub/facade/IUserCenterApiFacade.java

@@ -0,0 +1,62 @@
+package com.dragoninfo.dcuc.auth.sub.facade;
+
+import com.dragoninfo.dcuc.auth.sub.dto.DcucUserInfo;
+import com.dragoninfo.dcuc.auth.sub.dto.LabelSearchDTO;
+import com.dragoninfo.dcuc.auth.sub.vo.LabelTreeVO;
+import com.dragoninfo.dcuc.auth.sub.vo.LabelVO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * 用户中心API调用Facade
+ * @author mazq
+ * @date 2021/5/27
+ */
+@FeignClient(name = "dcuc-auth", path = "/dcuc/auth/subSyncFacade")
+public interface IUserCenterApiFacade {
+
+    /**
+     * 用户数据同步
+     * 建立在机构数据已同步的基础上
+     * @return
+     */
+    @GetMapping("userSync")
+    ResponseStatus userSync();
+
+    /**
+     * 机构数据同步
+     * @return
+     */
+    @GetMapping("orgSync")
+    ResponseStatus orgSync();
+
+    /**
+     * 获取所有业务域标签
+     * @return
+     */
+    @GetMapping("findAllLabels")
+    List<LabelVO> findAllLabels();
+
+    /**
+     * 获取警种-业务域标签树
+     * @param labelSearchDTO
+     * @return
+     */
+    @PostMapping("labelTreeList")
+    List<LabelTreeVO> labelTreeList(@RequestBody LabelSearchDTO labelSearchDTO);
+
+    /**
+     * 根据身份证号获取用户中心人员信息
+     * @param idcard
+     * @return
+     */
+    @GetMapping("findUserInfoByIdcard")
+    DcucUserInfo findUserInfoByIdcard(@RequestParam("idcard") String idcard);
+
+}

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

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

+ 28 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/dto/ManageInfoDTO.java

@@ -0,0 +1,28 @@
+package com.dragoninfo.dcuc.auth.admin.dto;
+
+import lombok.Data;
+
+/**
+ * 管理员DTO
+ * @author mazq
+ * @date 2021/9/16
+ */
+@Data
+public class ManageInfoDTO {
+
+    /** 主键id */
+    private String id;
+
+    /** 机构id */
+    private String orgId;
+
+    /** 机构名称 */
+    private String orgName;
+
+    /** 人员ID */
+    private String userId;
+
+    /** 用户名称 */
+    private String userName;
+
+}

+ 48 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/dto/MgeLogDTO.java

@@ -0,0 +1,48 @@
+package com.dragoninfo.dcuc.auth.admin.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 管理员操作日志对象DTO
+ * @author mazq
+ * @date 2021/9/16
+ */
+@Data
+public class MgeLogDTO {
+
+    private String id;
+
+    /**管理员ID */
+    private String mgeId;
+
+    /**操作业务类型 10:新增管理员   11:取消管理员    20:新增平台菜单权限   21:取消平台菜单权限    30:新增管理机构权限   31:取消管理机构权限   40:新增管理人员权限   41:取消管理人员权限
+    50: 新增管理授权权限 51: 取消管理授权权限	  60: 新增管理管理员权限 61: 取消管理管理员权限 */
+    private String operateType;
+
+    /**被操作对象类型 10:管理员 20:平台菜单   30:机构管理   40:人员管理 50:授权管理 60:管理员管理 */
+    private String objectType;
+
+    /**被操作对象ID*/
+    private String objectId;
+
+    /**被操作对象名称*/
+    private String objectName;
+
+    /**操作人ID*/
+    private String operateUserId;
+
+    /**操作人名称*/
+    private String operateUserName;
+
+    /**操作人所属机构ID*/
+    private String operateOrgId;
+
+    /**操作人所属机构名称*/
+    private String operateOrgName;
+
+    /**创建时间*/
+    private Date operateTime;
+
+}

+ 50 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/AppMtAuth.java

@@ -0,0 +1,50 @@
+
+package com.dragoninfo.dcuc.auth.admin.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 lombok.Data;
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.annotations.Where;
+
+import javax.persistence.*;
+
+@Data
+@Entity
+@Table(name = "T_AUTH_ADMIN_APP_MT_AUTH")
+public class AppMtAuth implements IdEntity<String> {
+
+    //编号
+    @Id
+    @GeneratedValue(generator = "idGenerator")
+    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+    @Column(name = "ID")
+    private String id;
+
+    //管理员ID
+    @Column(name = "MGE_ID")
+    private String mgeId;
+
+    //机构管理人员ID
+    @Column(name = "USER_ID")
+    private String userId;
+
+    /**
+     * 机构ID (id:type,id:type)
+     * type:-1:勾选了本级,子节点未展开或无子节点,默认等同于2状态、0:未勾选子节点、1:勾选部分子节点、2:勾选全部子节点
+     */
+    @Column(name = "ORG_ID")
+    private String orgId;
+
+    public AppMtAuth() {
+    }
+
+    public AppMtAuth(String mgeId, String userId, String orgId) {
+        this.mgeId = mgeId;
+        this.userId = userId;
+        this.orgId = orgId;
+    }
+
+}
+

+ 63 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/ManageInfo.java

@@ -0,0 +1,63 @@
+
+package com.dragoninfo.dcuc.auth.admin.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;
+import org.hibernate.annotations.Where;
+
+import javax.persistence.*;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
+
+@Data
+@Entity
+@EntityListeners({JpaAuditingEntityListener.class})
+@Table(name = "T_AUTH_ADMIN_MANAGE_INFO")
+@Where(clause = "deleted = '0'")
+public class ManageInfo implements IdEntity<String>, LogicDeleteable {
+
+    @Id
+    @GeneratedValue(generator = "idGenerator")
+    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+    @Column(name = "ID")
+    private String id;
+
+    //机构ID
+    @Column(name = "ORG_ID")
+    private String orgId;
+
+    //机构名称
+    @Column(name = "ORG_NAME")
+    private String orgName;
+
+    //用户ID
+    @Column(name = "USER_ID")
+    private String userId;
+
+    //用户名称
+    @Column(name = "USER_NAME")
+    private String userName;
+
+    //逻辑删除
+    @Column(name = "DELETED")
+    private String deleted;
+
+    //添加用户id
+    @Column(name = "CREATE_USER")
+    private String createUser;
+
+    //添加时间
+    @Column(name = "CREATE_TIME")
+    private Date createTime;
+
+    @Override
+    public void markDeleted() {
+        this.setDeleted(BooleanEnum.TRUE.value);
+    }
+}
+

+ 46 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/MenuMtAuth.java

@@ -0,0 +1,46 @@
+//
+//package com.dragoninfo.dcuc.auth.admin.entity;
+//
+//import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+//import lombok.Data;
+//import org.hibernate.annotations.GenericGenerator;
+//
+//import javax.persistence.*;
+//
+//@Data
+//@Entity
+//@Table(name = "T_AUTH_ADMIN_MENU_MT_AUTH")
+//public class MenuMtAuth implements IdEntity<String> {
+//
+//    @Id
+//    @GeneratedValue(generator = "idGenerator")
+//    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+//    @Column(name = "ID")
+//    private String id;
+//
+//    //管理员ID
+//    @Column(name = "MGE_ID")
+//    private String mgeId;
+//
+//    //机构管理人员ID
+//    @Column(name = "USER_ID")
+//    private String userId;
+//
+//    //菜单ID
+//    @Column(name = "MENU_ID")
+//    private String menuId;
+//
+//    //columns END
+//
+//
+//    public MenuMtAuth() {
+//    }
+//
+//    public MenuMtAuth(String mgeId, String userId, String menuId) {
+//        this.setMgeId(mgeId);
+//        this.setUserId(userId);
+//        this.setMenuId(menuId);
+//    }
+//
+//}
+//

+ 64 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/MgeLog.java

@@ -0,0 +1,64 @@
+
+package com.dragoninfo.dcuc.auth.admin.entity;
+
+import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+import lombok.Data;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+import java.util.Date;
+
+@Data
+@Entity
+@Table(name = "T_AUTH_ADMIN_MGE_LOG")
+public class MgeLog implements IdEntity<String> {
+
+    @Id
+    @GeneratedValue(generator = "idGenerator")
+    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+    @Column(name = "ID")
+    private String id;
+
+    //管理员ID
+    @Column(name = "MGE_ID")
+    private String mgeId;
+
+    //操作业务类型 10:新增管理员   11:取消管理员    20:新增平台菜单权限   21:取消平台菜单权限    30:新增管理机构权限   31:取消管理机构权限   40:新增管理人员权限   41:取消管理人员权限
+    //50: 新增管理授权权限 51: 取消管理授权权限	  60: 新增管理管理员权限 61: 取消管理管理员权限
+    @Column(name = "OPERATE_TYPE")
+    private String operateType;
+
+    //被操作对象类型 10:管理员      20:平台菜单   30:机构管理   40:人员管理 50:授权管理 60:管理员管理
+    @Column(name = "OBJECT_TYPE")
+    private String objectType;
+
+    //被操作对象ID
+    @Column(name = "OBJECT_ID")
+    private String objectId;
+
+    //被操作对象名称
+    @Column(name = "OBJECT_NAME")
+    private String objectName;
+
+    //操作人ID
+    @Column(name = "OPERATE_USER_ID")
+    private String operateUserId;
+
+    //操作人名称
+    @Column(name = "OPERATE_USER_NAME")
+    private String operateUserName;
+
+    //操作人所属机构ID
+    @Column(name = "OPERATE_ORG_ID")
+    private String operateOrgId;
+
+    //操作人所属机构名称
+    @Column(name = "OPERATE_ORG_NAME")
+    private String operateOrgName;
+
+    //创建时间
+    @Column(name = "OPERATE_TIME")
+    private Date operateTime;
+
+}
+

+ 40 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/TempMenuAuth.java

@@ -0,0 +1,40 @@
+//
+//package com.dragoninfo.dcuc.auth.admin.entity;
+//
+//import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+//import lombok.Data;
+//import org.hibernate.annotations.GenericGenerator;
+//
+//import javax.persistence.*;
+//
+//@Data
+//@Entity
+//@Table(name = "T_AUTH_TEMP_MENU_AUTH")
+//public class TempMenuAuth implements IdEntity<String> {
+//
+//    @Id
+//    @GeneratedValue(generator = "idGenerator")
+//    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+//    @Column(name = "ID")
+//    private String id;
+//
+//    //机构管理人员ID
+//    @Column(name = "USER_ID")
+//    private String userId;
+//
+//    //菜单ID
+//    @Column(name = "MENU_ID")
+//    private String menuId;
+//
+//    //columns END
+//
+//
+//    public TempMenuAuth() {
+//    }
+//
+//    public TempMenuAuth(String userId, String menuId) {
+//        this.setUserId(userId);
+//        this.setMenuId(menuId);
+//    }
+//}
+//

+ 54 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/entity/TempMtAuth.java

@@ -0,0 +1,54 @@
+
+package com.dragoninfo.dcuc.auth.admin.entity;
+
+import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+import lombok.Data;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+
+/**
+ * 广东项目:新增管理员时,临时保存的管理范围
+ */
+@Data
+@Entity
+@Table(name = "T_AUTH_ADMIN_TEMP_MT_AUTH")
+public class TempMtAuth implements IdEntity<String> {
+
+    //编号
+    @Id
+    @GeneratedValue(generator = "idGenerator")
+    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+    @Column(name = "ID")
+    private String id;
+
+    //机构管理人员ID
+    @Column(name = "USER_ID")
+    private String userId;
+
+    /**
+     * 机构ID (id:type,id:type)
+     * type:-1:勾选了本级,子节点未展开或无子节点,默认等同于2状态、0:未勾选子节点、1:勾选部分子节点、2:勾选全部子节点
+     */
+    @Column(name = "ORG_ID")
+    private String orgId;
+
+    //columns END
+
+
+    public TempMtAuth() {
+    }
+
+    public TempMtAuth(String userId, String orgId) {
+        this.setUserId(userId);
+        this.setOrgId(orgId);
+    }
+
+    public TempMtAuth(String id, String userId, String orgId) {
+        this.id = id;
+        this.setUserId(userId);
+        this.setOrgId(orgId);
+    }
+
+}
+

+ 32 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AbnormalTypeEnum.java

@@ -0,0 +1,32 @@
+package com.dragoninfo.dcuc.auth.admin.enumresource;
+
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * Created by yica on 2018/5/24.
+ */
+public enum AbnormalTypeEnum implements ICodeEnum {
+    DYCTX("11", "第一次提醒"),
+    DECTX("12", "第二次提醒"),
+    TY("13", "停用账号"),
+    SC("20", "删除");
+
+    private String value;
+    private String label;
+
+    AbnormalTypeEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    @Override
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public String getLabel() {
+        return label;
+    }
+}

+ 34 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AdminObjectTypeEnum.java

@@ -0,0 +1,34 @@
+package com.dragoninfo.dcuc.auth.admin.enumresource;
+
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * Created by yica on 2018/5/24.
+ */
+public enum AdminObjectTypeEnum implements ICodeEnum {
+    GLY("10", "管理员信息"),
+    PTCD("20", "平台菜单"),
+    JGGL("30", "机构管理"),
+    RYGL("40", "人员管理"),
+    SQGL("50", "授权管理"),
+    GLYGL("60", "管理员管理");
+
+    private String value;
+    private String label;
+
+    AdminObjectTypeEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    @Override
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public String getLabel() {
+        return label;
+    }
+}

+ 40 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AdminOperateTypeEnum.java

@@ -0,0 +1,40 @@
+package com.dragoninfo.dcuc.auth.admin.enumresource;
+
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * Created by yica on 2018/5/24.
+ */
+public enum AdminOperateTypeEnum implements ICodeEnum {
+    XZGLY("10", "管理员创建"),
+    QXGLY("11", "管理员删除"),
+    XZPTCD("20", "平台菜单权限新增"),
+    QXPTCD("21", "平台菜单权限移除"),
+    XZJGGL("30", "机构管理范围新增"),
+    BGJGGL("31", "机构管理范围变更"),
+    XZRYGL("40", "用户管理范围新增"),
+    BGRYGL("41", "用户管理范围变更"),
+    XZSQGL("50", "授权管理范围新增"),
+    BGSQGL("51", "授权管理范围变更"),
+    XZGLYGL("60", "管理员管理范围新增"),
+    BGGLYGL("61", "管理员管理范围变更");
+
+    private String value;
+    private String label;
+
+    AdminOperateTypeEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    @Override
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public String getLabel() {
+        return label;
+    }
+}

+ 44 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/AuditLogMergeOperateTypeEnum.java

@@ -0,0 +1,44 @@
+package com.dragoninfo.dcuc.auth.admin.enumresource;
+
+public enum AuditLogMergeOperateTypeEnum {
+    YHCJ("U_YHCJ", "用户创建"),
+    YHSC("U_YHSC", "用户删除"),
+    YHXG("U_YHXG", "用户修改"),
+    ZHCJ("U_ZHCJ", "账号创建"),
+    ZHSC("U_ZHSC", "账号删除"),
+    ZHXG("U_ZHXG", "账号修改"),
+    ZWCJ("U_ZWCJ", "职位创建"),
+    ZWSC("U_ZWSC", "职位删除"),
+    ZWXG("U_ZWXG", "职位修改"),
+    XZGLY("M_GLYCJ", "管理员创建"),
+    SCGLY("M_GLYSC", "管理员删除"),
+    XZPTCD("M_PTCDQXXZ", "平台菜单权限新增"),
+    QXPTCD("M_PTCDQXYC", "平台菜单权限移除"),
+    XZJGGL("M_JGGLFWXZ", "机构管理范围新增"),
+    BGJGGL("M_JGGLFWBG", "机构管理范围变更"),
+    XZRYGL("M_YHGLFWXZ", "用户管理范围新增"),
+    BGRYGL("M_YHGLFWBG", "用户管理范围变更"),
+    XZGLYGL("M_GLYGLFWXZ", "管理员管理范围新增"),
+    BGGLYGL("M_GLYGLFWBG", "管理员管理范围变更"),
+    JGXZ("O_JGXZ", "机构新增"),
+    JGXG("O_JGXG", "机构修改"),
+    JGSC("O_JGSC", "机构删除"),
+    JGDL("O_JGDL", "机构调离"),
+    JGHB("O_JGHB", "机构合并");
+
+    private String value;
+    private String label;
+
+    AuditLogMergeOperateTypeEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+}

+ 50 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/enumresource/InitMenuEnum.java

@@ -0,0 +1,50 @@
+package com.dragoninfo.dcuc.auth.admin.enumresource;
+
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * 广东:管理员初始默认菜单
+ * Created by liws on 2019/10/31.
+ */
+public enum InitMenuEnum implements ICodeEnum {
+    YHGL_YJ("6510a37b1de044199db6041bb97fbd8c", "用户管理(一级)"),
+    JYGL_EJ("6510a37b1de044199db6041bb97fbd8g", "警员管理(二级)"),
+    FJGL_EJ("6510a37b1de044199db6041bb97fbd8h", "辅警管理(二级)"),
+    GRXX_EJ("6510a37b1de044199db6041bb97fbd8j", "个人信息(二级)"),
+    ZHGL_EJ("6510a37b1de044199db6041bb97fbd8f", "账号管理(二级)"),
+    DWRZ_EJ("894E3E2C9ACE4086G92772G1DACCG003", "多维认证管理(二级)"),
+    GLYGL_YJ("6510a37b1de044199db6041bb97fbd8a", "管理员管理(一级)"),
+    GLYGL_EJ("6510a37b1de044199db6041bb97fbd8d", "管理员管理(二级)"),
+    JGGL_YJ("6510a37b1de044199db6041bb97fbd90", "机构管理(一级)"),
+    JGGL_EJ("6510a37b1de044199db6041bb97fbd9a", "机构管理(二级)"),
+    RZSJBB_YJ("6510a37b1de044199db6041bb97fbd9i", "日志审计报表(一级)"),
+    JGSJBB_EJ("6510a37b1de0441y9db6041bb97fbd9o", "机构审计报表(二级)"),
+    YHSJBB_EJ("6510a37b1ge0j4199db6041bb97fbd9i", "用户审计报表(二级)"),
+    GLYSJ_EJ("6510a37b1de044199db6041bb97hbd9k", "管理员审计(二级)"),
+    TJBB_YJ("2c90e96664252f05016425363b440006", "统计报表(一级)"),
+    TXYFK_EJ("AB84304E4EC5404E801BB0BE88966545", "提醒与反馈(二级)"),
+    YHJSQK_EJ("2c90e96664252f05016425363b440007", "用户建设情况(二级)"),
+    GLYTJ_EJ("2c90e96664252f05016425363b440008", "管理员统计(二级)"),
+    JSSQQK_EJ("2c90e96664252f05016425363b440009", "角色授权情况(二级)"),
+    FKYJ_YJ("EC40755C77CB4F2D8C5A4E304510D250", "反馈意见(一级)"),
+    FKYJ_EJ("C42FB8A44A3146E29BA8EED756C88424", "反馈意见(二级)");
+
+    private String value;
+    private String label;
+
+    InitMenuEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    @Override
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public String getLabel() {
+        return label;
+    }
+}

+ 18 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/AdminAuditVO.java

@@ -0,0 +1,18 @@
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Created by Administrator on 2018/6/5.
+ */
+@Data
+public class AdminAuditVO extends AuthUserDTO {
+
+    private String createUserName;
+    private String createUser;
+    private String createTimeString;
+    private Date createTime;
+}

+ 28 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/ImpParamsVo.java

@@ -0,0 +1,28 @@
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+public class ImpParamsVo implements Serializable {
+
+    private List<Map<String, String>> mapList;
+    private boolean authAccessable;
+
+
+    public List<Map<String, String>> getMapList() {
+        return mapList;
+    }
+
+    public void setMapList(List<Map<String, String>> mapList) {
+        this.mapList = mapList;
+    }
+
+    public boolean isAuthAccessable() {
+        return authAccessable;
+    }
+
+    public void setAuthAccessable(boolean authAccessable) {
+        this.authAccessable = authAccessable;
+    }
+}

+ 52 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/ManageInfoMsg.java

@@ -0,0 +1,52 @@
+/**
+ * 版权所有:厦门市巨龙信息科技有限公司
+ * Copyright 2011 Xiamen Dragon Info. Tech. Co. Ltd.
+ * All right reserved.
+ * ====================================================
+ * 文件名称: ManageInfoMsg.java
+ * 修订记录:
+ * No    日期				    作者(操作:具体内容)
+ * 1.    2019-01-24			黄华源(创建:创建文件)
+ * ====================================================
+ * 类描述:
+ */
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+import com.dragonsoft.duceap.base.entity.security.SecurityUser;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class ManageInfoMsg implements Serializable {
+
+    private SecurityUser securityUser;
+
+    private List<ManageInfo> manageInfoList;
+
+    private String operateType;
+
+    public SecurityUser getSecurityUser() {
+        return securityUser;
+    }
+
+    public void setSecurityUser(SecurityUser securityUser) {
+        this.securityUser = securityUser;
+    }
+
+    public List<ManageInfo> getManageInfoList() {
+        return manageInfoList;
+    }
+
+    public void setManageInfoList(List<ManageInfo> manageInfoList) {
+        this.manageInfoList = manageInfoList;
+    }
+
+    public String getOperateType() {
+        return operateType;
+    }
+
+    public void setOperateType(String operateType) {
+        this.operateType = operateType;
+    }
+}

+ 54 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/ManageNumsVO.java

@@ -0,0 +1,54 @@
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+import java.io.Serializable;
+
+/**
+ * Created by liws on 2018/9/27.
+ */
+public class ManageNumsVO implements Serializable {
+    /**
+     * 拥有管理员的机构个数
+     */
+    private Long orgNums;
+    /**
+     * 管理员个数
+     */
+    private Long mgeNums;
+    /**
+     * 按机构分组时的机构id
+     */
+    private String orgId;
+
+    public ManageNumsVO(Long orgNums, Long mgeNums, String orgId) {
+        this.orgNums = null == orgNums ? 0l : orgNums;
+        this.mgeNums = null == mgeNums ? 0l : mgeNums;
+        this.orgId = orgId;
+    }
+
+    public ManageNumsVO() {
+    }
+
+    public Long getOrgNums() {
+        return this.orgNums;
+    }
+
+    public void setOrgNums(Long orgNums) {
+        this.orgNums = orgNums;
+    }
+
+    public Long getMgeNums() {
+        return this.mgeNums;
+    }
+
+    public void setMgeNums(Long mgeNums) {
+        this.mgeNums = mgeNums;
+    }
+
+    public String getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(String orgId) {
+        this.orgId = orgId;
+    }
+}

+ 103 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/MgeAuditLogVO.java

@@ -0,0 +1,103 @@
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+public class MgeAuditLogVO {
+    private String name;
+    private String idCard;
+    private String auditType;
+    private String operateType;
+    private String operateContent;
+    private String operateUserName;
+    private String objectType;
+    private String operatorOrgName;
+    private String operateTime;
+    private String beginTime;
+    private String endTime;
+
+    public String getOperateUserName() {
+        return operateUserName;
+    }
+
+    public void setOperateUserName(String operateUserName) {
+        this.operateUserName = operateUserName;
+    }
+
+    public String getObjectType() {
+        return objectType;
+    }
+
+    public void setObjectType(String objectType) {
+        this.objectType = objectType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getIdCard() {
+        return idCard;
+    }
+
+    public void setIdCard(String idCard) {
+        this.idCard = idCard;
+    }
+
+    public String getAuditType() {
+        return auditType;
+    }
+
+    public void setAuditType(String auditType) {
+        this.auditType = auditType;
+    }
+
+    public String getOperateType() {
+        return operateType;
+    }
+
+    public void setOperateType(String operateType) {
+        this.operateType = operateType;
+    }
+
+    public String getOperateContent() {
+        return operateContent;
+    }
+
+    public void setOperateContent(String operateContent) {
+        this.operateContent = operateContent;
+    }
+
+    public String getOperatorOrgName() {
+        return operatorOrgName;
+    }
+
+    public void setOperatorOrgName(String operatorOrgName) {
+        this.operatorOrgName = operatorOrgName;
+    }
+
+    public String getOperateTime() {
+        return operateTime;
+    }
+
+    public void setOperateTime(String operateTime) {
+        this.operateTime = operateTime;
+    }
+
+    public String getBeginTime() {
+        return beginTime;
+    }
+
+    public void setBeginTime(String beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+}

+ 38 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/MgeMonitorVO.java

@@ -0,0 +1,38 @@
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+import java.io.Serializable;
+import java.sql.Date;
+
+/**
+ * Created by Administrator on 2018/5/31.
+ */
+public class MgeMonitorVO implements Serializable {
+
+    private String userId;
+    private Integer dayNum;
+    private Date lastLoginTime;
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public Integer getDayNum() {
+        return dayNum;
+    }
+
+    public void setDayNum(Integer dayNum) {
+        this.dayNum = dayNum;
+    }
+
+    public Date getLastLoginTime() {
+        return lastLoginTime;
+    }
+
+    public void setLastLoginTime(Date lastLoginTime) {
+        this.lastLoginTime = lastLoginTime;
+    }
+}

+ 57 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/NoticeUserVO.java

@@ -0,0 +1,57 @@
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+import java.io.Serializable;
+
+/**
+ * Created by Administrator on 2018/6/6.
+ */
+public class NoticeUserVO implements Serializable {
+
+    private static final long serialVersionUID = 638940374227113421L;
+    private String userId;
+    private String name;
+    private String mobile;
+    private String userMtAuth;
+
+    public NoticeUserVO() {
+    }
+
+    public NoticeUserVO(String userId, String name, String mobile, String userMtAuth) {
+        this.setUserId(userId);
+        this.setName(name);
+        this.setMobile(mobile);
+        this.setUserMtAuth(userMtAuth);
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getUserMtAuth() {
+        return userMtAuth;
+    }
+
+    public void setUserMtAuth(String userMtAuth) {
+        this.userMtAuth = userMtAuth;
+    }
+}

+ 28 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/admin/vo/SecurityRight.java

@@ -0,0 +1,28 @@
+
+package com.dragoninfo.dcuc.auth.admin.vo;
+
+
+/**
+ * Created by huanghy on 2018/9/28.
+ */
+
+public class SecurityRight extends com.dragonsoft.duceap.base.entity.security.SecurityRight {
+
+    public SecurityRight(String id, String name, String code, String url, String appId, String parentId, String seq, String showMode, String isSystem) {
+        setId(id);
+        setName(name);
+        setCode(code);
+        setUrl(url);
+        setApplicationId(appId);
+        setpId(parentId);
+        setSortNum(intToString(seq));
+        setShowMode(showMode);
+        setIsSystem(isSystem);
+
+    }
+
+    private static int intToString(String str) {
+        return (str != null) ? Integer.parseInt(str) : 0;
+    }
+}
+

+ 65 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/AuthMenuDTO.java

@@ -0,0 +1,65 @@
+package com.dragoninfo.dcuc.auth.auth.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author mazq
+ * @date 2021/8/23
+ */
+@Data
+public class AuthMenuDTO {
+
+    /** 主键id */
+    private String id ;
+
+    /** 功能名称 */
+    private String name ;
+
+    /** 功能代码 */
+    private String code ;
+
+    /** 应用ID */
+    private String appId ;
+
+    /** CODE上级功能ID */
+    private String parentId ;
+
+    /** 功能URL */
+    private String url ;
+
+    /** 是否显示,1:在菜单中显示2:不在菜单中显示 */
+    private String showMode ;
+
+    /** 有效标志(0:无效 1:有效) */
+    private String isActive ;
+
+    /** 排序 */
+    private Integer seq ;
+
+    /** 创建时间 */
+    private Date createTime ;
+
+    /** 创建人 */
+    private String creator ;
+
+    /** 修改时间 */
+    private Date modifiedTime ;
+
+    /** 修改人 */
+    private String modifier ;
+
+    /** 备注 */
+    private String remark ;
+
+    /** 是否是系统菜单0:否  1:是 */
+    private String isSystem ;
+
+    /** 是否隐藏0:否 1:是 */
+    private String isHide ;
+
+    /** 菜单资源类型:1菜单,0按钮权限 */
+    private String resourceType ;
+
+}

+ 6 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/ServiceAuthFlowDTO.java

@@ -188,6 +188,12 @@ public class ServiceAuthFlowDTO implements Serializable {
      */
     private String appToken;
 
+
+    /**
+     * 申请单来源应用code
+     */
+    private String applyAppCode;
+
     /**
      * 下一任务对象信息
      */

+ 41 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/StaffRoleOperateDTO.java

@@ -0,0 +1,41 @@
+package com.dragoninfo.dcuc.auth.auth.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 角色授权DTO
+ * @author mazq
+ * @date 2021/9/22
+ */
+@Data
+public class StaffRoleOperateDTO {
+
+    /**
+     * 角色id
+     */
+    private String roleId;
+
+    /**
+     * 机构id
+     */
+    private String orgId;
+
+    /**
+     * 新增授权用户id集合,包含修改过有效的人员id
+     */
+    private List<String> addUserIds;
+
+    /**
+     * 删除授权用户id集合
+     */
+    private List<String> delUserIds;
+
+    /**
+     * 修改了有效期的授权集合,包括新增中修改了有效期的授权
+     */
+    private List<UserRoleAuthInfoDTO> updateUsers;
+
+}

+ 26 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/UserRoleAuthInfoDTO.java

@@ -0,0 +1,26 @@
+package com.dragoninfo.dcuc.auth.auth.dto;
+
+import lombok.Data;
+
+/**
+ * @author mazq
+ * @date 2021/9/22
+ */
+@Data
+public class UserRoleAuthInfoDTO {
+    /**
+     * 人员id
+     */
+    private String id;
+
+    /**
+     * 角色id
+     */
+    private String roleId;
+
+    /**
+     * 权限有效期时间
+     */
+    private String activeTime;
+
+}

+ 89 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/AuthMenuInfo.java

@@ -0,0 +1,89 @@
+package com.dragoninfo.dcuc.auth.auth.entity;
+
+import com.dragonsoft.duceap.core.persistent.audit.JpaAuditingEntityListener;
+import lombok.Data;
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.annotations.Where;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * @author mazq
+ * @date 2021/8/23
+ */
+@EntityListeners({JpaAuditingEntityListener.class})
+@Data
+@Entity
+@Table(name = "T_AUTH_MENU_INFO")
+@Where(clause = "IS_ACTIVE = '1'")
+public class AuthMenuInfo {
+
+    /** 主键id */
+    @Id
+    @GeneratedValue(generator="idGenerator")
+    @GenericGenerator(name="idGenerator", strategy="uuid")
+    @Column(name = "ID")
+    private String id ;
+
+
+    /** 功能名称 */
+    @Column(name = "NAME")
+    private String name ;
+
+    /** 功能代码 */
+    @Column(name = "CODE")
+    private String code ;
+
+    /** 应用ID */
+    @Column(name = "APP_ID")
+    private String appId ;
+
+    /** CODE上级功能ID */
+    @Column(name = "PARENT_ID")
+    private String parentId ;
+
+    /** 功能URL */
+    @Column(name = "URL")
+    private String url ;
+
+    /** 是否显示,1:在菜单中显示2:不在菜单中显示 */
+    @Column(name = "SHOW_MODE")
+    private String showMode ;
+
+    /** 有效标志(0:无效 1:有效) */
+    @Column(name = "IS_ACTIVE")
+    private String isActive ;
+
+    /** 排序 */
+    @Column(name = "SEQ")
+    private Integer seq ;
+
+    /** 创建时间 */
+    @Column(name = "CREATE_TIME")
+    private Date createTime ;
+
+    /** 创建人 */
+    @Column(name = "CREATOR")
+    private String creator ;
+
+    /** 修改时间 */
+    @Column(name = "MODIFIED_TIME")
+    private Date modifiedTime ;
+
+    /** 修改人 */
+    @Column(name = "MODIFIER")
+    private String modifier ;
+
+    /** 备注 */
+    @Column(name = "REMARK")
+    private String remark ;
+
+    /** 是否是系统菜单0:否  1:是 */
+    @Column(name = "IS_SYSTEM")
+    private String isSystem ;
+
+    /** 是否隐藏0:否 1:是 */
+    @Column(name = "IS_HIDE")
+    private String isHide ;
+}

+ 115 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/ServiceAuthContent.java

@@ -0,0 +1,115 @@
+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;
+import org.hibernate.annotations.Where;
+
+import javax.persistence.*;
+
+/**
+ * @author chenbh
+ * @date 2021/8/23
+ */
+@EntityListeners({JpaAuditingEntityListener.class})
+@Data
+@Entity
+@Table(name = "T_SERVICE_AUTH_CONTENT")
+@Where(clause = "deleted = '0'")
+public class ServiceAuthContent implements LogicDeleteable, IdEntity<String> {
+
+    /**
+     * 主键
+     */
+    @Id
+    @GeneratedValue(generator = "idGenerator")
+    @GenericGenerator(name = "idGenerator", strategy = "uuid")
+    @Column(name = "ID")
+    private String id;
+
+    /**
+     * 权限申请表记录ID
+     */
+    @Column(name = "AUTH_APPLY_ID")
+    private String authApplyId;
+
+    /**
+     * 应用代码
+     */
+    @Column(name = "APP_CODE")
+    private String appCode;
+
+    /**
+     * 应用名称
+     */
+    @Column(name = "APP_NAME")
+    private String appName;
+
+    /**
+     * 服务资源Codes
+     */
+    @Column(name = "SERVICE_CODES")
+    private String serviceCodes;
+
+    /**
+     * 服务资源名称
+     */
+    @Column(name = "SERVICE_NAMES")
+    private String serviceNames;
+
+    /**
+     * 工作单结果说明
+     */
+    @Column(name = "REMARK")
+    private String remark;
+
+    /**
+     * 权限有效类型;01自定义 02长期
+     */
+    @Column(name = "PERMISSION_VALID_TYPE")
+    private String permissionValidType;
+
+    /**
+     * 应用管理单位名称
+     */
+    @Column(name = "APP_MANAGER_ORG_NAME")
+    private String appManagerOrgName;
+
+    /**
+     * 应用管理单位code
+     */
+    @Column(name = "APP_MANAGER_ORG_CODE")
+    private String appManagerOrgCode;
+
+    /**
+     * 应用事权单位名称
+     */
+    @Column(name = "APP_ORG_NAME")
+    private String appOrgName;
+
+    /**
+     * 应用事权单位code
+     */
+    @Column(name = "APP_ORG_CODE")
+    private String appOrgCode;
+
+    /**
+     * 服务共享方式
+     */
+    @Column(name = "SERVICE_SHARED_WAY")
+    private String serviceSharedWay;
+
+    /**
+     * 是否删除
+     */
+    @Column(name = "DELETED")
+    private String deleted;
+
+    @Override
+    public void markDeleted() {
+        this.setDeleted(BooleanEnum.TRUE.value);
+    }
+}

+ 199 - 199
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/ServiceAuthFlow.java

@@ -1,199 +1,199 @@
-package com.dragoninfo.dcuc.auth.auth.entity;
-
-import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
-import lombok.Data;
-import org.hibernate.annotations.GenericGenerator;
-
-import javax.persistence.*;
-import java.util.Date;
-
-/**
- * 服务授权工单entity
- * @author mazq
- * @Description
- * @create 2020-11-25
- */
-@Data
-@Entity
-@Table(name = "T_SERVICE_AUTH_FLOW")
-public class ServiceAuthFlow implements IdEntity<String> {
-
-    @Id
-    @GeneratedValue(generator="idGenerator")
-    @GenericGenerator(name="idGenerator", strategy="uuid")
-    @Column(name = "ID")
-    private String id;
-
-    /**
-     * 申请单号
-     */
-    @Column(name = "APPLICANT_ID")
-    private String applicantId;
-
-    /**
-     * 申请人身份证号
-     */
-    @Column(name = "APPLICANT_IDCARD")
-    private String applicantIdcard;
-
-    /**
-     * 申请人姓名
-     */
-    @Column(name = "APPLICANT_NAME")
-    private String applicantName;
-
-    /**
-     * 申请人联系方式
-     */
-    @Column(name = "APPLICANT_PHONE_NO")
-    private String applicantPhoneNo;
-
-    /**
-     * 申请机构code
-     */
-    @Column(name = "APPLICANT_ORG_CODE")
-    private String applicantOrgCode;
-
-    /**
-     * 申请机构名称
-     */
-    @Column(name = "APPLICANT_ORG_NAME")
-    private String applicantOrgName;
-
-    /**
-     * 应用代码
-     */
-    @Column(name = "APP_CODE")
-    private String appCode;
-
-    /**
-     * 应用名称
-     */
-    @Column(name = "APP_NAME")
-    private String appName;
-
-
-    /**
-     * 应用管理单位名称
-     */
-    @Column(name = "APP_MANAGER_ORG_NAME")
-    private String appManagerOrgName;
-
-
-    /**
-     * 应用管理单位code
-     */
-    @Column(name = "APP_MANAGER_ORG_CODE")
-    private String appManagerOrgCode;
-
-    /**
-     * 应用事权单位名称
-     */
-    @Column(name = "APP_ORG_NAME")
-    private String appOrgName;
-
-    /**
-     * 应用事权单位code
-     */
-    @Column(name = "APP_ORG_CODE")
-    private String appOrgCode;
-
-    /**
-     * 工作单类型
-     * SERVICE_AUTH-服务授权工作单 SERVICE_AUTH_CANCEL-服务权限撤销工作单
-     */
-    @Column(name = "FLOW_TYPE")
-    private String flowType;
-
-    /**
-     * 工作单状态
-     * 根据审批服务工作流状态确定
-     */
-    @Column(name = "FLOW_STATUS")
-    private String flowStatus;
-
-    /**
-     * 消息Id
-     */
-    @Column(name = "MESSAGE_ID")
-    private String messageId;
-
-    /**
-     * 审批服务工作流id(作为外部id标识)
-     */
-    @Column(name = "FLOW_ID")
-    private String flowId;
-
-    /**
-     * 申请时间
-     */
-    @Column(name = "APPLY_TIME")
-    private Date applyTime;
-
-    /**
-     * 申请原因
-     */
-    @Column(name = "APPLY_REASON")
-    private String applyReason;
-
-    /**
-     * 服务资源codes (多个服务使用',' 隔开)
-     */
-    @Column(name = "SERVICE_CODES")
-    private String serviceCodes;
-
-    /**
-     * 服务资源名称 (多个服务使用',' 隔开)
-     */
-    @Column(name = "SERVICE_NAMES")
-    private String serviceNames;
-
-    /**
-     * 创建时间
-     */
-    @Column(name = "CREATE_TIME")
-    private Date createTime;
-
-    /**
-     * 更新时间
-     */
-    @Column(name = "UPDATE_TIME")
-    private Date updateTime;
-
-    /**
-     * 权限有效类型(01:自定义 | 02:长期)
-     */
-    @Column(name = "PERMISSION_VALID_TYPE")
-    private String permissionValidType;
-
-    /**
-     * 授权有效期起始时间
-     */
-    @Column(name = "START_TIME")
-    private Date startTime;
-
-    /**
-     * 授权有效期结束时间
-     */
-    @Column(name = "END_TIME")
-    private Date endTime;
-
-    /**
-     * 是否删除
-     */
-    @Column(name = "DELETED")
-    private String deleted;
-
-    /**
-     * 工作单结果说明
-     */
-    @Column(name = "REMARK")
-    private String remark;
-
-    /**
-     * 服务共享方式
-     */
-    @Column(name = "SERVICE_SHARED_WAY")
-    private String serviceSharedWay;
-
-}
+//package com.dragoninfo.dcuc.auth.auth.entity;
+//
+//import com.dragonsoft.duceap.base.entity.persistent.IdEntity;
+//import lombok.Data;
+//import org.hibernate.annotations.GenericGenerator;
+//
+//import javax.persistence.*;
+//import java.util.Date;
+//
+///**
+// * 服务授权工单entity
+// * @author mazq
+// * @Description
+// * @create 2020-11-25
+// */
+//@Data
+//@Entity
+//@Table(name = "T_SERVICE_AUTH_FLOW")
+//public class ServiceAuthFlow implements IdEntity<String> {
+//
+//    @Id
+//    @GeneratedValue(generator="idGenerator")
+//    @GenericGenerator(name="idGenerator", strategy="uuid")
+//    @Column(name = "ID")
+//    private String id;
+//
+//    /**
+//     * 申请单号
+//     */
+//    @Column(name = "APPLICANT_ID")
+//    private String applicantId;
+//
+//    /**
+//     * 申请人身份证号
+//     */
+//    @Column(name = "APPLICANT_IDCARD")
+//    private String applicantIdcard;
+//
+//    /**
+//     * 申请人姓名
+//     */
+//    @Column(name = "APPLICANT_NAME")
+//    private String applicantName;
+//
+//    /**
+//     * 申请人联系方式
+//     */
+//    @Column(name = "APPLICANT_PHONE_NO")
+//    private String applicantPhoneNo;
+//
+//    /**
+//     * 申请机构code
+//     */
+//    @Column(name = "APPLICANT_ORG_CODE")
+//    private String applicantOrgCode;
+//
+//    /**
+//     * 申请机构名称
+//     */
+//    @Column(name = "APPLICANT_ORG_NAME")
+//    private String applicantOrgName;
+//
+//    /**
+//     * 应用代码
+//     */
+//    @Column(name = "APP_CODE")
+//    private String appCode;
+//
+//    /**
+//     * 应用名称
+//     */
+//    @Column(name = "APP_NAME")
+//    private String appName;
+//
+//
+//    /**
+//     * 应用管理单位名称
+//     */
+//    @Column(name = "APP_MANAGER_ORG_NAME")
+//    private String appManagerOrgName;
+//
+//
+//    /**
+//     * 应用管理单位code
+//     */
+//    @Column(name = "APP_MANAGER_ORG_CODE")
+//    private String appManagerOrgCode;
+//
+//    /**
+//     * 应用事权单位名称
+//     */
+//    @Column(name = "APP_ORG_NAME")
+//    private String appOrgName;
+//
+//    /**
+//     * 应用事权单位code
+//     */
+//    @Column(name = "APP_ORG_CODE")
+//    private String appOrgCode;
+//
+//    /**
+//     * 工作单类型
+//     * SERVICE_AUTH-服务授权工作单 SERVICE_AUTH_CANCEL-服务权限撤销工作单
+//     */
+//    @Column(name = "FLOW_TYPE")
+//    private String flowType;
+//
+//    /**
+//     * 工作单状态
+//     * 根据审批服务工作流状态确定
+//     */
+//    @Column(name = "FLOW_STATUS")
+//    private String flowStatus;
+//
+//    /**
+//     * 消息Id
+//     */
+//    @Column(name = "MESSAGE_ID")
+//    private String messageId;
+//
+//    /**
+//     * 审批服务工作流id(作为外部id标识)
+//     */
+//    @Column(name = "FLOW_ID")
+//    private String flowId;
+//
+//    /**
+//     * 申请时间
+//     */
+//    @Column(name = "APPLY_TIME")
+//    private Date applyTime;
+//
+//    /**
+//     * 申请原因
+//     */
+//    @Column(name = "APPLY_REASON")
+//    private String applyReason;
+//
+//    /**
+//     * 服务资源codes (多个服务使用',' 隔开)
+//     */
+//    @Column(name = "SERVICE_CODES")
+//    private String serviceCodes;
+//
+//    /**
+//     * 服务资源名称 (多个服务使用',' 隔开)
+//     */
+//    @Column(name = "SERVICE_NAMES")
+//    private String serviceNames;
+//
+//    /**
+//     * 创建时间
+//     */
+//    @Column(name = "CREATE_TIME")
+//    private Date createTime;
+//
+//    /**
+//     * 更新时间
+//     */
+//    @Column(name = "UPDATE_TIME")
+//    private Date updateTime;
+//
+//    /**
+//     * 权限有效类型(01:自定义 | 02:长期)
+//     */
+//    @Column(name = "PERMISSION_VALID_TYPE")
+//    private String permissionValidType;
+//
+//    /**
+//     * 授权有效期起始时间
+//     */
+//    @Column(name = "START_TIME")
+//    private Date startTime;
+//
+//    /**
+//     * 授权有效期结束时间
+//     */
+//    @Column(name = "END_TIME")
+//    private Date endTime;
+//
+//    /**
+//     * 是否删除
+//     */
+//    @Column(name = "DELETED")
+//    private String deleted;
+//
+//    /**
+//     * 工作单结果说明
+//     */
+//    @Column(name = "REMARK")
+//    private String remark;
+//
+//    /**
+//     * 服务共享方式
+//     */
+//    @Column(name = "SERVICE_SHARED_WAY")
+//    private String serviceSharedWay;
+//
+//}

+ 4 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/enumresources/WorkFlowSourceEnum.java

@@ -25,6 +25,10 @@ public enum WorkFlowSourceEnum {
      */
     YYPT_APPLY("TJDSJ_APPLY","大数据运营平台申请"),
 
+    /**
+     * API接口调用申请
+     */
+    API_AUTH_APPLY("API_AUTH_APPLY","API接口申请"),
 
     /**
      * 审批服务推送

+ 52 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/AdminMgeDto.java

@@ -0,0 +1,52 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+
+import java.io.Serializable;
+
+/**
+ * @Author yica
+ * @Date 2020/10/28 13:57
+ * 待扩展
+ **/
+public class AdminMgeDto implements Serializable {
+    //管理员范围类型
+    private String type;
+    //机构id
+    private String orgId;
+    private SearchDTO searchDTO;
+
+    public AdminMgeDto(String type, String orgId, SearchDTO searchDTO) {
+        this.type = type;
+        this.orgId = orgId;
+        this.searchDTO = searchDTO;
+    }
+
+    public AdminMgeDto() {
+    }
+
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(String orgId) {
+        this.orgId = orgId;
+    }
+
+    public SearchDTO getSearchDTO() {
+        return searchDTO;
+    }
+
+    public void setSearchDTO(SearchDTO searchDTO) {
+        this.searchDTO = searchDTO;
+    }
+}

+ 26 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/AuthUserContactDTO.java

@@ -0,0 +1,26 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import lombok.Data;
+
+/**
+ * 人员详情
+ * 包含联系方式DTO
+ * @author mazq
+ * @date 2021/9/13
+ */
+@Data
+public class AuthUserContactDTO extends AuthUserDTO {
+
+    private String phone;
+
+    private String mobileWork;
+
+    private String mobilePrivate;
+
+    private String qqAccount;
+
+    private String email;
+
+    private String wxAccount;
+
+}

+ 58 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/DcucUserInfo.java

@@ -0,0 +1,58 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import lombok.Data;
+
+/**
+ * 用户中心人员对象详情DTO
+ * 包含联系方式
+ * @author mazq
+ * @date 2021/8/26
+ */
+@Data
+public class DcucUserInfo {
+
+    private String name;
+
+    private String idcard;
+
+    private String policeNumber;
+
+    private String orgName;
+
+    private String orgId;
+
+    private String orgCode;
+
+    private String userType;
+
+    private String sex;
+
+    private String manType;
+
+    private String auxiliaryType;
+
+    private String policeCategory;
+
+    private String title;
+
+    private String rank;
+
+    private String area;
+
+    private String policeBusiness;
+
+    private String mobilePrivate;
+
+    private String mobileWork;
+
+    private String phone;
+
+    private String qqAccount;
+
+    private String email;
+
+    private String wxAccount;
+
+    private String deleted;
+
+}

+ 16 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/LabelSearchDTO.java

@@ -0,0 +1,16 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import lombok.Data;
+
+/**
+ * @author mazq
+ * @date 2021/8/25
+ */
+@Data
+public class LabelSearchDTO {
+
+    private String name;
+
+    private Boolean showAll;
+
+}

+ 16 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncApiBaseDTO.java

@@ -0,0 +1,16 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import lombok.Data;
+
+/**
+ * @author mazq
+ * @date 2021/5/28
+ */
+@Data
+public class SyncApiBaseDTO {
+
+    private String statusCode;
+
+    private String message;
+
+}

+ 14 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncApiDTO.java

@@ -0,0 +1,14 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import lombok.Data;
+
+/**
+ * @author mazq
+ * @date 2021/5/28
+ */
+@Data
+public class SyncApiDTO extends SyncApiBaseDTO {
+
+    private Object result;
+
+}

+ 1 - 5
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncAcceptDTO.java → dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/SyncApiPageDTO.java

@@ -8,11 +8,7 @@ import lombok.Data;
  * @date 2021/5/28
  */
 @Data
-public class SyncAcceptDTO {
-
-    private String statusCode;
-
-    private String message;
+public class SyncApiPageDTO extends SyncApiBaseDTO {
 
     private SyncResult result;
 

+ 18 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/UserCenterResultDTO.java

@@ -0,0 +1,18 @@
+package com.dragoninfo.dcuc.auth.sub.dto;
+
+import lombok.Data;
+
+/**
+ * 调用用户中心API返回结果dto
+ * @author mazq
+ * @date 2021/8/25
+ */
+@Data
+public class UserCenterResultDTO {
+
+    private String statusCode;
+
+    private String message;
+
+    private Object result;
+}

+ 43 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/UserEventDTO.java

@@ -0,0 +1,43 @@
+//package com.dragoninfo.dcuc.auth.sub.dto;
+//
+//import com.dragoninfo.dcuc.auth.auth.enumresources.MessageTypeEnum;
+//import com.dragonsoft.duceap.base.entity.security.SecurityUser;
+//import lombok.Data;
+//
+//import java.util.List;
+//
+///**
+// * @author mazq
+// * @date 2021/1/25
+// */
+//@Data
+//public class UserEventDTO {
+//
+//    private AuthUserDTO userInfo;
+//
+//    private String orgId;
+//
+//    private String orgCode;
+//
+//    private String orgName;
+//
+//    private String targetOrgId;
+//
+//    private String appId;
+//
+//    private boolean sendMessage;
+//
+//    private List<AuthUserDTO> addUsers;
+//
+//    private List<AuthUserDTO> updateUsers;
+//
+//    private MessageTypeEnum messageTypeEnum;
+//
+//    private SecurityUser securityUser;
+//
+//    /**
+//     * 操作用户请求IP
+//     */
+//    private String requestIp;
+//
+//}

+ 41 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/dto/UserListDto.java

@@ -0,0 +1,41 @@
+//package com.dragoninfo.dcuc.auth.sub.dto;
+//
+//import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+//
+//import java.io.Serializable;
+//
+///**
+// * @author fuzq
+// * @date 2020/12/7 13:56
+// **/
+//public class UserListDto implements Serializable {
+//    //用户ids
+//    private String userIds;
+//    //查询条件
+//    private SearchDTO searchDTO;
+//
+//    public UserListDto(String userIds, SearchDTO searchDTO) {
+//        this.userIds = userIds;
+//        this.searchDTO = searchDTO;
+//    }
+//
+//    public UserListDto() {
+//    }
+//
+//    public String getUserIds() {
+//        return userIds;
+//    }
+//
+//    public void setUserIds(String userIds) {
+//        this.userIds = userIds;
+//    }
+//
+//    public SearchDTO getSearchDTO() {
+//        return searchDTO;
+//    }
+//
+//    public void setSearchDTO(SearchDTO searchDTO) {
+//        this.searchDTO = searchDTO;
+//    }
+//
+//}

+ 36 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/enumresource/JobTypeEnum.java

@@ -0,0 +1,36 @@
+package com.dragoninfo.dcuc.auth.sub.enumresource;
+
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * Created by yica on 2018/5/24.
+ */
+public enum JobTypeEnum implements ICodeEnum {
+    ZZ("11", "在职"),
+    JD("12", "借调"),
+    GZ("13", "挂职"),
+    FP("14", "返聘"),
+    TX("15", "退休"),
+    LZ("16", "离职"),
+    SW("17", "死亡");
+
+
+    private String value;
+    private String label;
+
+    JobTypeEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    @Override
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public String getLabel() {
+        return label;
+    }
+}

+ 51 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/CompareVo.java

@@ -0,0 +1,51 @@
+package com.dragoninfo.dcuc.auth.sub.vo;
+
+/**
+ * Created by Administrator on 2018/6/5.
+ */
+public class CompareVo {
+
+    private String name;
+
+    private String beforeVal;
+
+    private String afterVal;
+
+    public CompareVo() {
+    }
+
+    public CompareVo(String beforeVal, String afterVal) {
+        this.beforeVal = beforeVal;
+        this.afterVal = afterVal;
+    }
+
+    public CompareVo(String beforeVal, String afterVal, String name) {
+        this.beforeVal = beforeVal;
+        this.afterVal = afterVal;
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getBeforeVal() {
+        return beforeVal;
+    }
+
+    public void setBeforeVal(String beforeVal) {
+        this.beforeVal = beforeVal;
+    }
+
+    public String getAfterVal() {
+        return afterVal;
+    }
+
+    public void setAfterVal(String afterVal) {
+        this.afterVal = afterVal;
+    }
+}

+ 29 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelSearchVo.java

@@ -0,0 +1,29 @@
+package com.dragoninfo.dcuc.auth.sub.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/4/8 10:50
+ */
+@Data
+@ApiModel(description = "标签查询参数")
+public class LabelSearchVo implements Serializable {
+
+
+    private static final long serialVersionUID = 4277768747406966748L;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "是否显示全部")
+    private Boolean showAll;
+
+}

+ 63 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelTreeBaseVO.java

@@ -0,0 +1,63 @@
+package com.dragoninfo.dcuc.auth.sub.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/4/8 11:17
+ */
+@ApiModel(description = "标签信息")
+public class LabelTreeBaseVO implements Serializable {
+    private static final long serialVersionUID = 2649575553484909464L;
+
+
+    @ApiModelProperty(value = "父级id")
+    private String pid;
+
+    @ApiModelProperty(value = "编码值")
+    private String code;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "说明")
+    private String description;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+}

+ 77 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelTreeVO.java

@@ -0,0 +1,77 @@
+package com.dragoninfo.dcuc.auth.sub.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/4/8 11:17
+ */
+@ApiModel(description = "标签分类信息")
+public class LabelTreeVO implements Serializable {
+
+
+    private static final long serialVersionUID = 891382786211514143L;
+
+    @ApiModelProperty(value = "方便前端构建树。具体值同(警种类型Code)")
+    private String id;
+
+    @ApiModelProperty(value = "警种类型Code(详见:t_md_police_type)")
+    private String code;
+
+    @ApiModelProperty(value = "警种类型Code名称")
+    private String name;
+
+
+    @ApiModelProperty(value = "标签数组")
+    private List<LabelTreeBaseVO> child;
+
+    @ApiModelProperty(value = "是否父级")
+    private Boolean isParent;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<LabelTreeBaseVO> getChild() {
+        return child;
+    }
+
+    public void setChild(List<LabelTreeBaseVO> child) {
+        this.child = child;
+    }
+
+    public Boolean getParent() {
+        return isParent;
+    }
+
+    public void setParent(Boolean parent) {
+        isParent = parent;
+    }
+}

+ 170 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/LabelVO.java

@@ -0,0 +1,170 @@
+package com.dragoninfo.dcuc.auth.sub.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/4/8 10:08
+ */
+@ApiModel(description = "标签信息")
+public class LabelVO implements Serializable {
+
+
+    private static final long serialVersionUID = 7723834702377163723L;
+
+    @ApiModelProperty(value = "编码值")
+    @NotBlank(message = "名称不允许为空")
+    private String code;
+
+    @ApiModelProperty(value = "名称")
+    @NotBlank(message = "名称不允许为空")
+    @Length(min = 1, max = 30)
+    private String name;
+
+    @ApiModelProperty(value = "说明")
+    private String description;
+
+    @ApiModelProperty(value = "警种类型Code(详见:t_md_police_type)")
+    @NotBlank(message = "名称不允许为空")
+    private String policeTypeCode;
+
+
+    @ApiModelProperty(value = "创建人身份证")
+    private String createUserIdcard;
+
+    @ApiModelProperty(value = "创建人姓名")
+    private String createUserName;
+
+    @ApiModelProperty(value = "创建人")
+    private String createUser;
+
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date createTime;
+
+
+    @ApiModelProperty(value = "修改人")
+    private String updateUser;
+
+
+    @ApiModelProperty(value = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "删除人")
+    private String deleteUser;
+
+
+    @ApiModelProperty(value = "删除时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date deleteTime;
+
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getPoliceTypeCode() {
+        return policeTypeCode;
+    }
+
+    public void setPoliceTypeCode(String policeTypeCode) {
+        this.policeTypeCode = policeTypeCode;
+    }
+
+    public String getCreateUserIdcard() {
+        return createUserIdcard;
+    }
+
+    public void setCreateUserIdcard(String createUserIdcard) {
+        this.createUserIdcard = createUserIdcard;
+    }
+
+    public String getCreateUserName() {
+        return createUserName;
+    }
+
+    public void setCreateUserName(String createUserName) {
+        this.createUserName = createUserName;
+    }
+
+    public String getCreateUser() {
+        return createUser;
+    }
+
+    public void setCreateUser(String createUser) {
+        this.createUser = createUser;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateUser() {
+        return updateUser;
+    }
+
+    public void setUpdateUser(String updateUser) {
+        this.updateUser = updateUser;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getDeleteUser() {
+        return deleteUser;
+    }
+
+    public void setDeleteUser(String deleteUser) {
+        this.deleteUser = deleteUser;
+    }
+
+    public Date getDeleteTime() {
+        return deleteTime;
+    }
+
+    public void setDeleteTime(Date deleteTime) {
+        this.deleteTime = deleteTime;
+    }
+
+}

+ 152 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/sub/vo/UserMgeLogRptVo.java

@@ -0,0 +1,152 @@
+package com.dragoninfo.dcuc.auth.sub.vo;
+
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+
+import java.util.List;
+
+public class UserMgeLogRptVo extends MgeLog {
+    private String jsonData;
+    private List<CompareVo> dftList;
+    private String userLogDataId;
+    private String currentData;
+    private String previousData;
+    private String operateBeginTime;
+    private String operateEndTime;
+    private String operateContent;
+    private Object object;
+    private String userId;
+    private String targetUserName;
+    private String targetOrgName;
+    private String targetName;
+    private String targetPoliceNumber;
+    private String targetIdcard;
+    private String auditType;
+
+    public String getJsonData() {
+        return jsonData;
+    }
+
+    public void setJsonData(String jsonData) {
+        this.jsonData = jsonData;
+    }
+
+    public List<CompareVo> getDftList() {
+        return dftList;
+    }
+
+    public void setDftList(List<CompareVo> dftList) {
+        this.dftList = dftList;
+    }
+
+    public String getUserLogDataId() {
+        return userLogDataId;
+    }
+
+    public void setUserLogDataId(String userLogDataId) {
+        this.userLogDataId = userLogDataId;
+    }
+
+    public String getCurrentData() {
+        return currentData;
+    }
+
+    public void setCurrentData(String currentData) {
+        this.currentData = currentData;
+    }
+
+    public String getPreviousData() {
+        return previousData;
+    }
+
+    public void setPreviousData(String previousData) {
+        this.previousData = previousData;
+    }
+
+    public String getOperateBeginTime() {
+        return operateBeginTime;
+    }
+
+    public void setOperateBeginTime(String operateBeginTime) {
+        this.operateBeginTime = operateBeginTime;
+    }
+
+    public String getOperateEndTime() {
+        return operateEndTime;
+    }
+
+    public void setOperateEndTime(String operateEndTime) {
+        this.operateEndTime = operateEndTime;
+    }
+
+    public String getOperateContent() {
+        return operateContent;
+    }
+
+    public void setOperateContent(String operateContent) {
+        this.operateContent = operateContent;
+    }
+
+    public Object getObject() {
+        return object;
+    }
+
+    public void setObject(Object object) {
+        this.object = object;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getTargetUserName() {
+        return targetUserName;
+    }
+
+    public void setTargetUserName(String targetUserName) {
+        this.targetUserName = targetUserName;
+    }
+
+    public String getTargetOrgName() {
+        return targetOrgName;
+    }
+
+    public void setTargetOrgName(String targetOrgName) {
+        this.targetOrgName = targetOrgName;
+    }
+
+    public String getTargetName() {
+        return targetName;
+    }
+
+    public void setTargetName(String targetName) {
+        this.targetName = targetName;
+    }
+
+    public String getTargetPoliceNumber() {
+        return targetPoliceNumber;
+    }
+
+    public void setTargetPoliceNumber(String targetPoliceNumber) {
+        this.targetPoliceNumber = targetPoliceNumber;
+    }
+
+    public String getAuditType() {
+        return auditType;
+    }
+
+    public void setAuditType(String auditType) {
+        this.auditType = auditType;
+    }
+
+    public String getTargetIdcard() {
+        return targetIdcard;
+    }
+
+    public void setTargetIdcard(String targetIdcard) {
+        this.targetIdcard = targetIdcard;
+    }
+}

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

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dcuc-auth</artifactId>
         <groupId>com.dragoninfo</groupId>
-        <version>2.4.0-tjdsj-SNAPSHOT</version>
+        <version>2.4.1-tjdsj-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dcuc-auth-service</artifactId>
@@ -59,20 +59,20 @@
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-app-api</artifactId>
-            <version>2.2.2-tjdsj-SNAPSHOT</version>
+            <version>2.2.3-tjdsj-SNAPSHOT</version>
         </dependency>
 
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-org-api</artifactId>
-            <version>2.0.2-tjdsj-SNAPSHOT</version>
+            <version>2.0.3-tjdsj-SNAPSHOT</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.dragoninfo</groupId>
-            <artifactId>dcuc-user-api</artifactId>
-            <version>2.0.4-tjdsj-SNAPSHOT</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.dragoninfo</groupId>-->
+<!--            <artifactId>dcuc-user-api</artifactId>-->
+<!--            <version>2.0.4-tjdsj-SNAPSHOT</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>com.dragoninfo</groupId>

+ 35 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/AppMtAuthBPO.java

@@ -0,0 +1,35 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.AppMtAuth;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.List;
+//
+//@Repository
+//public class AppMtAuthBPO extends BaseBPO<AppMtAuth, String> {
+//
+//    public void saveAll(List<AppMtAuth> appMtAuthList) {
+//        PersistentFactory.getHibernateDao().saveOrUpdateAll(appMtAuthList);
+//    }
+//
+//
+////    public List<AppMtAuth> appMtList(String userId) {
+////        String hql = "from AppMtAuth t where userId = ? and " +
+////                "userId in (select userId from ManageInfo " +
+////                "where userId = ? and deleted = 0)";
+////        List<AppMtAuth> list = PersistentFactory.getHibernateDao().find(hql, new Object[]{userId, userId});
+////        return list;
+////    }
+////
+////    public AppMtAuth getByUserId(String mgeId, String userId) {
+////        String hql = "from AppMtAuth t where mgeId=? and userId=?";
+////        List<AppMtAuth> list = PersistentFactory.getHibernateDao().find(hql, new Object[]{mgeId, userId});
+////        if (list.size() > 0)
+////            return list.get(0);
+////        return null;
+////    }
+//}

+ 360 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/ManageInfoBPO.java

@@ -0,0 +1,360 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+//import com.dragoninfo.dcuc.auth.admin.vo.AdminAuditVO;
+//import com.dragoninfo.dcuc.auth.admin.vo.MgeMonitorVO;
+//import com.dragoninfo.dcuc.auth.admin.vo.NoticeUserVO;
+//import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
+//import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
+//import com.dragoninfo.dcuc.duceap.enums.UserTypeEnum;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.base.enums.BooleanEnum;
+//import com.dragonsoft.duceap.commons.util.string.StringUtils;
+//import com.dragonsoft.duceap.core.context.ContextUtils;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import com.dragonsoft.duceap.core.search.Searchable;
+//import com.dragonsoft.duceap.core.search.SqlGenerator;
+//import com.dragonsoft.duceap.core.search.SqlSource;
+//import org.springframework.data.domain.Page;
+//import org.springframework.data.domain.Sort;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.Collection;
+//import java.util.List;
+//import java.util.Map;
+//
+//
+//@Repository
+//public class ManageInfoBPO extends BaseBPO<ManageInfo, String> {
+
+//    /**
+//     * 范围内非管理员用户userid
+//     *
+//     * @param searchable
+//     * @return
+//     */
+//    public List<Map<String, String>> notAdminMapList(Searchable searchable, String orgId, String type) {
+//        searchable.addSort(Sort.Direction.ASC, "sortNo");
+//        searchable.addSort(Sort.Direction.ASC, "userType");
+//        searchable.addSort(Sort.Direction.ASC, "orgCode");
+//        searchable.addSort(Sort.Direction.ASC, "case when orgId = '" + orgId + "' then 1 else 2 end");
+//        String userId = ContextUtils.getUserInfo().getId();
+//        String hql = "select new map (id as userId, orgId as orgId) from UserInfoView tu where tu.id != '" + userId + "' and tu.deleted='0'"
+//                + " and tu.id not in (select a.userId from ManageInfo a," + type + " b where deleted = '0' and a.id=b.mgeId) " +
+//                "and ((tu.userType='10' and tu.jobType in ('11','12','13')) or (tu.userType='20' and tu.userStatus='1')) ";
+//        SqlSource sqlSource = SqlGenerator.generateHqlCacheable("", searchable);
+//        String sqlStr = sqlSource.getSql().replaceAll("from", "").replaceAll("where", "and");
+//        hql += sqlStr;
+//        return PersistentFactory.getHibernateDao().find(hql, sqlSource.getParams());
+//    }
+
+//    public Page<AdminAuditVO> adminAuditListByOrgId(String orgId, Searchable searchable) {
+//        String condition = "";
+//        Object[] params = new Object[]{orgId};
+//        String sql = " select a.* from ( " +
+//                " select ta.user_id as id,tu.name,tu.police_number, tc.name create_user, " +
+//                " ta.create_time create_time_string,tu.user_type," +
+//                " tu.title,tu.man_type ,ta.id as mge_id, tu.auxiliary_type" +
+//                "  from t_admin_manage_info ta " +
+//                "  left join t_user_info tu " +
+//                "  on tu.id=ta.user_id " +
+//                "  left join t_user_info tc " +
+//                " on ta.create_user = tc.id " +
+//                " where ta.org_id = ? order by create_time_string desc" +
+//                " ) a,t_admin_app_mt_auth b where b.mge_id=a.mge_id";
+//        sql += condition;
+//        Page<AdminAuditVO> userInfoPage = PersistentFactory.getJdbcDao().paging(sql, searchable, AdminAuditVO.class, params);
+//
+//        return userInfoPage;
+//    }
+
+//    public Page<AuthUserDTO> rightRangeManagerList(String mtAuthObject, String condition, Searchable searchable) {
+//        String hql = "from UserInfo t where t.id in " +
+//                "(select ta.userId from ManageInfo ta, " + mtAuthObject + " tu where ta.id=tu.mgeId and ta.deleted='0' and (" + condition + "))";
+//        searchable.removeSearchFilter("orgId_eq");
+//        SqlSource sqlSource = SqlGenerator.generateHqlCacheable("", searchable);
+//        String sqlStr = sqlSource.getSql().replaceAll("from", "").replaceAll("where", "and");
+//        hql += sqlStr;
+//        Page<AuthUserDTO> userInfoPage = PersistentFactory.getHibernateDao().paging(hql, searchable.getPage(), sqlSource.getParams());
+//        return userInfoPage;
+//    }
+
+//    /**
+//     * 判断此人是否 是用户管理员
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    public boolean findOrgOrMenuExistence(String userId) {
+//        String hql = "select count(1) from T_ADMIN_ORG_MT_AUTH t where user_id ='" + userId + "' ";
+//        int orgMtCount = PersistentFactory.getJdbcDao().queryForInt(hql);
+//        hql = "select count(1)  from t_admin_menu_mt_auth t where user_id ='" + userId + "'";
+//        int menuCount = PersistentFactory.getJdbcDao().queryForInt(hql);
+//        if (orgMtCount > 0 || menuCount > 0) {
+//            return false;
+//        }
+//        return true;
+//    }
+
+//    /**
+//     * 删除主表管理员
+//     *
+//     * @param userId
+//     */
+//    public void delManage(String userId) {
+//        String hql = "update ManageInfo set deleted='1' where userId=?";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql, new Object[]{userId});
+//    }
+//
+//    /**
+//     * 删除授权管理员权限
+//     *
+//     * @param userId
+//     */
+//    public void delAppAuth(String userId) {
+//        String hql = "delete from AppMtAuth t where userId ='" + userId + "'";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql);
+//    }
+
+//    public ManageInfo manageInfoByUserId(String userId) {
+//        String sql = "from ManageInfo t where t.deleted='0' and t.userId=?";
+//        List<ManageInfo> list = PersistentFactory.getHibernateDao().find(sql, new Object[]{userId});
+//        if (list.size() == 0){
+//            return null;
+//        }
+//        return list.get(0);
+//    }
+
+//    public void saveAll(Collection entities) {
+//        PersistentFactory.getHibernateDao().saveOrUpdateAll(entities);
+//    }
+
+//    public Page<AuthUserDTO> adminList(Searchable searchable) {
+//        searchable.addSort(Sort.Direction.ASC, "userType");
+//        searchable.addSort(Sort.Direction.ASC, "orgCode");
+//        String hql = " from UserInfo tu where tu.deleted='0'"
+//                + " and tu.id in (select a.userId from ManageInfo a where deleted = '0' )";
+//        SqlSource sqlSource = SqlGenerator.generateHqlCacheable("", searchable);
+//        String sqlStr = sqlSource.getSql().replaceAll("from", "").replaceAll("where", "and");
+//        sqlSource.setSql(sqlStr);
+//        hql += sqlStr;
+//        System.out.println(sqlStr);
+//        Page<AuthUserDTO> userInfoPage = PersistentFactory.getHibernateDao().paging(hql, searchable.getPage(), sqlSource.getParams());
+//        return userInfoPage;
+//    }
+//
+//    /**
+//     * 范围内管理员用户userid
+//     *
+//     * @param searchable
+//     * @return
+//     */
+//    public List<Map<String, String>> adminMapList(Searchable searchable) {
+//        searchable.addSort(Sort.Direction.ASC, "userType");
+//        searchable.addSort(Sort.Direction.ASC, "orgCode");
+//        String hql = "select new map (id as userId, orgId as orgId) from UserInfo tu where tu.deleted='0'"
+//                + " and tu.id in (select a.userId from ManageInfo a where deleted = '0' )";
+//        SqlSource sqlSource = SqlGenerator.generateHqlCacheable("", searchable);
+//        String sqlStr = sqlSource.getSql().replaceAll("from", "").replaceAll("where", "and");
+//        hql += sqlStr;
+//        return PersistentFactory.getHibernateDao().find(hql, sqlSource.getParams());
+//    }
+//
+//    public Page<AuthUserDTO> noAdminList(String orgId, Searchable searchable) {
+//        String hql = "select distinct t1.id, t1.name, t1.police_Number policeNumber, t1.idcard, t1.user_Type userType, t1.org_name orgName,t1.org_id orgId from t_User_Info t1 where t1.org_Id = '" + orgId + "' and t1.id not in (select a.user_Id from T_ADMIN_Manage_Info a where a.deleted = '0')" +
+//                " and deleted='0' order by t1.user_Type";
+//        Page<AuthUserDTO> userInfoPage = PersistentFactory.getJdbcDao().paging(hql, searchable);
+//        return userInfoPage;
+//    }
+
+//    /**
+//     * 删除用户管理员权限
+//     *
+//     * @param userId
+//     */
+//    public void deleteAdmin(String userId) {
+//        String hql = "delete from MenuMtAuth t where userId ='" + userId + "'";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql);
+//        hql = "delete from OrgMtAuth t where userId ='" + userId + "'";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql);
+//        hql = "delete from UserMtAuth t where userId ='" + userId + "'";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql);
+////        hql = "delete from AppMtAuth t where userId ='" + userId + "'";
+////        PersistentFactory.getHibernateDao().bulkUpdate(hql);
+//        hql = "delete from MgeMtAuth t where userId ='" + userId + "'";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql);
+//    }
+//    /**
+//     * 判断此人是否 是授权管理员
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    public boolean findAppMtExistence(String userId) {
+//        String hql = "select count(1) from t_admin_app_mt_auth  where user_id ='" + userId + "'";
+//        int oAppMtAuth = PersistentFactory.getJdbcDao().queryForInt(hql);
+//
+//        if (oAppMtAuth > 0) {
+//            return false;
+//        }
+//        return true;
+//    }
+
+//    public List<MgeMonitorVO> getAbnormalInfo(int limitDay) {
+//        String hql2 = "select new com.dragoninfo.dcuc.user.user.entity.AccountInfo(userId,max(lastLoginTime)) " +
+//                "from AccountInfo where userId!='402881cb4era66f4014b0ghd0b875485' and " +
+//                "userId in(select userId from ManageInfo) and deleted='0' and isAtive='1' group by userId";
+//        List<AccountInfo> accountInfoList = PersistentFactory.getHibernateDao().find(hql2);
+//        List<MgeMonitorVO> list = new ArrayList<MgeMonitorVO>();
+//        if (accountInfoList != null && accountInfoList.size() > 0) {
+//            for (AccountInfo accountInfo : accountInfoList) {
+//                if (accountInfo.getEndDate() == null || DateUtils.calculationToDays(new Date(), accountInfo.getEndDate()) > 0) {
+//                    if (accountInfo.getLastLoginTime() == null) {
+//                        continue;
+//                    }
+//                    int calculationToDays = DateUtils.calculationToDays(new Date(), accountInfo.getLastLoginTime());
+//                    if (calculationToDays > limitDay) {
+//                        MgeMonitorVO mgeMonitorVO = new MgeMonitorVO();
+//                        mgeMonitorVO.setDayNum(calculationToDays);
+//                        mgeMonitorVO.setLastLoginTime(new java.sql.Date(accountInfo.getLastLoginTime().getTime()));
+//                        mgeMonitorVO.setUserId(accountInfo.getUserId());
+//                        list.add(mgeMonitorVO);
+//                    }
+//                }
+//            }
+//        }
+//        return list;
+//        return null;
+//    }
+
+
+//    public List<NoticeUserVO> getManagerByOrgId(String orgId) {
+//        String sql = "select t.user_id, u.name, c.massage as mobile, m.org_id as user_Mt_Auth from t_admin_user_mt_auth m " +
+//                "left join t_admin_manage_info t on t.user_id = m.user_id " +
+//                "left join (select user_id,massage from t_user_contact where type = ?) c on t.user_id=c.user_id " +
+//                "left join t_user_info u on m.user_id = u.id " +
+//                "where u.org_id = ? and t.deleted='0' and u.deleted='0'";
+//        List<NoticeUserVO> list = PersistentFactory.getJdbcDao().queryForList(sql, NoticeUserVO.class, ContactTypeEnum.mobileWork.getValue(), orgId);
+//        return list;
+//        return null;
+//    }
+
+//    /**
+//     * 获取有管理本机构权限的管理员
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    public List<NoticeUserVO> getOrgMgeManager(String orgId) {
+//        String sql = "select t.user_id, u.name, c.massage as mobile, m.org_id as user_Mt_Auth from t_admin_user_mt_auth m " +
+//                "left join t_admin_manage_info t on t.user_id = m.user_id " +
+//                "left join (select user_id,massage from t_user_contact where type = ?) c on t.user_id=c.user_id " +
+//                "left join t_user_info u on m.user_id = u.id " +
+//                "where m.org_id like ? and t.deleted='0' and u.deleted='0'";
+//        List<NoticeUserVO> list = PersistentFactory.getJdbcDao().queryForList(sql, NoticeUserVO.class, ContactTypeEnum.mobileWork.getValue(), '%' + orgId + '%');
+//        return list;
+//        return null;
+//    }
+
+//    public List<Map<String, Object>> mgeCountDtlList(String mtAuthObject, String condition) {
+//        String sql = "select count(distinct t.id) as total,t.org_id as orgId from " +
+//                " T_ADMIN_MANAGE_INFO ta  " +
+//                "left join T_USER_INFO t on ta.user_id = t.id " +
+//                "where t.name !='" + dcucUserProperties.getRootUser() + "' and ta.deleted='0' " +
+//                " and t.deleted='0' and t.org_id in (" + condition + ") " +
+//                "group by t.org_id";
+//        String hql = "select count(t.id) from T_USER_INFO t where t.name != '" + dcucUserConfig.getRootUser() + "' and t.id in " +
+//                "(select ta.user_id from T_ADMIN_MANAGE_INFO ta, " + mtAuthObject + " tu where ta.id=tu.mge_id and ta.deleted='0' and (" + condition + "))";
+//        return PersistentFactory.getJdbcDao().queryForList(sql);
+//        return null;
+//    }
+
+//    public List<Map<String, Object>> mgeCountDtlListForGD(String rootUser, String condition) {
+//        String sql = "select t2.org_id as orgId " +
+//                "from T_USER_INFO t1 " +
+//                "join (select t3.USER_ID,t4.org_id\n" +
+//                "      from T_ADMIN_MANAGE_INFO t3\n" +
+//                "      cross join T_ADMIN_ORG_MT_AUTH t4\n" +
+//                "      where t3.ID = t4.MGE_ID\n" +
+//                "            and t3.DELETED = '0'\n" +
+//                "            ) t2 " +
+//                "on t1.id = t2.user_id " +
+//                "and t1.ID <>  '" + rootUser + "' ";
+//        return PersistentFactory.getJdbcDao().queryForList(sql);
+//    }
+//
+//    public Page<AuthUserDTO> rightRangeManagerListWithQuery(String mtAuthObject, String condition, Searchable searchable) {
+//        String hql = "from UserInfo t where t.name != '" + dcucUserProperties.getRootUser() + "' and t.id in " +
+//                "(select ta.userId from ManageInfo ta, " + mtAuthObject + " tu where ta.id=tu.mgeId and ta.deleted='0' and (" + condition + "))";
+//        SqlSource sqlSource = SqlGenerator.generateHqlCacheable("", searchable);
+//        String sqlStr = sqlSource.getSql().replaceAll("from", "").replaceAll("where", "and");
+//        hql += sqlStr;
+//        Page<UserInfo> userInfoPage = PersistentFactory.getHibernateDao().paging(hql, searchable.getPage(), sqlSource.getParams());
+//        return userInfoPage;
+//          return null;
+//    }
+//
+//    public List<AuthUserDTO> exprotAdminList(String orgIds) {
+//        String sql = "select tu.name ,tu.police_number ,tu.idcard,tu.org_id ,tu.user_type " +
+//                "from t_user_info tu " +
+//                "left join t_admin_manage_info tm on tu.id = tm.user_id " +
+//                "where tu.org_id in (" + orgIds +
+//                ") and tm.deleted ='0' ";
+//        return PersistentFactory.getJdbcDao().queryForList(sql, UserInfo.class);
+//        return null;
+//    }
+
+//    public int adminCounts(String orgId) {
+//        String sql = "select count(1) from t_admin_manage_info t where t.org_id = ? and t.deleted = 0";
+//        return PersistentFactory.getJdbcDao().queryForInt(sql, new Object[]{orgId});
+//    }
+
+//    /**
+//     * 户政 用户信息统计:管理员数统计
+//     *
+//     * @param busy            单个业务域代码
+//     * @param zaPolicectegory 警种"治安"代码
+//     * @return
+//     */
+//    public List<Map<String, Object>> mgeStatistcs(String busy, String zaPolicectegory) {
+//        List<Map<String, Object>> list = null;
+//        if (StringUtils.isEmpty(busy)) {
+//            /** "其他"列 管理员数 **/
+//            String sql = "select new map(case substring(t.orgCode,0,2) when 'LS' then substring(t.orgCode,3,2) else substring(t.orgCode,0,2) end as area, count(t.id) as num) from UserInfo t where t.id in (select m.userId from ManageInfo m where m.deleted=?) and (t.policeCategory is null or t.policeCategory!=? or t.policeBusiness is null) and t.deleted=? and t.userType in (?,?) group by case substring(t.orgCode,0,2) when 'LS' then substring(t.orgCode,3,2) else substring(t.orgCode,0,2) end ";
+//            list = PersistentFactory.getHibernateDao().find(sql, new Object[]{BooleanEnum.FALSE.getValue(), zaPolicectegory, BooleanEnum.FALSE.getValue(), UserTypeEnum.POLICE.getValue(), UserTypeEnum.HELPER.getValue()});
+//        } else {
+//            /** 各业务域列 管理员数 **/
+//            String sql = "select new map(case substring(t.orgCode,0,2) when 'LS' then substring(t.orgCode,3,2) else substring(t.orgCode,0,2) end as area, count(t.id) as num) from UserInfo t where t.id in (select m.userId from ManageInfo m where m.deleted=?) and t.policeCategory=? and t.policeBusiness like concat(concat('%',?),'%') and t.deleted=? and t.userType in (?,?) group by case substring(t.orgCode,0,2) when 'LS' then substring(t.orgCode,3,2) else substring(t.orgCode,0,2) end ";
+//            list = PersistentFactory.getHibernateDao().find(sql, new Object[]{BooleanEnum.FALSE.getValue(), zaPolicectegory, busy, BooleanEnum.FALSE.getValue(), UserTypeEnum.POLICE.getValue(), UserTypeEnum.HELPER.getValue()});
+//        }
+//        return list;
+//    }
+//
+//    /**
+//     * 户政 用户信息统计:管理员数统计(所有业务域)
+//     *
+//     * @param zaPolicectegory 警种"治安"代码
+//     * @return
+//     */
+//    public List<Map<String, Object>> mgeStatistcsForList(String zaPolicectegory) {
+//        List<Map<String, Object>> list = null;
+//        /** 各业务域列 管理员数 **/
+//        String sql = "select new map(case substring(t.orgCode,0,2) when 'LS' then substring(t.orgCode,3,2) else substring(t.orgCode,0,2) end as area, count(t.id) as num,t.policeBusiness as policeBusiness) from UserInfo t where t.id in (select m.userId from ManageInfo m where m.deleted=?) and t.policeCategory=?  and t.deleted=? and t.userType in (?,?) group by case substring(t.orgCode,0,2) when 'LS' then substring(t.orgCode,3,2) else substring(t.orgCode,0,2) end,t.policeBusiness ";
+//        list = PersistentFactory.getHibernateDao().find(sql, new Object[]{BooleanEnum.FALSE.getValue(), zaPolicectegory, BooleanEnum.FALSE.getValue(), UserTypeEnum.POLICE.getValue(), UserTypeEnum.HELPER.getValue()});
+//        return list;
+//    }
+//
+//    /**
+//     * 根据机构ids获取对应管理员的数量
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    public int getMgeNumByOrgIds(String orgId, String name, String table) {
+//        orgId = "%" + orgId + "%";
+//        String sql = "SELECT COUNT(1) FROM T_USER_INFO t WHERE t.id in (SELECT ta.user_id from T_ADMIN_MANAGE_INFO ta," + table + " tu WHERE ta.id=tu.mge_id and ta.deleted='0' and ( tu.org_id like ?))  and id != ? ";
+//        return PersistentFactory.getJdbcDao().queryForInt(sql, new Object[]{orgId, name});
+//    }
+//}

+ 55 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/MenuMtAuthBPO.java

@@ -0,0 +1,55 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MenuMtAuth;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.base.entity.security.SecurityRight;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+//@Repository
+//public class MenuMtAuthBPO extends BaseBPO<MenuMtAuth, String> {
+//
+////    public List<SecurityRight> getMenuForIndex(String userId, String appId) {
+////        String hql = "select DISTINCT new com.dragoninfo.dcuc.user.admin.vo.SecurityRight(t.menuId as id,m.name,m.code,m.url,m.appId as appliation_id,m.parentId as p_id," +
+////                "m.seq as sort_num,m.showMode,m.isSystem) from MenuMtAuth t, SysMenuInfo m " +
+////                "where t.menuId = m.id and (t.userId =? or t.userId ='all')and m.appId=? " +
+////                "and m.isActive='1' order by m.seq asc";
+////        List<SecurityRight> rights = PersistentFactory.getHibernateDao().find(hql, new Object[]{userId, appId});
+////        return rights;
+////    }
+////
+////    public List<SecurityRight> getMenuByIds(List<String> ids, String tableName) {
+////        String strIds = "";
+////        for (String id : ids) {
+////            strIds = strIds + "'" + id + "',";
+////        }
+////        if ("".equals(strIds)) {
+////            return new ArrayList<SecurityRight>();
+////        } else {
+////            strIds = strIds.substring(0, strIds.length() - 1);
+////        }
+////        String hql = "select new com.dragoninfo.dcuc.user.admin.vo.SecurityRight(m.id,m.name,m.code,m.url,m.appId as appliation_id,m.parentId as p_id," +
+////                "m.seq as sort_num,m.showMode,m.isSystem) from " + tableName + " m " +
+////                "where m.id in (" + strIds + ")" +
+////                "and m.isActive='1' order by m.seq asc";
+////        List<SecurityRight> rights = PersistentFactory.getHibernateDao().find(hql);
+////        return rights;
+////    }
+////
+////    public List<SecurityRight> getAllMenus(String tableName) {
+////        String hql = "select new com.dragoninfo.dcuc.user.admin.vo.SecurityRight(m.id,m.name,m.code,m.url,m.appId as appliation_id,m.parentId as p_id," +
+////                "m.seq as sort_num,m.showMode,m.isSystem) from " + tableName + " m " +
+////                "where m.isActive='1' order by m.seq asc";
+////        List<SecurityRight> rights = PersistentFactory.getHibernateDao().find(hql);
+////        return rights;
+////    }
+//
+//    public void saveAll(List<MenuMtAuth> menuMtAuths) {
+//        PersistentFactory.getHibernateDao().saveOrUpdateAll(menuMtAuths);
+//    }
+//}

+ 374 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/MgeLogBPO.java

@@ -0,0 +1,374 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+//import com.dragoninfo.dcuc.auth.sub.vo.UserMgeLogRptVo;
+//import com.dragoninfo.dcuc.common.SystemConstant;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
+//import com.dragonsoft.duceap.commons.util.string.StringUtils;
+//import com.dragonsoft.duceap.core.persistent.dialect.DatabaseType;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import com.dragonsoft.duceap.core.search.Searchable;
+//import org.springframework.data.domain.Page;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+//@Repository
+//public class MgeLogBPO extends BaseBPO<MgeLog, String> {
+
+//    public String convertIdsToNames(String menuIds) {
+//        String hql = "select name " +
+//                "  from SysMenuInfo " +
+//                " where ? like concat('%',concat(id,'%'))";
+//        return PersistentFactory.getHibernateDao().find(hql, new Object[]{menuIds}).toString();
+//    }
+
+//    public void saveAll(List<MgeLog> mgeLogList) {
+//        PersistentFactory.getHibernateDao().saveOrUpdateAll(mgeLogList);
+//    }
+
+//    public Page<MgeLog> findPage(Searchable searchable) {
+//        DatabaseType defaultDatabaseType = SystemConstant.getDefaultDatabaseType();
+//        List<String> params = new ArrayList<String>();
+//        String conditionSql = "";
+//        //操作时间区间
+//        if (searchable.getSearchFilterByKey("operateTimeKS_eq") != null) {
+//            String timeStart = searchable.getSearchFilterByKey("operateTimeKS_eq").getValue().toString() + "000000";
+//            searchable.removeSearchFilter("operateTimeKS_eq");
+//            if (DatabaseType.ORACLE.equals(defaultDatabaseType)) {
+//                conditionSql += " where operate_Time >= to_date(?,'yyyy/mm/dd hh24:mi:ss') ";
+//            } else if (DatabaseType.MYSQL.equals(defaultDatabaseType)) {
+//                conditionSql += " where operate_Time >= str_to_date(?,'%Y%m%d%H%i%s') ";
+//            }
+//            params.add(timeStart);
+//        }
+//        if (searchable.getSearchFilterByKey("operateTimeJS_eq") != null) {
+//            String timeEnd = searchable.getSearchFilterByKey("operateTimeJS_eq").getValue().toString() + "235959";
+//            searchable.removeSearchFilter("operateTimeJS_eq");
+//            if (!conditionSql.equals("")) {
+//                conditionSql += " and ";
+//            } else {
+//                conditionSql += " where ";
+//            }
+//            if (DatabaseType.ORACLE.equals(defaultDatabaseType)) {
+//                conditionSql += " operate_Time <= to_date(?,'yyyy/mm/dd hh24:mi:ss') ";
+//            } else if (DatabaseType.MYSQL.equals(defaultDatabaseType)) {
+//                conditionSql += " operate_Time <= str_to_date(?,'%Y%m%d%H%i%s') ";
+//            }
+//            params.add(timeEnd);
+//        }
+//        String hql = "select * from T_ADMIN_MGE_LOG t" + conditionSql + " order by operate_Time desc";
+//        return PersistentFactory.getJdbcDao().paging(hql, searchable, MgeLog.class, params.toArray());
+//    }
+//
+//    public MgeLog getMgeLog(String id) {
+//        StringBuilder sbHql = new StringBuilder();
+//        MgeLog mgeLog = new MgeLog();
+//        sbHql.append("select a.id,a.object_id,b.name, b.idcard,b.org_name,object_type,a.operate_type,a.operate_user_name,c.org_name operate_org_name,a.operate_time,operate_org_id ");
+//        sbHql.append(" from T_ADMIN_MGE_LOG a");
+//        sbHql.append(" left join T_USER_INFO b on a.mge_id = b.id ");
+//        sbHql.append(" left join T_USER_INFO c on a.operate_user_id = c.id ");
+//        sbHql.append("where a.id =? ");
+//        String sql = sbHql.toString();
+//        List<MgeLog> list = PersistentFactory.getJdbcDao().queryForList(sql, MgeLog.class, id);
+//        if (CollectionUtils.isNotEmpty(list)) {
+//            mgeLog = list.get(0);
+//        }
+//        return mgeLog;
+//    }
+//
+//    public Page<MgeLog> findMgeAuditLogReport(MgeLog mgeLog, Searchable searchable) {
+//        List<String> params = new ArrayList<String>();
+//        StringBuilder sbHql = new StringBuilder();
+//        sbHql.append("select a.id,a.object_id,b.name, b.idcard,b.org_name,object_type,b.police_number,");
+//        sbHql.append("a.operate_type,a.operate_user_name,c.org_name operate_org_name,a.operate_time,operate_org_id ");
+//        sbHql.append(" from T_ADMIN_MGE_LOG a");
+//        sbHql.append(" left join T_USER_INFO b on a.mge_id = b.id ");
+//        sbHql.append(" left join T_USER_INFO c on a.operate_user_id = c.id ");
+//        sbHql.append("where 1=1 ");
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getName())) {
+//            sbHql.append("and b.name = ? ");
+//            params.add(mgeLog.getName());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getIdcard())) {
+//            sbHql.append("and b.idcard = ? ");
+//            params.add(mgeLog.getIdcard());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getObjectType())) {
+//            sbHql.append("and a.object_type = ? ");
+//            params.add(mgeLog.getObjectType());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getOperateUserName())) {
+//            sbHql.append("and a.operate_user_name = ? ");
+//            params.add(mgeLog.getOperateUserName());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getOrgId())) {
+//            sbHql.append("and b.org_id = ? ");
+//            params.add(mgeLog.getOrgId());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getPoliceNumber())) {
+//            sbHql.append("and b.police_number = ? ");
+//            params.add(mgeLog.getPoliceNumber());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getBeginTime())) {
+//            sbHql.append("and a.operate_time >= to_date(?,'yyyymmddhh24miss') ");
+//            params.add(mgeLog.getBeginTime());
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getEndTime())) {
+//            sbHql.append("and a.operate_time <= to_date(?,'yyyymmddhh24miss') ");
+//            params.add(mgeLog.getEndTime());
+//        }
+//        sbHql.append("order by a.operate_time desc ");
+//        return PersistentFactory.getJdbcDao().paging(sbHql.toString(), searchable, MgeLog.class, params.toArray());
+//    }
+//
+//    public Page<UserMgeLogRptVo> findUserMgeLogSummary(UserMgeLogRptVo mgeLog, Searchable searchable) {
+//        List<Object> params = new ArrayList<Object>();
+//        List<Object> userParams = new ArrayList<Object>();
+//        List<Object> mgeParams = new ArrayList<Object>();
+//        List<Object> orgParams = new ArrayList<Object>();
+//        DatabaseType defaultDatabaseType = SystemConstant.getDefaultDatabaseType();
+//        String strUserCondition = "", strMgeCondition = "", strOrgCondition = "";
+//        String auditType = "";
+//        String sql = "";
+//        if (searchable.containsSearchKey("audit_type_eq")) {
+//            auditType = searchable.getSearchFilterByKey("audit_type_eq").getValue().toString();
+//            searchable.removeSearchFilter("audit_type_eq");
+//        }
+//
+//        if (StringUtils.isNotEmpty(mgeLog.getIdcard())) {
+//            strUserCondition += "and (b.idcard = ? or c.idcard = ?) ";
+//            strOrgCondition = "and b.idcard = ? ";
+//            strMgeCondition += "and (b.idcard = ? or c.idcard = ?) ";
+//            userParams.add(mgeLog.getIdcard());
+//            userParams.add(mgeLog.getIdcard());
+//            orgParams.add(mgeLog.getIdcard());
+//            mgeParams.add(mgeLog.getIdcard());
+//            mgeParams.add(mgeLog.getIdcard());
+//        }
+//        if (StringUtils.isNotEmpty(mgeLog.getObjectType())) {
+//            strUserCondition += "and a.object_type = ? ";
+//            strMgeCondition += "and a.object_type = ? ";
+//            userParams.add(mgeLog.getObjectType());
+//            mgeParams.add(mgeLog.getObjectType());
+//        }
+//        if (StringUtils.isNotEmpty(mgeLog.getOperateType())) {
+//            strUserCondition += "and a.operate_type = ? ";
+//            strOrgCondition += "and a.operate_type = ? ";
+//            strMgeCondition += "and a.operate_type = ? ";
+//            userParams.add(mgeLog.getOperateType());
+//            mgeParams.add(mgeLog.getOperateType());
+//            orgParams.add(mgeLog.getOperateType());
+//        }
+//        if (StringUtils.isNotEmpty(mgeLog.getOperateUserName())) {
+//            strUserCondition += " and b.name = ?";
+//            strOrgCondition += " and b.name = ?";
+//            strMgeCondition += " and b.name = ?";
+//            userParams.add(mgeLog.getOperateUserName());
+//            orgParams.add(mgeLog.getOperateUserName());
+//            mgeParams.add(mgeLog.getOperateUserName());
+//        }
+//        if (StringUtils.isNotEmpty(mgeLog.getBeginTime())) {
+//            if (DatabaseType.ORACLE.equals(defaultDatabaseType)) {
+//                strUserCondition += " and a.operate_time >= to_date(?,'yyyy-MM-dd HH24:MI:SS') ";
+//                strOrgCondition += " and a.operate_time >= to_date(?,'yyyy-MM-dd HH24:MI:SS') ";
+//                strMgeCondition += " and a.operate_time >= to_date(?,'yyyy-MM-dd HH24:MI:SS') ";
+//            } else if (DatabaseType.MYSQL.equals(defaultDatabaseType)) {
+//                strUserCondition += " and a.operate_time >= str_to_date(?,'%Y-%m-%d %H:%i:%s') ";
+//                strOrgCondition += " and a.operate_time >= str_to_date(?,'%Y-%m-%d %H:%i:%s') ";
+//                strMgeCondition += " and a.operate_time >= str_to_date(?,'%Y-%m-%d %H:%i:%s') ";
+//            }
+//            userParams.add(mgeLog.getBeginTime());
+//            orgParams.add(mgeLog.getBeginTime());
+//            mgeParams.add(mgeLog.getBeginTime());
+//        }
+//        if (StringUtils.isNotEmpty(mgeLog.getEndTime())) {
+//            if (DatabaseType.ORACLE.equals(defaultDatabaseType)) {
+//                strUserCondition += " and a.operate_time <= to_date(?,'yyyy-MM-dd HH24:MI:SS') ";
+//                strOrgCondition += " and a.operate_time <= to_date(?,'yyyy-MM-dd HH24:MI:SS') ";
+//                strMgeCondition += " and a.operate_time <= to_date(?,'yyyy-MM-dd HH24:MI:SS') ";
+//            } else if (DatabaseType.MYSQL.equals(defaultDatabaseType)) {
+//                strUserCondition += " and a.operate_time <= str_to_date(?,'%Y-%m-%d %H:%i:%s') ";
+//                strOrgCondition += " and a.operate_time <= str_to_date(?,'%Y-%m-%d %H:%i:%s') ";
+//                strMgeCondition += " and a.operate_time <= str_to_date(?,'%Y-%m-%d %H:%i:%s') ";
+//            }
+//            userParams.add(mgeLog.getEndTime());
+//            orgParams.add(mgeLog.getEndTime());
+//            mgeParams.add(mgeLog.getEndTime());
+//        }
+//        strUserCondition += "and b.name <> ? ";
+//        strOrgCondition += "and b.name <> ? ";
+//        strMgeCondition += "and b.name <> ? ";
+//        userParams.add("ADMIN");
+//        orgParams.add("ADMIN");
+//        mgeParams.add("ADMIN");
+//
+//        //idcard 一定有
+//        //有auditType则一定有objectType和operateType
+//        //时间条件通用,用户名通用
+//        //三部分的条件独立处理拼接
+//
+//        if (StringUtils.isNotEmpty(auditType)) {
+//            if (auditType.equals("user_audit")) {
+//                sql = "select * from (";
+//                sql += "select object_type,\n" +
+//                        "               operate_type,\n" +
+//                        "               a.operate_org_name,\n" +
+//                        "               a.id,\n" +
+//                        "               b.police_number,\n" +
+//                        "               b.idcard,\n" +
+//                        "               b.name,\n" +
+//                        "               operate_user_id,\n" +
+//                        "               b.name as operate_user_name,\n" +
+//                        "               b.org_name,\n" +
+//                        "               a.operate_time,\n" +
+//                        "               c.name as target_user_name,\n" +
+//                        "               c.org_name as target_org_name,\n" +
+//                        "               c.idcard as target_idcard,\n" +
+//                        "               c.police_number as target_police_number,\n" +
+//                        "               'user_audit' as audit_type\n" +
+//                        "          from t_user_log a\n" +
+//                        "          left join t_user_info b on a.operate_user_id = b.id\n" +
+//                        "          left join t_user_info c on a.user_id = c.id where 1=1\n";
+//                sql += strUserCondition;
+//                sql += " order by operate_time desc) o";
+//                params = userParams;
+//            } else if (auditType.equals("mge_audit")) {
+//                sql = "select * from (";
+//                sql += "        select object_type,\n" +
+//                        "               operate_type,\n" +
+//                        "               a.operate_org_name,\n" +
+//                        "               a.id,\n" +
+//                        "               b.police_number,\n" +
+//                        "               b.idcard,\n" +
+//                        "               b.name,\n" +
+//                        "               operate_user_id,\n" +
+//                        "               b.name as operate_user_name,\n" +
+//                        "               b.org_name,\n" +
+//                        "               a.operate_time,\n" +
+//                        "               c.name as target_user_name,\n" +
+//                        "               c.org_name as target_org_name,\n" +
+//                        "               c.idcard as target_idcard,\n" +
+//                        "               c.police_number as target_police_number,\n" +
+//                        "               'mge_audit' as audit_type\n" +
+//                        "          from t_admin_mge_log a\n" +
+//                        "          left join t_user_info b on a.operate_user_id = b.id\n" +
+//                        "          left join t_user_info c on a.mge_id = c.id where 1=1 \n";
+//                sql += strMgeCondition;
+//                sql += "order by operate_time desc) o ";
+//                params = mgeParams;
+//            } else {
+//                sql = "select * from (";
+//                sql += "select '100' as object_type,\n" +
+//                        "       operate_type,\n" +
+//                        "       a.operate_org_name,\n" +
+//                        "       a.id,\n" +
+//                        "       b.police_number,\n" +
+//                        "       b.idcard,\n" +
+//                        "       b.name,\n" +
+//                        "       operate_user_id,\n" +
+//                        "       b.name as operate_user_name,\n" +
+//                        "       b.org_name,\n" +
+//                        "       a.operate_time,\n" +
+//                        "       c.code as target_user_name,\n" +
+//                        "       c.full_name as target_org_name,\n" +
+//                        "       '' as target_idcard,\n" +
+//                        "       '' as target_police_number,\n" +
+//                        "       'org_audit' as audit_type\n" +
+//                        "  from t_org_log a\n" +
+//                        "  left join t_user_info b on a.operate_user_id = b.id\n" +
+//                        "  left join t_org_info c on a.org_id = c.id\n" +
+//                        " where 1 = 1 ";
+//                sql += strOrgCondition;
+//                sql += "order by operate_time desc) o ";
+//                params = orgParams;
+//            }
+//        } else {
+//            sql = "select * from (" +
+//                    "  (select object_type,\n" +
+//                    "               operate_type,\n" +
+//                    "               a.operate_org_name,\n" +
+//                    "               a.id,\n" +
+//                    "               b.police_number,\n" +
+//                    "               b.idcard,\n" +
+//                    "               b.name,\n" +
+//                    "               operate_user_id,\n" +
+//                    "               b.name as operate_user_name,\n" +
+//                    "               b.org_name,\n" +
+//                    "               a.operate_time,\n" +
+//                    "               c.name as target_user_name,\n" +
+//                    "               c.org_name as target_org_name,\n" +
+//                    "               c.idcard as target_idcard,\n" +
+//                    "               c.police_number as target_police_number,\n" +
+//                    "               'user_audit' as audit_type\n" +
+//                    "          from t_user_log a\n" +
+//                    "          left join t_user_info b on a.operate_user_id = b.id\n" +
+//                    "          left join t_user_info c on a.user_id = c.id where 1=1\n";
+//            sql += strUserCondition;
+//            params.addAll(userParams);
+//            sql += ") union all\n" +
+//                    "( select object_type,\n" +
+//                    "               operate_type,\n" +
+//                    "               a.operate_org_name,\n" +
+//                    "               a.id,\n" +
+//                    "               b.police_number,\n" +
+//                    "               b.idcard,\n" +
+//                    "               b.name,\n" +
+//                    "               operate_user_id,\n" +
+//                    "               b.name as operate_user_name,\n" +
+//                    "               b.org_name,\n" +
+//                    "               a.operate_time,\n" +
+//                    "               c.name as target_user_name,\n" +
+//                    "               c.org_name as target_org_name,\n" +
+//                    "               c.idcard as target_idcard,\n" +
+//                    "               c.police_number as target_police_number,\n" +
+//                    "               'mge_audit' as audit_type\n" +
+//                    "          from t_admin_mge_log a\n" +
+//                    "          left join t_user_info b on a.operate_user_id = b.id\n" +
+//                    "          left join t_user_info c on a.mge_id = c.id where 1=1 \n";
+//
+//            sql += strMgeCondition;
+//            params.addAll(mgeParams);
+//
+//            sql += ") union all ";
+//            sql += "( select '100' as object_type,\n" +
+//                    "       operate_type,\n" +
+//                    "       a.operate_org_name,\n" +
+//                    "       a.id,\n" +
+//                    "       b.police_number,\n" +
+//                    "       b.idcard,\n" +
+//                    "       b.name,\n" +
+//                    "       operate_user_id,\n" +
+//                    "       b.name as operate_user_name,\n" +
+//                    "       b.org_name,\n" +
+//                    "       a.operate_time,\n" +
+//                    "       c.code as target_user_name,\n" +
+//                    "       c.full_name as target_org_name,\n" +
+//                    "       '' as target_idcard,\n" +
+//                    "       '' as target_police_number,\n" +
+//                    "       'org_audit' as audit_type\n" +
+//                    "  from t_org_log a\n" +
+//                    "  left join t_user_info b on a.operate_user_id = b.id\n" +
+//                    "  left join t_org_info c on a.org_id = c.id\n" +
+//                    " where 1 = 1 ";
+//
+//            sql += strOrgCondition;
+//            params.addAll(orgParams);
+//            sql += ")) w order by operate_time desc";
+//        }
+//        Page<UserMgeLogRptVo> page = PersistentFactory.getJdbcDao().paging(sql, searchable, UserMgeLogRptVo.class, params.toArray());
+//        return page;
+//    }
+//}

+ 67 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/MgeMonitorMsgBPO.java

@@ -0,0 +1,67 @@
+
+
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeMonitorMsg;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.base.enums.BooleanEnum;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import com.dragonsoft.duceap.core.search.Searchable;
+//import com.dragonsoft.duceap.core.search.SqlGenerator;
+//import com.dragonsoft.duceap.core.search.SqlSource;
+//import org.springframework.data.domain.Page;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+//@Repository
+//public class MgeMonitorMsgBPO extends BaseBPO<MgeMonitorMsg, String> {
+//
+
+//    public Page<MgeMonitorMsg> allMessage(Searchable searchable) {
+//        String hql = "from MgeMonitorMsg t where t.id in (select max(id) from MgeMonitorMsg group by userId) and t.deleted='" + BooleanEnum.FALSE.getValue() + "'";
+//        Page<MgeMonitorMsg> messagesPage = PersistentFactory.getHibernateDao().paging(hql, searchable);
+//        return messagesPage;
+//    }
+//
+//    public Page<MgeMonitorMsg> messageList(String userId, Searchable searchable) {
+//        String hql = "from MgeMonitorMsg t where t.deleted='" + BooleanEnum.FALSE.getValue() +
+//                "' and t.ownerUserId in( select m.userId from UserMtAuth m where m.userId='" + userId + "')";
+//        Page<MgeMonitorMsg> messagesPage = PersistentFactory.getHibernateDao().paging(hql, searchable);
+//        return messagesPage;
+//    }
+//
+//    public void updateOrgInfos(String orgId, String orgName) {
+//        PersistentFactory.getHibernateDao().bulkUpdate("update MgeMonitorMsg set orgName = ? where orgId = ?", new Object[]{orgName, orgId});
+//    }
+//
+//    public List<Map<String, String>> msgViewMapList(Searchable searchable) {
+//        String hql = "select new map(userId as id, orgId as orgId) from MgeMonitorMsg t where t.deleted='0'";
+//        SqlSource sqlSource = SqlGenerator.generateHqlCacheable(hql, searchable);
+//        if (sqlSource.getParams().length == 0) {
+//            return PersistentFactory.getHibernateDao().find(sqlSource.getSql());
+//        }
+//        return PersistentFactory.getHibernateDao().find(sqlSource.getSql(), sqlSource.getParams());
+//    }
+//
+//    public List<MgeMonitorMsg> mesInSearch(List<String> ids) {
+//        StringBuffer idsql = new StringBuffer();
+//        for (String id : ids) {
+//            idsql.append("?,");
+//        }
+//
+//        String searchIds = "''";
+//        if (ids.size() > 0) {
+////            searchIds = idAll.substring(0, idAll.length() - 1);
+//            searchIds = idsql.substring(0, idsql.length() - 1);
+//        }
+//
+//        StringBuilder sql = new StringBuilder();
+//        sql.append("SELECT USER_ID,ID,MGE_ID,POLICE_NUMBER,USER_NAME,ORG_ID,ORG_NAME,LAST_LOGIN_TIME,ABNORMAL_TYPE from T_ADMIN_MGE_MONITOR_MSG" +
+//                " where id in (select max(id) from T_ADMIN_MGE_MONITOR_MSG t group by USER_ID having  t.user_id in(");
+//        sql.append(searchIds);
+//        sql.append("))");
+//        return PersistentFactory.getJdbcDao().queryForList(sql.toString(), MgeMonitorMsg.class, ids.toArray());
+//    }
+//}

+ 25 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/TempMenuAuthBPO.java

@@ -0,0 +1,25 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.TempMenuAuth;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+//@Repository
+//public class TempMenuAuthBPO extends BaseBPO<TempMenuAuth, String> {
+//
+//    public void deletedByUserId(String userId) {
+//        String hql = "delete from TempMenuAuth t where t.userId=?";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql, userId);
+//    }
+//
+//    public void saveAll(List<TempMenuAuth> menuAuths) {
+//        PersistentFactory.getHibernateDao().saveOrUpdateAll(menuAuths);
+//    }
+//
+//}

+ 31 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/bpo/TempMtAuthBPO.java

@@ -0,0 +1,31 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.bpo;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.TempMtAuth;
+//import com.dragoninfo.duceap.core.persistent.BaseBPO;
+//import com.dragonsoft.duceap.core.persistent.factory.PersistentFactory;
+//import org.springframework.stereotype.Repository;
+//
+//import java.util.Collection;
+//import java.util.List;
+//
+//@Repository
+//public class TempMtAuthBPO extends BaseBPO<TempMtAuth, String> {
+//
+//
+//    public List<TempMtAuth> findBuUserIds(Collection userIds) {
+//        return PersistentFactory.getHibernateDao().inSearch(TempMtAuth.class, "userId", userIds);
+//    }
+//
+//    public void deleteds(Collection<TempMtAuth> collection) {
+//        for (TempMtAuth tempMtAuth : collection) {
+//            PersistentFactory.getHibernateDao().delete(tempMtAuth);
+//        }
+//    }
+//
+//    public void deletedByUserId(String userId) {
+//        String hql = "delete from TempMtAuth t where t.userId=?";
+//        PersistentFactory.getHibernateDao().bulkUpdate(hql, userId);
+//    }
+//}

+ 40 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/AppMtAuthFacade.java

@@ -0,0 +1,40 @@
+
+
+
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+
+import com.dragoninfo.dcuc.auth.admin.service.IAppMtAuthService;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(value = "/dcuc/auth/appMtAuthFacade")
+public class AppMtAuthFacade implements IAppMtAuthFacade {
+
+    @Autowired
+    private IAppMtAuthService iAppMtAuthService;
+
+
+    @Override
+    public ResponseStatus save(String orgIds, String userId) {
+        return iAppMtAuthService.save(orgIds, userId);
+    }
+
+    @Override
+    public String mgeAppRightRangeStr(String userId) {
+        return iAppMtAuthService.mgeAppRightRangeStr(userId);
+    }
+
+//    @Override
+//    public List<AppMtAuth> appMtList(String userId) {
+//        return iAppMtAuthService.appMtList(userId);
+//    }
+
+//    @Override
+//    public List<TreeNodeVo> orgFilter(List<TreeNodeVo> orgList, String userId) {
+//        return iAppMtAuthService.orgFilter(orgList, userId);
+//    }
+}

+ 151 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/ManageInfoFacade.java

@@ -0,0 +1,151 @@
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+import com.dragoninfo.dcuc.auth.admin.dto.ManageInfoDTO;
+import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+import com.dragoninfo.dcuc.auth.admin.service.IManageInfoService;
+import com.dragoninfo.dcuc.auth.admin.vo.AdminAuditVO;
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+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;
+
+@RestController
+@RequestMapping(value = "/dcuc/auth/manageInfoFacade")
+public class ManageInfoFacade implements IManageInfoFacade {
+
+    @Autowired
+    IManageInfoService iManageInfoService;
+
+    @Override
+    public Page<AuthUserDTO> getUserNotInManage(SearchDTO searchDTO) {
+
+        return iManageInfoService.getUserNotInManage(searchDTO);
+    }
+
+    @Override
+    public ResponseStatus saveAdmin(String userIds) {
+        return iManageInfoService.saveAdmin(userIds);
+    }
+
+    @Override
+    public ResponseStatus deleteAdmin(String userId) {
+        return iManageInfoService.deleteByUserId(userId);
+    }
+
+    @Override
+    public Page<AdminAuditVO> adminAuditPage(SearchDTO dto) {
+        return iManageInfoService.adminAuditPage(dto);
+    }
+
+    @Override
+    public boolean haveAuthWithManage(String userId) {
+        return iManageInfoService.haveAuthWithManage(userId);
+    }
+
+    @Override
+    public ManageInfoDTO getManageInfoByUserId(String userId) {
+        ManageInfo manageInfo = iManageInfoService.manageInfoByUserId(userId);
+        if(null == manageInfo) {
+            return null;
+        }else {
+            ManageInfoDTO manageInfoDTO = new ManageInfoDTO();
+            BeanUtils.copyProperties(manageInfo, manageInfoDTO);
+            return manageInfoDTO;
+        }
+    }
+
+    @Override
+    public Page<AuthUserDTO> rightRangeManagerList(SearchDTO dto) {
+        return iManageInfoService.rightRangeManagerList(dto);
+    }
+
+//    @Override
+//    public Map<String, Long> getMgeNumByOrgIds(Set<String> orgIds, String type) {
+//        return iManageInfoService.getMgeNumByOrgIds(orgIds, type);
+//    }
+
+//    @Override
+//    public Page<AuthUserDTO> getManageInfoByOrgId(SearchDTO searchDTO) {
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        return iManageInfoService.getManageInfoByOrgId(searchable);
+//    }
+//    @Override
+//    public ResponseStatus saveAdminBJ(String rootOrgId, String orgId, String ids) {
+//        return iManageInfoService.saveAdminBJ(rootOrgId, orgId, ids);
+//    }
+//
+//    @Override
+//    public ManageInfo manageInfoByUserId(String userId) {
+//        return iManageInfoService.manageInfoByUserId(userId);
+//    }
+//
+//    @Override
+//    public Boolean checkIsManagerByUserId(String userId) {
+//        return iManageInfoService.checkIsManagerByUserId(userId);
+//    }
+//
+//
+//    @Override
+//    public List<MgeMonitorVO> getAbnormalInfo(int limitDay) {
+//        return iManageInfoService.getAbnormalInfo(limitDay);
+//    }
+//
+//
+//    @Override
+//    public List<ManageInfo> findByPropertyValue(String var1, String var2) {
+//        return iManageInfoService.findByPropertyValue(var1, var2);
+//    }
+//
+//
+//    @Override
+//    public List<NoticeUserVO> getManagerByOrgId(String orgId) {
+//        return iManageInfoService.getManagerByOrgId(orgId);
+//    }
+//
+//    @Override
+//    public List<NoticeUserVO> getOrgMgeManager(String orgId) {
+//        return iManageInfoService.getOrgMgeManager(orgId);
+//    }
+//
+//    @Override
+//    public ResponseStatus impManger(ImpParamsVo vo) throws NumberFormatException {
+//        return iManageInfoService.impManger(vo.getMapList(), vo.isAuthAccessable());
+//    }
+
+//    @Override
+//    public List<Map<String, String>> mgeSpreadDtlList(String orgId) {
+//        return iManageInfoService.mgeSpreadDtlList(orgId);
+//    }
+//
+//    @Override
+//    public List<Map<String, String>> mgeSpreadDtlListForGD(String orgId) {
+//        return iManageInfoService.mgeSpreadDtlListForGD(orgId);
+//    }
+//
+//    @Override
+//    public Page<AuthUserDTO> rightRangeManagerListWithQuery(String type, SearchDTO searchDTO) {
+//        return iManageInfoService.rightRangeManagerListWithQuery(type, searchDTO);
+//    }
+//
+//    @Override
+//    public Page<AuthUserDTO> getManageInfoList(SearchDTO searchDTO) {
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        return iManageInfoService.getManageInfoList(searchable);
+//    }
+//
+//    @Override
+//    public List<AuthUserDTO> exportAdminList(Set<String> orgInfoSets, List<AuthUserDTO> adminLists) {
+//        return iManageInfoService.exportAdminList(orgInfoSets, adminLists);
+//    }
+//
+//    @Override
+//    public List<ManageInfo> mgeSearch(SearchDTO searchDTO) {
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
+//        return iManageInfoService.find(ManageInfo.class, searchable);
+//    }
+}

+ 73 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/MenuMtAuthFacade.java

@@ -0,0 +1,73 @@
+//
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.facade;
+//
+//
+//import com.alibaba.fastjson.JSONObject;
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+//import com.dragoninfo.dcuc.auth.admin.service.IMenuMtAuthService;
+//import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+//import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+//import com.dragonsoft.duceap.base.entity.security.SecurityRight;
+//import com.dragonsoft.duceap.base.entity.tree.TreeNodeVo;
+//import com.dragonsoft.duceap.core.search.Searchable;
+//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.Map;
+//
+//@RestController
+//@RequestMapping(value = "/dcuc/auth/menuMtAuthFacade")
+//public class MenuMtAuthFacade implements IMenuMtAuthFacade {
+//
+//    @Autowired
+//    private IMenuMtAuthService iMenuMtAuthService;
+//
+//
+//    @Override
+//    public ResponseStatus save(String menuIds, String userId) {
+//        return iMenuMtAuthService.save(menuIds, userId);
+//    }
+//
+//    @Override
+//    public List<String> mgeMenuRightRangeList(String userId) {
+//        return iMenuMtAuthService.mgeMenuRightRangeList(userId);
+//    }
+//
+//    @Override
+//    public List<TreeNodeVo> menuFilter(String userId, String appId) {
+//        return iMenuMtAuthService.menuFilter(userId, appId);
+//    }
+//
+//
+//
+//    @Override
+//    public List<MgeLog> convertIdsToNames(Map mgeLogMap) {
+//        List mgeLogList = JSONObject.parseArray(mgeLogMap.get("mgeLogMap").toString(), MgeLog.class);
+//        return iMenuMtAuthService.convertIdsToNames(mgeLogList);
+//    }
+//
+////    @Override
+////    public List<TreeNodeVo> menuList(SearchDTO searchDTO) {
+////        Searchable searchable = Searchable.toSearchable(searchDTO);
+////        return iMenuMtAuthService.menuList(searchable);
+////    }
+//
+////    @Override
+////    public List<SecurityRight> menuForIndex(String userId, String appId) {
+////        return iMenuMtAuthService.menuForIndex(userId, appId);
+////    }
+//
+////    @Override
+////    public List<SecurityRight> getMenuByIds(List<String> ids, String tableName) {
+////        return iMenuMtAuthService.getMenuByIds(ids, tableName);
+////    }
+//
+////    @Override
+////    public List<SecurityRight> getAllMenus(String tableName) {
+////        return iMenuMtAuthService.getAllMenus(tableName);
+////    }
+//}

+ 69 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/MgeLogFacade.java

@@ -0,0 +1,69 @@
+
+
+
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+
+import com.dragoninfo.dcuc.auth.admin.dto.MgeLogDTO;
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+import com.dragoninfo.dcuc.auth.admin.service.IMgeLogService;
+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;
+
+@RestController
+@RequestMapping(value = "/dcuc/auth/mgeLogFacade")
+public class MgeLogFacade implements IMgeLogFacade {
+
+    @Autowired
+    private IMgeLogService iMgeLogService;
+
+
+//    @Override
+//    public void save(MgeLog mgeLog) {
+//        iMgeLogService.save(mgeLog);
+//    }
+
+
+
+    @Override
+    public List<MgeLogDTO> queryList(String type, String userId) {
+        List<MgeLog> mgeLogs = iMgeLogService.queryList(type, userId);
+        return mgeLogs.stream().map(e -> {
+            MgeLogDTO logDTO = new MgeLogDTO();
+            BeanUtils.copyProperties(e, logDTO);
+            return logDTO;
+        }).collect(Collectors.toList());
+    }
+
+//    @Override
+//    public Page<UserMgeLogRptVo> findUserMgeLogSummary(SearchDTO searchDTO) {
+//        return iMgeLogService.findUserMgeLogSummary(searchDTO);
+//    }
+//
+//    @Override
+//    public MgeLog getMgeLog(String id) {
+//        return iMgeLogService.getMgeLog(id);
+//    }
+
+    //    @Override
+//    public List<MgeLog> findByPropertyValue(String keyNmae, String keyVale) {
+//        return iMgeLogService.findByPropertyValue(keyNmae, keyVale);
+//    }
+
+//    @Override
+//    public Page<MgeLog> findPage(SearchDTO searchDTO) {
+//        return iMgeLogService.findPage(searchDTO);
+//    }
+//
+//    @Override
+//    public Page<MgeLog> findMgeAuditLogReport(SearchDTO searchDTO) {
+//        return iMgeLogService.findMgeAuditLogReport(searchDTO);
+//    }
+
+}
+

+ 81 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/MgeMonitorFacade.java

@@ -0,0 +1,81 @@
+//package com.dragoninfo.dcuc.auth.admin.facade;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeMonitorMsg;
+//import com.dragoninfo.dcuc.auth.admin.service.IMgeMonitorMsgService;
+//import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+//import com.dragonsoft.duceap.core.search.Searchable;
+//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.List;
+//import java.util.Map;
+//
+///**
+// * Created by Administrator on 2018/6/6.
+// */
+//@RestController
+//@RequestMapping(value = "/dcuc/auth/mgeMonitorFacade")
+//public class MgeMonitorFacade implements IMgeMonitorFacade {
+//
+//    @Autowired
+//    IMgeMonitorMsgService iMgeMonitorMsgService;
+//
+////    @Override
+////    public List<MgeMonitorMsg> andsearch(Class<MgeMonitorMsg> clazz, Map<String, Object> paremsMap) {
+////        return iMgeMonitorMsgService.andsearch(clazz, paremsMap);
+////    }
+////
+////    @Override
+////    public void update(MgeMonitorMsg mgeMonitorMsg) {
+////        iMgeMonitorMsgService.update(mgeMonitorMsg);
+////    }
+////
+////    @Override
+////    public void save(MgeMonitorMsg mgeMonitorMsg) {
+////        iMgeMonitorMsgService.save(mgeMonitorMsg);
+////    }
+////
+////    @Override
+////    public Page<MgeMonitorMsg> allMessage(SearchDTO searchDTO) {
+////        Searchable searchable = Searchable.toSearchable(searchDTO);
+////        Page<MgeMonitorMsg> messagesPage = iMgeMonitorMsgService.allMessage(searchable);
+////        return messagesPage;
+////    }
+////
+////    @Override
+////    public Page<MgeMonitorMsg> messageList(String userId, SearchDTO searchDTO) {
+////        Searchable searchable = Searchable.toSearchable(searchDTO);
+////        Page<MgeMonitorMsg> messagesPage = iMgeMonitorMsgService.messageList(userId, searchable);
+////        return messagesPage;
+////    }
+////
+////    /**
+////     * 广东根据用户可管理机构获取消息信息
+////     *
+////     * @param userId
+////     * @param searchDTO
+////     * @return
+////     */
+////    @Override
+////    public Page<MgeMonitorMsg> messageListByOrg(String userId, SearchDTO searchDTO) {
+////        Searchable searchable = Searchable.toSearchable(searchDTO);
+////        return iMgeMonitorMsgService.messageListByOrg(userId, searchable);
+////    }
+////
+////    @Override
+////    public void deletedMsgByUserId(String userId) {
+////        iMgeMonitorMsgService.deletedMsgByUserId(userId);
+////    }
+////
+////    @Override
+////    public void deletedMsgById(String mgeId) {
+////        iMgeMonitorMsgService.delete(mgeId);
+////    }
+////
+////    @Override
+////    public void updateOrgInfos(String orgId, String orgName) {
+////        iMgeMonitorMsgService.updateOrgInfos(orgId, orgName);
+////    }
+//}

+ 33 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/TempMenuAuthFacade.java

@@ -0,0 +1,33 @@
+//
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.facade;
+//
+//
+//import com.dragoninfo.dcuc.auth.admin.service.ITempMenuAuthService;
+//import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+//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;
+//
+//@RestController
+//@RequestMapping(value = "/dcuc/auth/tempMenuAuthFacade")
+//public class TempMenuAuthFacade implements ITempMenuAuthFacade {
+//
+//    @Autowired
+//    private ITempMenuAuthService iTempMenuMtAuthService;
+//
+//
+//    @Override
+//    public List<String> mgeMenuRightRangeList(String userId) {
+//        return iTempMenuMtAuthService.mgeMenuRightRangeList(userId);
+//    }
+//
+//    @Override
+//    public ResponseStatus save(String menuIds, String userId) {
+//        return iTempMenuMtAuthService.save(menuIds, userId);
+//    }
+//
+//}

+ 36 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/facade/TempMtAuthFacade.java

@@ -0,0 +1,36 @@
+
+
+
+package com.dragoninfo.dcuc.auth.admin.facade;
+
+
+import com.dragoninfo.dcuc.auth.admin.service.ITempMtAuthService;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(value = "/dcuc/auth/tempMtAuthFacade")
+public class TempMtAuthFacade implements ITempMtAuthFacade {
+
+    @Autowired
+    private ITempMtAuthService iTempMtAuthService;
+
+
+    @Override
+    public String mgeTempRightRangeStr(String userId) {
+        return iTempMtAuthService.mgeTempRightRangeStr(userId);
+    }
+
+    @Override
+    public ResponseStatus save(String orgIds, String userId) {
+        return iTempMtAuthService.save(orgIds, userId);
+    }
+
+    @Override
+    public ResponseStatus checkAuth(String userIds) {
+        return iTempMtAuthService.checkAuth(userIds);
+    }
+
+}

+ 20 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/AppMtAuthRepository.java

@@ -0,0 +1,20 @@
+package com.dragoninfo.dcuc.auth.admin.repo;
+
+import com.dragoninfo.dcuc.auth.admin.entity.AppMtAuth;
+import com.dragonsoft.duceap.core.persistent.repository.BaseRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author mazq
+ * @date 2021/9/2
+ */
+@Repository
+public interface AppMtAuthRepository extends BaseRepository<AppMtAuth, String> {
+
+    @Modifying
+    @Query("delete from AppMtAuth t where userId = :userId ")
+    void delByUserId(@Param("userId") String userId);
+}

+ 43 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/ManageInfoRepository.java

@@ -0,0 +1,43 @@
+package com.dragoninfo.dcuc.auth.admin.repo;
+
+import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+import com.dragoninfo.dcuc.auth.admin.vo.AdminAuditVO;
+import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
+import com.dragonsoft.duceap.base.annotations.query.NativeQuery;
+import com.dragonsoft.duceap.core.persistent.repository.BaseRepository;
+import com.dragonsoft.duceap.core.search.Searchable;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author mazq
+ * @date 2021/9/2
+ */
+@Repository
+public interface ManageInfoRepository extends BaseRepository<ManageInfo, String> {
+
+    @Modifying
+    @Query("delete from ManageInfo t where userId =  :userId ")
+    void delByUserId(@Param("userId") String userId);
+
+    @NativeQuery("SELECT u.ID,u.IDCARD, u.NAME, u.USER_TYPE, u.POLICE_NUMBER, u.ORG_ID, u.ORG_NAME,u.POLICE_CATEGORY," +
+            " u.ORG_ID as orgId, u.POLICE_NUMBER as policeNumber" +
+            " FROM T_AUTH_USER_INFO u INNER JOIN T_AUTH_ADMIN_MANAGE_INFO m ON u.ID = m.USER_ID" +
+            " WHERE u.DELETED = '0' AND m.DELETED = '0'")
+    Page<AuthUserInfo> getManageUserInfo(Searchable searchable);
+
+    @NativeQuery("SELECT u.ID,u.IDCARD, u.NAME, u.USER_TYPE, u.POLICE_NUMBER, u.ORG_ID, u.ORG_NAME,u.POLICE_CATEGORY," +
+            " u.ORG_ID as orgId, u.POLICE_NUMBER as policeNumber" +
+            " FROM T_AUTH_USER_INFO u LEFT JOIN T_AUTH_ADMIN_MANAGE_INFO m ON u.ID = m.USER_ID" +
+            " WHERE u.DELETED = '0' AND u.USER_TYPE = '10' AND m.ID IS NULL")
+    Page<AuthUserInfo> getNotManagePolice(Searchable searchable);
+
+    @NativeQuery("SELECT u.ID, u.NAME, u.POLICE_NUMBER, u.USER_TYPE, u.TITLE, u.MAN_TYPE," +
+            " u.ORG_NAME, u.ORG_ID, m.CREATE_TIME, m.CREATE_USER," +
+            " u.ORG_ID as orgId, u.POLICE_NUMBER as policeNumber" +
+            " FROM T_AUTH_USER_INFO u INNER JOIN T_AUTH_ADMIN_MANAGE_INFO m ON u.ID = m.USER_ID")
+    Page<AdminAuditVO> adminAuditPage(Searchable searchable);
+}

+ 13 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/MgeLogRepository.java

@@ -0,0 +1,13 @@
+package com.dragoninfo.dcuc.auth.admin.repo;
+
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+import com.dragonsoft.duceap.core.persistent.repository.BaseRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author mazq
+ * @date 2021/9/2
+ */
+@Repository
+public interface MgeLogRepository extends BaseRepository<MgeLog, String> {
+}

+ 28 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/repo/TempMtAuthRepository.java

@@ -0,0 +1,28 @@
+package com.dragoninfo.dcuc.auth.admin.repo;
+
+import com.dragoninfo.dcuc.auth.admin.entity.TempMtAuth;
+import com.dragonsoft.duceap.core.persistent.repository.BaseRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author mazq
+ * @date 2021/9/2
+ */
+@Repository
+public interface TempMtAuthRepository extends BaseRepository<TempMtAuth,String> {
+
+     @Query("select new com.dragoninfo.dcuc.auth.admin.entity.TempMtAuth(id,userId,orgId) from TempMtAuth where userId in :userIds")
+     List<TempMtAuth> findByUserIds(@Param("userIds") Collection<String> userIds);
+
+     @Modifying
+     @Query("delete from TempMtAuth t where userId = :userId")
+     void deletedByUserId(@Param("userId") String userId);
+
+
+}

+ 63 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IAppMtAuthService.java

@@ -0,0 +1,63 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.service;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.AppMtAuth;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+
+import java.util.List;
+
+public interface IAppMtAuthService {
+
+    /**
+     * 通过组织id和相应管理员id保存管理员-机构管理信息
+     *
+     * @param orgIds
+     * @param userId
+     * @return
+     */
+
+    ResponseStatus save(String orgIds, String userId);
+
+//    /**
+//     * 根据当前登录用户过滤用户管理范围机构权限
+//     *
+//     * @param userId
+//     * @param orgList
+//     */
+//
+//    List<TreeNodeVo> orgFilter(List<TreeNodeVo> orgList, String userId);
+
+//    /**
+//     * 根据管理员userid获取人员管理范围机构列表
+//     *
+//     * @param userId
+//     * @return
+//     */
+//
+//    List<AppMtAuth> appMtList(String userId);
+
+    /**
+     * 根据用户id批量获取
+     * @param userId
+     * @return
+     */
+    List<AppMtAuth> getByUserId(String userId);
+
+    /**
+     * 查询用户拥有的机构管理范围
+     *
+     * @param userId
+     * @return
+     */
+
+    String mgeAppRightRangeStr(String userId);
+
+    void saveAll(List<AppMtAuth> appMtAuthList);
+
+    void delByUserId(String userId);
+
+//    ResponseStatus impManger(List<Map<String, String>> list, Map<String, String> userMgeIdmMap);
+
+}

+ 150 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IManageInfoService.java

@@ -0,0 +1,150 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.service;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+import com.dragoninfo.dcuc.auth.admin.vo.AdminAuditVO;
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
+
+public interface IManageInfoService {
+
+    /**
+     * 根据机构id获取不是管理员的用户
+     *
+     * @param adminMgeDto
+     * @return
+     */
+
+    Page<AuthUserDTO> getUserNotInManage(SearchDTO adminMgeDto);
+
+    /**
+     * 删除管理员信息
+     *
+     * @param userId
+     * @return
+     */
+
+    ResponseStatus deleteByUserId(String userId);
+
+    /**
+     * 判断是否有权限配置用户的管理范围
+     *
+     * @param userId
+     * @return
+     */
+
+    boolean haveAuthWithManage(String userId);
+
+    /**
+     * 管理员审计列表信息
+     *
+     * @param dto
+     * @return
+     */
+
+    Page<AdminAuditVO> adminAuditPage(SearchDTO dto);
+
+
+    /**
+     * 根据用户Id获取管理员信息
+     *
+     * @param userId
+     * @return
+     */
+
+    ManageInfo manageInfoByUserId(String userId);
+
+    /**
+     * 保存管理员信息
+     * @param userIds
+     * @return
+     */
+
+    ResponseStatus saveAdmin(String userIds);
+
+
+    /**
+     * 获取管理范围包括orgid的管理员列表
+     *
+     * @param searchDTO
+     * @return
+     */
+
+    Page<AuthUserDTO> rightRangeManagerList(SearchDTO searchDTO);
+
+//    /**
+//     * 根据ID获取管理员信息
+//     *
+//     * @param searchable :orgIds
+//     * @param searchable
+//     * @return
+//     */
+//    Page<AuthUserDTO> getManageInfoByOrgId(Searchable searchable);
+
+//    ResponseStatus saveAdminBJ(String rootOrgId, String orgId, String ids);
+
+
+//    /**
+//     * 根据设置的天数获取异常的管理员
+//     *
+//     * @param limitDay
+//     * @return
+//     */
+//    List<MgeMonitorVO> getAbnormalInfo(int limitDay);
+//
+//
+//    /**
+//     * 根据机构ID获取管理员相关信息
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//
+//    List<NoticeUserVO> getManagerByOrgId(String orgId);
+
+//    ResponseStatus impManger(List<Map<String, String>> list, Boolean authAccessable) throws NumberFormatException;
+
+//    /**
+//     * 根据用户Id判断是否是管理员
+//     *
+//     * @param userId
+//     * @return
+//     */
+//    Boolean checkIsManagerByUserId(String userId);
+//
+//
+//    List<NoticeUserVO> getOrgMgeManager(String orgId);
+
+
+//    List<AuthUserDTO> exportAdminList(Set<String> orgInfoSets, List<AuthUserDTO> adminLists);
+
+//    /**
+//     * 统计子级机构的各类管理员人数,为空时为统计根节点
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    List<Map<String, String>> mgeSpreadDtlList(String orgId);
+//
+//    /**
+//     * 统计子级机构的各类管理员人数,为空时为统计根节点-广东版
+//     *
+//     * @param orgId
+//     * @return
+//     */
+//    List<Map<String, String>> mgeSpreadDtlListForGD(String orgId);
+//
+//    Page<AuthUserDTO> rightRangeManagerListWithQuery(String type, SearchDTO searchDTO);
+//
+//    Page<AuthUserDTO> getManageInfoList(Searchable searchable);
+//
+//    Map<String, Long> getMgeNumByOrgIds(Set<String> orgIds, String type);
+
+
+}

+ 111 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IMenuMtAuthService.java

@@ -0,0 +1,111 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.service;
+//
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MenuMtAuth;
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+//import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+//import com.dragonsoft.duceap.base.entity.tree.TreeNodeVo;
+//
+//import java.util.List;
+//
+//public interface IMenuMtAuthService {
+//
+//    /**
+//     * 通过组织id和相应管理员id保存管理员本系统权限范围
+//     *
+//     * @param menuIds
+//     * @return
+//     */
+//
+//    ResponseStatus save(String menuIds, String userId);
+//
+//    /**
+//     * 查询用户拥有的菜单权限ID
+//     *
+//     * @param userId
+//     * @return
+//     */
+//
+//    List<String> mgeMenuRightRangeList(String userId);
+//
+//
+//    /**
+//     * 查询用户拥有的菜单权限
+//     *
+//     * @param userId
+//     * @return
+//     */
+//
+//    List<TreeNodeVo> menuFilter(String userId, String appId);
+//
+//    /**
+//     * 根据用户id查询
+//     * @param userId
+//     * @return
+//     */
+//    List<MenuMtAuth> getByUserId(String userId);
+//
+//    /**
+//     * 将菜单id转为菜单名称
+//     *
+//     * @param mgeLogList
+//     * @return
+//     */
+//
+//    List<MgeLog> convertIdsToNames(List<MgeLog> mgeLogList);
+//
+//    /**
+//     * 批量保存
+//     * @param menuMtAuths
+//     */
+//    void saveAll(List<MenuMtAuth> menuMtAuths);
+//
+////    /**
+////     * 导入管理员时添加默认菜单范围
+////     *
+////     * @param newManageInfoList
+////     * @param userMgeIdmMap
+////     * @return
+////     */
+////    ResponseStatus impManger(List<Map<String, String>> newManageInfoList, Map<String, String> userMgeIdmMap);
+//
+////
+////    /**
+////     * 获取菜单列表
+////     *
+////     * @param searchable
+////     * @return
+////     */
+////
+////    List<TreeNodeVo> menuList(Searchable searchable);
+////    /**
+////     * 获取首页菜单
+////     *
+////     * @param userId
+////     * @return
+////     */
+////
+////    List<SecurityRight> menuForIndex(String userId, String appId);
+////
+////    /**
+////     * 获取菜单详细信息
+////     *
+////     * @param ids
+////     * @param tableName 菜单表对象类名称
+////     * @return
+////     */
+////
+////    List<SecurityRight> getMenuByIds(List<String> ids, String tableName);
+////
+////    /**
+////     * 获取所有的菜单
+////     *
+////     * @param tableName 菜单表对象类名称
+////     * @return
+////     */
+////
+////    List<SecurityRight> getAllMenus(String tableName);
+////
+//}

+ 38 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IMgeLogService.java

@@ -0,0 +1,38 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.service;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+import com.dragoninfo.dcuc.auth.sub.vo.UserMgeLogRptVo;
+import com.dragoninfo.duceap.core.service.IOldBaseService;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
+
+public interface IMgeLogService {
+
+    /**
+     * 查询审计列表
+     *
+     * @param type
+     * @param userId
+     * @return
+     */
+    List<MgeLog> queryList(String type, String userId);
+
+    void saveAll(List<MgeLog> mgeLogList);
+
+    MgeLog getMgeLog(String type, String userId, String ids, String objectType);
+
+    void save(MgeLog mgeLog);
+
+//    Page<UserMgeLogRptVo> findUserMgeLogSummary(SearchDTO searchDTO);
+//
+//    MgeLog getMgeLog(String id);
+
+    //    Page<MgeLog> findPage(SearchDTO searchDTO);
+//
+//    Page<MgeLog> findMgeAuditLogReport(SearchDTO searchDTO);
+}

+ 35 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/IMgeMonitorMsgService.java

@@ -0,0 +1,35 @@
+
+
+//package com.dragoninfo.dcuc.auth.admin.service;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeMonitorMsg;
+//import com.dragoninfo.dcuc.auth.admin.entity.UserMtAuth;
+//import com.dragoninfo.duceap.core.service.IOldBaseService;
+//import com.dragonsoft.duceap.core.search.Searchable;
+//import org.springframework.data.domain.Page;
+//
+//public interface IMgeMonitorMsgService extends IOldBaseService<MgeMonitorMsg, String> {
+
+//    /**
+//     * 删除不在该用户范围内的登录消息提醒
+//     *
+//     * @param userMtAuth
+//     */
+//
+//    void mgeListCheck(UserMtAuth userMtAuth);
+
+//    Page<MgeMonitorMsg> messageListByOrg(String userId, Searchable searchable);
+//
+//    Page<MgeMonitorMsg> allMessage(Searchable searchable);
+//
+//
+//    Page<MgeMonitorMsg> messageList(String userId, Searchable searchable);
+//
+//
+//    void deletedMsgByUserId(String userId);
+//
+//
+//    void updateOrgInfos(String orgId, String orgName);
+
+
+//}

+ 28 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/ITempMenuAuthService.java

@@ -0,0 +1,28 @@
+//
+//
+//package com.dragoninfo.dcuc.auth.admin.service;
+//
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.TempMenuAuth;
+//import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+//
+//import java.util.List;
+//
+//public interface ITempMenuAuthService {
+//
+//    /**
+//     * 查询用户拥有的菜单权限ID
+//     *
+//     * @param userId
+//     * @return
+//     */
+//
+//    List<String> mgeMenuRightRangeList(String userId);
+//
+//
+//    ResponseStatus save(String menuIds, String userId);
+//
+//    List<TempMenuAuth> getByUserId(String userId);
+//
+//    void deletedByUserId(String userId);
+//}

+ 32 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/ITempMtAuthService.java

@@ -0,0 +1,32 @@
+
+
+package com.dragoninfo.dcuc.auth.admin.service;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.TempMtAuth;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface ITempMtAuthService {
+
+    /**
+     * 查询用户拥有的机构管理范围
+     *
+     * @param userId
+     * @return
+     */
+
+    String mgeTempRightRangeStr(String userId);
+
+    List<TempMtAuth> getByUserId(String userId);
+
+    ResponseStatus save(String orgIds, String userId);
+
+    ResponseStatus checkAuth(String userIds);
+
+    void deleteAll(List<TempMtAuth> list);
+
+    List<TempMtAuth> findByUserIds(Collection<String> uids);
+}

+ 167 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/AppMtAuthService.java

@@ -0,0 +1,167 @@
+package com.dragoninfo.dcuc.auth.admin.service.impl;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.AppMtAuth;
+import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+import com.dragoninfo.dcuc.auth.admin.repo.AppMtAuthRepository;
+import com.dragoninfo.dcuc.auth.admin.service.IAppMtAuthService;
+import com.dragoninfo.dcuc.auth.admin.service.IManageInfoService;
+import com.dragoninfo.dcuc.auth.admin.service.IMgeLogService;
+import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
+import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
+import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
+import com.dragonsoft.duceap.commons.util.string.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Example;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+@Transactional
+public class AppMtAuthService implements IAppMtAuthService {
+
+    private final String OBJECT_TYPE = "50";//授权管理范围日志
+    private final String ADD_AUTH_LOG_TYPE = "50";
+    private final String DEL_AUTH_LOG_TYPE = "51";
+
+    @Autowired
+    private IManageInfoService manageInfoService;
+    @Autowired
+    private IMgeLogService mgeLogService;
+    @Autowired
+    private IAuthUserInfoService authUserInfoService;
+    @Autowired
+    private IOrgInfoFacade orgInfoFacade;
+    @Autowired
+    private AppMtAuthRepository appMtAuthRepository;
+
+    @Override
+    public ResponseStatus save(String orgIds, String userId) {
+
+        List<AppMtAuth> appMtAuthList = getByUserId(userId);
+
+        MgeLog mgeLog;
+        if (appMtAuthList.size() >= 1) {
+            if (appMtAuthList.get(0).getOrgId().equals(orgIds)) {
+                return ResponseStatus.fail("当前操作没有对授权管理范围进行任何更改");
+            }
+            for (AppMtAuth appMtAuth : appMtAuthList) {
+                appMtAuthRepository.deleteById(appMtAuth.getId());
+            }
+            mgeLog = mgeLogService.getMgeLog(DEL_AUTH_LOG_TYPE, userId, orgIds, OBJECT_TYPE);
+        } else {
+            mgeLog = mgeLogService.getMgeLog(ADD_AUTH_LOG_TYPE, userId, orgIds, OBJECT_TYPE);
+        }
+        mgeLogService.save(mgeLog);
+
+
+        //保存
+        ManageInfo manageInfo = manageInfoService.manageInfoByUserId(userId);
+        AppMtAuth appMtAuth = new AppMtAuth();
+        appMtAuth.setMgeId(manageInfo.getId());
+        appMtAuth.setOrgId(orgIds);
+        appMtAuth.setUserId(userId);
+        if (StringUtils.isNotEmpty(orgIds)) {
+            appMtAuthRepository.save(appMtAuth);
+        }
+
+        return ResponseStatus.success("保存成功");
+    }
+
+    @Override
+    public List<AppMtAuth> getByUserId(String userId) {
+        AppMtAuth appMtAuth = new AppMtAuth();
+        appMtAuth.setUserId(userId);
+        Example<AppMtAuth> example = Example.of(appMtAuth);
+        return appMtAuthRepository.findAll(example);
+    }
+
+    @Override
+    public String mgeAppRightRangeStr(String userId) {
+        if (authUserInfoService.isRootUser(userId)) {
+            String rootOrgId = orgInfoFacade.getRootOrgId();
+            if (StringUtils.isNotEmpty(rootOrgId)) {
+                return rootOrgId + ":2";
+            }
+            return "";
+        }
+        List<AppMtAuth> appMtAuthList = getByUserId(userId);
+        String orgMtAuthStr = "";
+        if (appMtAuthList.size() > 0) {
+            orgMtAuthStr = appMtAuthList.get(0).getOrgId();
+        }
+        return orgMtAuthStr;
+    }
+
+    @Override
+    public void saveAll(List<AppMtAuth> appMtAuthList) {
+        if(CollectionUtils.isEmpty(appMtAuthList)) {
+            return;
+        }
+        appMtAuthRepository.saveAll(appMtAuthList);
+    }
+
+    @Override
+    public void delByUserId(String userId) {
+        if(StringUtils.isBlank(userId)) {
+            return;
+        }
+        appMtAuthRepository.delByUserId(userId);
+    }
+
+//    @Override
+//    public List<AppMtAuth> appMtList(String userId) {
+//        return appMtAuthBPO.appMtList(userId);
+//    }
+//
+//    @Override
+//    public ResponseStatus impManger(List<Map<String, String>> list, Map<String, String> userMgeIdmMap) {
+//        List<AppMtAuth> appMtAuthList = new ArrayList<AppMtAuth>();
+//        List<MgeLog> mgeLogList = new ArrayList<MgeLog>();
+//        for (Map<String, String> map : list) {
+//            AppMtAuth appMtAuth = new AppMtAuth();
+//            AuthUserInfo userInfo = authUserInfoService.findByIdcard(map.get("idCard"));
+//            if(null == userInfo) {
+//                continue;
+//            }
+//            appMtAuth.setMgeId(userMgeIdmMap.get(userInfo.getId()));
+//            appMtAuth.setUserId(userInfo.getId());
+//            appMtAuth.setOrgId(map.get("authOrgId") + ":" + map.get("auth"));
+//            appMtAuthList.add(appMtAuth);
+//            mgeLogList.add(mgeLogService.getMgeLog(ADD_AUTH_LOG_TYPE, appMtAuth.getUserId(), appMtAuth.getOrgId(), OBJECT_TYPE));
+//        }
+//        appMtAuthBPO.saveAll(appMtAuthList);
+//        mgeLogService.saveAll(mgeLogList);
+//        return ResponseStatus.success();
+//    }
+//
+//    @Override
+//    public List<TreeNodeVo> orgFilter(List<TreeNodeVo> orgList, String userId) {
+//        String targetUserId = userId;
+//        if (StringUtils.isEmpty(targetUserId)) {
+//            targetUserId = ContextUtils.getUserInfo().getId();
+//        }
+//
+//        List<AppMtAuth> userMtAuthList = findByPropertyValue("userId", targetUserId);
+//        StringBuffer orgIds = new StringBuffer();
+//        List<TreeNodeVo> newTreeNodeList = new ArrayList<TreeNodeVo>();
+//
+//        for (AppMtAuth userMtAuth : userMtAuthList) {
+//            orgIds.append(userMtAuth.getOrgId());
+//        }
+//
+//        for (TreeNodeVo treeNodeVo : orgList) {
+//            if (orgIds.toString().contains(treeNodeVo.getValue())) {
+//                newTreeNodeList.add(treeNodeVo);
+//            }
+//        }
+//        return newTreeNodeList;
+//    }
+
+
+}

+ 869 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/ManageInfoService.java

@@ -0,0 +1,869 @@
+package com.dragoninfo.dcuc.auth.admin.service.impl;
+
+import com.dragoninfo.dcuc.auth.admin.entity.AppMtAuth;
+import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+import com.dragoninfo.dcuc.auth.admin.entity.TempMtAuth;
+import com.dragoninfo.dcuc.auth.admin.enumresource.AdminObjectTypeEnum;
+import com.dragoninfo.dcuc.auth.admin.enumresource.AdminOperateTypeEnum;
+import com.dragoninfo.dcuc.auth.admin.repo.ManageInfoRepository;
+import com.dragoninfo.dcuc.auth.admin.service.IAppMtAuthService;
+import com.dragoninfo.dcuc.auth.admin.service.IManageInfoService;
+import com.dragoninfo.dcuc.auth.admin.service.IMgeLogService;
+import com.dragoninfo.dcuc.auth.admin.service.ITempMtAuthService;
+import com.dragoninfo.dcuc.auth.admin.vo.AdminAuditVO;
+import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
+import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
+import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
+import com.dragoninfo.dcuc.duceap.facade.ICodeListResourceFacade;
+import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
+import com.dragoninfo.dcuc.org.vo.OrgTreeNode;
+import com.dragoninfo.duceap.commons.util.server.OrgInfoUtil;
+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.entity.security.BaseSecurityUser;
+import com.dragonsoft.duceap.base.entity.security.SecurityUser;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
+import com.dragonsoft.duceap.base.utils.UserContextUtils;
+import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
+import com.dragonsoft.duceap.commons.util.string.StringUtils;
+import com.dragonsoft.duceap.core.entity.page.PageImpl;
+import com.dragonsoft.duceap.core.search.Searchable;
+import com.dragonsoft.duceap.core.search.enums.SearchOperator;
+import com.dragonsoft.duceap.core.search.filter.Condition;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Example;
+import org.springframework.data.domain.Page;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+@Service
+@Transactional
+public class ManageInfoService implements IManageInfoService {
+
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    @Autowired
+    private ManageInfoRepository manageInfoRepository;
+
+    @Autowired
+    private IAuthUserInfoService authUserInfoService;
+
+    @Autowired
+    private IAppMtAuthService appMtAuthService;
+
+    @Autowired
+    private ITempMtAuthService tempMtAuthService;
+
+    @Autowired
+    private IMgeLogService iMgeLogService;
+    @Autowired
+    private IOrgInfoFacade orgInfoFacade;
+
+    @Autowired
+    private ICodeListResourceFacade codeListResourceFacade;
+
+    private volatile boolean isEmpty = true;
+
+    private final Map<String, String> POLICE_CATEGORY_MAP = new HashMap<>();
+
+    private void checkPoliceTypeMap(){
+        if (!this.isEmpty){
+            return;
+        }
+        synchronized (this.POLICE_CATEGORY_MAP){
+            if (this.isEmpty){
+                this.POLICE_CATEGORY_MAP.putAll(codeListResourceFacade.listCode("code", "T_MD_POLICE_TYPE").stream()
+                        .collect(Collectors.toMap(CodeRecord::getValue,CodeRecord::getLabel)));
+                this.isEmpty = true;
+            }
+        }
+    }
+
+    /**
+     * 根据机构获取非管理员用户
+     *
+     * @param searchDTO
+     * @return
+     */
+    @Override
+    public Page<AuthUserDTO> getUserNotInManage(SearchDTO searchDTO) {
+        checkPoliceTypeMap();
+        Searchable searchable = Searchable.toSearchable(searchDTO);
+        Condition orgIdEq = searchable.getSearchFilter("orgId", SearchOperator.eq);
+        //机构id不为空,从带有管理范围的机构树选择某一个机构查询
+        //无需再过滤管理范围的机构
+        //机构id为空,从搜索框查询,带有人员的查询条件
+        //需要过滤当前登录人的管理范围
+        if(null == orgIdEq) {
+            BaseSecurityUser currentUser = UserContextUtils.getCurrentUser();
+            boolean rootUser = authUserInfoService.isRootUser(currentUser.getId());
+            if(!rootUser) {
+                List<AppMtAuth> mtAuths = appMtAuthService.getByUserId(currentUser.getId());
+                if(CollectionUtils.isEmpty(mtAuths)) {
+                    return new PageImpl<>(new ArrayList(), searchable.getPage(), 0L);
+                }
+                Set<String> allMtOrgIds = orgInfoFacade.getAllMtOrgIds(mtAuths.get(0).getOrgId());
+                searchable.addSearchFilter("orgId", SearchOperator.in, allMtOrgIds);
+            }
+        }
+        Page<AuthUserInfo> userInfoPage = manageInfoRepository.getNotManagePolice(searchable);
+        List<AuthUserInfo> userInfos = userInfoPage.getContent();
+        List<AuthUserDTO> collect = userInfos.stream().map(e -> {
+            AuthUserDTO dto = new AuthUserDTO();
+            BeanUtils.copyProperties(e, dto);
+            final String code;
+            if (null == (code = e.getPoliceCategory())) {
+                return dto;
+            }
+            final String value = POLICE_CATEGORY_MAP.get(code);
+            dto.setPoliceCategory(value);
+            return dto;
+        }).collect(Collectors.toList());
+        return new PageImpl<>(collect, searchable.getPage(), userInfoPage.getTotalElements());
+    }
+
+    @Override
+    public ResponseStatus saveAdmin(String userIds) {
+        String[] idArray = userIds.split(",");
+        List<ManageInfo> manageInfos = new ArrayList<ManageInfo>();
+        Set<String> uids = new HashSet<String>();
+        for (String id : idArray) {
+            AuthUserInfo userInfo = authUserInfoService.findById(id);
+            if (userInfo == null) {
+                continue;
+            }
+            uids.add(id);
+            ManageInfo manageInfo = new ManageInfo();
+            manageInfo.setDeleted(BooleanEnum.FALSE.getValue());
+            manageInfo.setOrgId(userInfo.getOrgId());
+            manageInfo.setUserId(userInfo.getId());
+            manageInfo.setUserName(userInfo.getName());
+            manageInfo.setOrgName(userInfo.getOrgName());
+            manageInfo.setCreateUser(UserContextUtils.getCurrentUser().getId());
+            manageInfo.setCreateTime(new Date());
+            manageInfos.add(manageInfo);
+        }
+        manageInfoRepository.saveAll(manageInfos);
+        //未启用auth管理本系统菜单
+        List<TempMtAuth> list = tempMtAuthService.findByUserIds(uids);
+        tempMtAuthService.deleteAll(list);
+        Map<String, String> authMap = list.stream()
+                .collect(Collectors.toMap(TempMtAuth::getUserId, TempMtAuth::getOrgId));
+        this.setMgeAuth(manageInfos, authMap);
+        return ResponseStatus.success();
+    }
+
+    @Override
+    public ResponseStatus deleteByUserId(String userId) {
+        //删除授权管理员
+        appMtAuthService.delByUserId(userId);
+        //查询下用户管理是否有该用户如果没有删除
+        manageInfoRepository.delByUserId(userId);
+        saveMgeLog(AdminOperateTypeEnum.QXGLY.getValue(),AdminObjectTypeEnum.SQGL.getValue(), userId, userId);
+        return ResponseStatus.success();
+    }
+
+    @Override
+    public Page<AdminAuditVO> adminAuditPage(SearchDTO dto) {
+        Searchable searchable = Searchable.toSearchable(dto);
+        Page<AdminAuditVO> userInfoPage = manageInfoRepository.adminAuditPage(searchable);
+        List<AdminAuditVO> content = userInfoPage.getContent();
+        List<String> createUserIds = content.stream().map(AdminAuditVO::getCreateUser).collect(Collectors.toList());
+        List<AuthUserInfo> createUsers = authUserInfoService.findByIds(createUserIds);
+        Map<String, AuthUserInfo> userDTOMap = createUsers.stream().collect(Collectors.toMap(AuthUserInfo::getId, e -> e));
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
+        content.forEach(e->{
+            String createUser = e.getCreateUser();
+            AuthUserInfo authUserInfo = userDTOMap.get(createUser);
+            if(null != authUserInfo) {
+                e.setCreateUserName(authUserInfo.getName());
+            }
+            Date createTime = e.getCreateTime();
+            if(null != createTime) {
+                e.setCreateTimeString(format.format(createTime));
+            }
+        });
+        return userInfoPage;
+    }
+
+    //历史数据会产生同一个人会有多条管理员数据
+    //如果因为多条数据报错,要处理历史数据
+    @Override
+    public ManageInfo manageInfoByUserId(String userId) {
+        ManageInfo manageInfo = new ManageInfo();
+        manageInfo.setUserId(userId);
+        Example<ManageInfo> example = Example.of(manageInfo);
+        return manageInfoRepository.findOne(example).orElse(null);
+    }
+
+    /**
+     * 广东地区管理员导入——新增管理员,新增理范围
+     *
+     * @param list           新增的管理员
+     * @param orgIdAuthMap   新的管理范围userId:orgIdAuth
+     */
+    private void setMgeAuth(Collection<ManageInfo> list, Map<String, String> orgIdAuthMap) {
+        List<AppMtAuth> appMtAuthList = new ArrayList<>();
+        List<MgeLog> mgeLogList = new ArrayList<>();
+        for (ManageInfo manageInfo : list) {
+            String userId = manageInfo.getUserId();
+            String orgIdAuth = orgIdAuthMap.get(userId);
+            mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZGLY.getValue(), userId, userId, AdminObjectTypeEnum.GLY.getValue()));//管理员新增日志
+            if (StringUtils.isNotEmpty(orgIdAuth)) {
+                //新增管理范围
+                AppMtAuth appMtAuth = new AppMtAuth(manageInfo.getId(), userId, orgIdAuth);
+                appMtAuthList.add(appMtAuth);
+                //新增管理范围日志
+                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZJGGL.getValue(), userId, orgIdAuth, AdminObjectTypeEnum.JGGL.getValue()));
+                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZSQGL.getValue(), userId, orgIdAuth, AdminObjectTypeEnum.SQGL.getValue()));
+                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZRYGL.getValue(), userId, orgIdAuth, AdminObjectTypeEnum.RYGL.getValue()));
+                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZGLYGL.getValue(), userId, orgIdAuth, AdminObjectTypeEnum.GLYGL.getValue()));
+            }
+        }
+        //保存新增管理范围及日志
+        if (CollectionUtils.isNotEmpty(appMtAuthList)) {
+            appMtAuthService.saveAll(appMtAuthList);
+        }
+        if (CollectionUtils.isNotEmpty(mgeLogList)) {
+            iMgeLogService.saveAll(mgeLogList);
+        }
+    }
+
+    /**
+     * 保存管理员操作日志
+     *
+     * @param type   操作类型
+     * @param userId 用户id
+     * @param ids    操作对象id
+     */
+    private void saveMgeLog(String type,String objectType, String userId, String ids) {
+        String objIds = ids.replace("[", "").replace("]", "");
+        if (StringUtils.isEmpty(objIds)) {
+            return;
+        }
+        MgeLog mgeLog = new MgeLog();
+        mgeLog.setMgeId(userId);
+        mgeLog.setOperateType(type);
+        mgeLog.setObjectType(objectType);
+        mgeLog.setObjectId(objIds);
+        SecurityUser userInfo = UserContextUtils.getCurrentUser();
+        if (userInfo == null) {
+            mgeLog.setOperateUserId("000000");
+            mgeLog.setOperateUserName("监控程序");
+        } else {
+            mgeLog.setOperateUserId(userInfo.getId());
+            mgeLog.setOperateUserName(userInfo.getName());
+            mgeLog.setOperateOrgId(userInfo.getDeptId());
+            mgeLog.setOperateOrgName(userInfo.getSecurityOrgName());
+        }
+        mgeLog.setOperateTime(new Date());
+        iMgeLogService.save(mgeLog);
+    }
+
+
+//
+    @Override
+    public boolean haveAuthWithManage(String userId) {
+        SecurityUser curUser = UserContextUtils.getCurrentUser();
+        if (authUserInfoService.isRootUser(curUser.getId())) {
+            return true;
+        }
+        String mgeMt = appMtAuthService.mgeAppRightRangeStr(curUser.getId());
+        AuthUserInfo userInfo = authUserInfoService.findById(userId);
+        String orgId = userInfo.getOrgId();
+        OrgTreeNode orgTreeNode = orgInfoFacade.getOrgTreeNode(orgId);
+
+        return OrgInfoUtil.isHaveAuth(userInfo.getOrgId(), orgTreeNode.getPath(), mgeMt);
+    }
+
+    @Override
+    public Page<AuthUserDTO> rightRangeManagerList(SearchDTO searchDTO) {
+        checkPoliceTypeMap();
+        Searchable searchable = Searchable.toSearchable(searchDTO);
+        Condition orgIdEq = searchable.getSearchFilter("orgId", SearchOperator.eq);
+        //机构id不为空,从带有管理范围的机构树选择某一个机构查询
+        //无需再过滤管理范围的机构
+        //机构id为空,从搜索框查询,带有人员的查询条件
+        //需要过滤当前登录人的管理范围
+        if(null == orgIdEq) {
+            BaseSecurityUser currentUser = UserContextUtils.getCurrentUser();
+            boolean rootUser = authUserInfoService.isRootUser(currentUser.getId());
+            if(!rootUser) {
+                List<AppMtAuth> mtAuths = appMtAuthService.getByUserId(currentUser.getId());
+                if(CollectionUtils.isEmpty(mtAuths)) {
+                    return new PageImpl<>(new ArrayList(), searchable.getPage(), 0L);
+                }
+                Set<String> allMtOrgIds = orgInfoFacade.getAllMtOrgIds(mtAuths.get(0).getOrgId());
+                searchable.addSearchFilter("orgId", SearchOperator.in, allMtOrgIds);
+            }
+        }
+        Page<AuthUserInfo> userInfoPage = manageInfoRepository.getManageUserInfo(searchable);
+        List<AuthUserInfo> userInfos = userInfoPage.getContent();
+        List<AuthUserDTO> collect = userInfos.stream().map(e -> {
+            //  TODO-Lvzr:过滤ADMIN数据,暂时写死,是否需要支持动态过滤
+            String name = e.getName();
+            if (org.springframework.util.StringUtils.hasText(name) && "ADMIN".equalsIgnoreCase(name)) {
+                return null;
+            }
+            AuthUserDTO dto = new AuthUserDTO();
+            BeanUtils.copyProperties(e, dto);
+            final String code;
+            if (null == (code = e.getPoliceCategory())) {
+                return dto;
+            }
+            dto.setPoliceCategory(POLICE_CATEGORY_MAP.get(code));
+            return dto;
+        }).filter(el-> el != null).collect(Collectors.toList());
+        return new PageImpl<>(collect, searchable.getPage(), userInfoPage.getTotalElements());
+    }
+
+    //    @Override
+//    public ResponseStatus impManger(List<Map<String, String>> list, Boolean authAccessable) throws NumberFormatException {
+//        List<ManageInfo> manageInfoList = new ArrayList<ManageInfo>();
+//        List<Map<String, String>> newManageInfoList = new ArrayList<Map<String, String>>();
+//        int count = 1;
+//        StringBuffer errorMsg = new StringBuffer();
+//        Set<String> userIdCardSet = new HashSet<String>();
+//        for (Map<String, String> map : list) {
+//            StringBuffer errorColum = new StringBuffer();
+//            ++count;
+//            String idCard = map.get("idCard");
+//            if (userIdCardSet.contains(idCard)) {
+//                errorColum.append("\"身份证\"存在重复信息!");
+//            }
+//            userIdCardSet.add(idCard);
+//            AuthUserInfo userInfo = authUserInfoService.findByIdcard(idCard);
+//            if (userInfo == null || UserTypeEnum.EXTERNAL.getValue().equals(userInfo.getUserType())) {
+//                errorColum.append("不是警员、辅警!");
+//            }
+//            if (errorColum.length() == 0) {
+//                needAddManagerFilter(manageInfoList, newManageInfoList, errorColum, map, userInfo);
+//            }
+//            if (errorColum.length() > 0) {
+//                errorMsg.append("第" + count + "行用户" + errorColum + "<br/>");
+//            }
+//        }
+//
+//        if (manageInfoList.size() > 0) {
+//            Map<String, String> userMgeIdmMap = new HashMap<>();
+//            manageInfoBPO.saveAll(manageInfoList);
+//            for (ManageInfo manageInfo : manageInfoList) {
+//                userMgeIdmMap.put(manageInfo.getUserId(), manageInfo.getId());
+//            }
+//            orgMtAuthService.impManger(newManageInfoList, userMgeIdmMap);
+//            appMtAuthService.impManger(newManageInfoList, userMgeIdmMap);
+//            userMtAuthService.impManger(newManageInfoList, userMgeIdmMap);
+//            iMgeMtAuthService.impManger(newManageInfoList, userMgeIdmMap);
+//            //重新计算管理员数量
+//
+//            ArrayList<String> keys = new ArrayList<>();
+//            Map<String, OrgTreeNode> allOrgTreeNode = orgInfoFacade.getAllOrgTreeNode();
+//            for (String key : allOrgTreeNode.keySet()) {
+//                keys.add(key + "_manage");
+//            }
+//            redisTemplate.delete(keys); //清除redis缓存
+//            RedisConnectionUtils.unbindConnection(this.redisTemplate.getConnectionFactory());//释放redis连接
+//        }
+//        return ResponseStatus.success(errorMsg.length() > 0 ? errorMsg.toString() + "以上用户管理员未导入!" : "");
+//    }
+
+//    private void needAddManagerFilter(List<ManageInfo> manageInfoList, List<Map<String, String>> newManageInfoList, StringBuffer errorMsg, Map<String, String> map, AuthUserInfo userInfo) {
+//        ManageInfo manageInfo = this.setManageInfo(userInfo);
+//        Map<String, Object> managerParams = new HashMap<String, Object>();
+//        managerParams.put("userId", manageInfo.getUserId());
+//        managerParams.put("deleted", BooleanEnum.FALSE.getValue());
+//        List<ManageInfo> manageInfoListOld = manageInfoBPO.andsearch(ManageInfo.class, managerParams);//找出该用户旧管理员数据
+//        if (CollectionUtils.isNotEmpty(manageInfoListOld)) {
+//            errorMsg.append("已是管理员,跳过该用户导入!");
+//            return;
+//        }
+//        String orgCode = map.get("code");
+//        if (StringUtils.isEmpty(orgCode)) {//机构代码未填,默认所在机构
+//            map.put("authOrgId", userInfo.getOrgId());
+//        } else {
+//            OrgInfo orgInfo = orgInfoFacade.getOrgInfoByCode(orgCode);
+//            if (orgInfo != null) {//机构不存在
+//                map.put("authOrgId", orgInfo.getId());
+//            } else {
+//                errorMsg.append("机构代码填写有误!");
+//                return;
+//            }
+//        }
+//        if (errorMsg.length() > 0) {
+//            return;
+//        }
+//        manageInfoList.add(manageInfo);
+//        newManageInfoList.add(map);
+//        saveMgeLog(AdminOperateTypeEnum.XZGLY.getValue(),AdminObjectTypeEnum.GLY.getValue(), manageInfo.getUserId(), manageInfo.getUserId());
+//    }
+
+//    private ResponseStatus impMangerForGD(List<Map<String, String>> list, Boolean authAccessable) throws NumberFormatException {
+//        StringBuffer errorMsg = new StringBuffer();
+//        Map<String, String> orgIdAuthMap = new HashMap<String, String>();//存放用户管理范围
+//        Map<String, ManageInfo> oldMgeMap = new HashMap<String, ManageInfo>();//存放已存在的管理员
+//        Map<String, ManageInfo> newMgeMap = new HashMap<String, ManageInfo>();//存放新增的管理员
+//        int count = 1;
+//        for (Map<String, String> map : list) {
+//            ++count;
+//            StringBuffer errorColum = new StringBuffer();
+//            String idCard = map.get("idCard");
+//            AuthUserInfo userInfo = authUserInfoService.findByIdcard(idCard);
+//            if (userInfo == null || UserTypeEnum.EXTERNAL.getValue().equals(userInfo.getUserType())) {
+//                errorColum.append("不是警员、辅警!");
+//                errorMsg.append("第" + count + "行用户" + errorColum + "<br/>");
+//                continue;
+//            }
+//            String userId = userInfo.getId();
+//            String orgCode = map.get("code");
+//            String orgIdAuth = "";
+//            if (StringUtils.isEmpty(orgCode)) {//机构代码未填,范围默认所在机构
+//                orgIdAuth = userInfo.getOrgId() + ":" + map.get("auth");
+//            } else {
+//                OrgInfo orgInfo = orgInfoFacade.getOrgInfoByCode(orgCode);
+//                if (orgInfo == null) {
+//                    errorColum.append("机构代码填写有误!");
+//                    errorMsg.append("第").append(count).append("行用户").append(errorColum).append("<br/>");
+//                    continue;
+//                } else {
+//                    orgIdAuth = orgInfo.getId() + ":" + map.get("auth");
+//                }
+//            }
+//            if (orgIdAuthMap.containsKey(userId)){
+//                //存放用户管理范围
+//                orgIdAuth = orgIdAuthMap.get(userId) + "," + orgIdAuth;
+//            }
+//            orgIdAuthMap.put(userId, orgIdAuth);
+//            if (!oldMgeMap.containsKey(userId) && !newMgeMap.containsKey(userId)) {//管理员未重复
+//                ManageInfo manageInfo = manageInfoBPO.manageInfoByUserId(userId);
+//                if (manageInfo == null) {
+//                    newMgeMap.put(userId, this.setManageInfo(userInfo));//新增管理员
+//                } else {
+//                    oldMgeMap.put(userId, manageInfo);//已存在管理员
+//                }
+//            }
+//        }
+//        if (oldMgeMap.size() != 0) {
+//            manageInfoBPO.saveAll(oldMgeMap.values());//更新旧管理员信息
+//        }
+//        manageInfoBPO.saveAll(newMgeMap.values());//保存新增管理员
+//        this.updateMgeAuth(oldMgeMap.values(), orgIdAuthMap);//更新旧管理员的管理范围
+//        this.setMgeAuth(newMgeMap.values(), orgIdAuthMap, authAccessable);//新增管理员范围
+//        ArrayList<String> keys = new ArrayList<String>();
+//        Map<String, OrgTreeNode> allTreeNode = orgInfoFacade.getAllOrgTreeNode();
+//        for (String key : allTreeNode.keySet()) {
+//            keys.add(key + "_manage");
+//        }
+//        redisTemplate.delete(keys); //清除redis缓存
+//        RedisConnectionUtils.unbindConnection(this.redisTemplate.getConnectionFactory());//释放redis连接
+//        return ResponseStatus.success(errorMsg.length() > 0 ? errorMsg.toString() + "以上用户管理员未导入!" : "");
+//    }
+//
+//    /**
+//     * 广东地区管理员导入——已是管理员,更新管理范围
+//     *
+//     * @param list         管理员
+//     * @param orgIdAuthMap 新的管理范围userId:orgIdAuth
+//     */
+//    private void updateMgeAuth(Collection<ManageInfo> list, Map<String, String> orgIdAuthMap) {
+//        List<OrgMtAuth> orgMtAuthList = new ArrayList<OrgMtAuth>();
+//        List<AppMtAuth> appMtAuthList = new ArrayList<AppMtAuth>();
+//        List<UserMtAuth> userMtAuthList = new ArrayList<UserMtAuth>();
+//        List<MgeMtAuth> mgeMtAuthList = new ArrayList<MgeMtAuth>();
+//        List<MgeLog> mgeLogList = new ArrayList<MgeLog>();
+//        for (ManageInfo manageInfo : list) {
+//            OrgMtAuth orgMtAuth = orgMtAuthBPO.getByUserId(manageInfo.getId(), manageInfo.getUserId());
+//            AppMtAuth appMtAuth = appMtAuthService1.getByUserId(manageInfo.getId(), manageInfo.getUserId());
+//            UserMtAuth userMtAuth = userMtAuthBPO.getByUserId(manageInfo.getId(), manageInfo.getUserId());
+//            MgeMtAuth mgeMtAuth = mgeMtAuthBPO.getByUserId(manageInfo.getId(), manageInfo.getUserId());
+//            String orgIdAuth = orgIdAuthMap.get(manageInfo.getUserId());
+//            if (orgMtAuth != null) {//存在旧管理范围
+//                orgMtAuth.setOrgId(orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.BGJGGL.getValue(), orgMtAuth.getUserId(), orgMtAuth.getOrgId(), AdminObjectTypeEnum.JGGL.getValue()));
+//            } else {//未授权管理范围
+//                orgMtAuth = new OrgMtAuth(manageInfo.getId(), manageInfo.getUserId(), orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZJGGL.getValue(), orgMtAuth.getUserId(), orgMtAuth.getOrgId(), AdminObjectTypeEnum.JGGL.getValue()));
+//            }
+//            if (appMtAuth != null) {//存在旧管理范围
+//                appMtAuth.setOrgId(orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.BGSQGL.getValue(), appMtAuth.getUserId(), appMtAuth.getOrgId(), AdminObjectTypeEnum.SQGL.getValue()));
+//            } else {//未授权管理范围
+//                appMtAuth = new AppMtAuth(manageInfo.getId(), manageInfo.getUserId(), orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZSQGL.getValue(), appMtAuth.getUserId(), appMtAuth.getOrgId(), AdminObjectTypeEnum.SQGL.getValue()));
+//            }
+//            if (userMtAuth != null) {//存在旧管理范围
+//                userMtAuth.setOrgId(orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.BGRYGL.getValue(), userMtAuth.getUserId(), userMtAuth.getOrgId(), AdminObjectTypeEnum.RYGL.getValue()));
+//            } else {//未授权管理范围
+//                userMtAuth = new UserMtAuth(manageInfo.getId(), manageInfo.getUserId(), orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZRYGL.getValue(), userMtAuth.getUserId(), userMtAuth.getOrgId(), AdminObjectTypeEnum.RYGL.getValue()));
+//            }
+//            if (mgeMtAuth != null) {//存在旧管理范围
+//                mgeMtAuth.setOrgId(orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.BGGLYGL.getValue(), mgeMtAuth.getUserId(), mgeMtAuth.getOrgId(), AdminObjectTypeEnum.GLYGL.getValue()));
+//            } else {//未授权管理范围
+//                mgeMtAuth = new MgeMtAuth(manageInfo.getId(), manageInfo.getUserId(), orgIdAuth);
+//                mgeLogList.add(iMgeLogService.getMgeLog(AdminOperateTypeEnum.XZGLYGL.getValue(), mgeMtAuth.getUserId(), mgeMtAuth.getOrgId(), AdminObjectTypeEnum.GLYGL.getValue()));
+//            }
+//            orgMtAuthList.add(orgMtAuth);
+//            appMtAuthList.add(appMtAuth);
+//            userMtAuthList.add(userMtAuth);
+//            mgeMtAuthList.add(mgeMtAuth);
+//        }
+//        if (orgMtAuthList.size() != 0){
+//            orgMtAuthBPO.saveAll(orgMtAuthList);//保存新的管理范围及日志
+//        }
+//        if (appMtAuthList.size() != 0){
+//            appMtAuthService1.saveAll(appMtAuthList);
+//        }
+//        if (userMtAuthList.size() != 0){
+//            userMtAuthBPO.saveAll(userMtAuthList);
+//        }
+//        if (mgeMtAuthList.size() != 0){
+//            mgeMtAuthBPO.saveAll(mgeMtAuthList);
+//        }
+//        if (mgeLogList.size() != 0){
+//            iMgeLogService.saveAll(mgeLogList);
+//        }
+//    }
+    //
+//    private ManageInfo setManageInfo(AuthUserInfo userInfo) {
+//        ManageInfo manageInfo = new ManageInfo();
+//        manageInfo.setOrgId(userInfo.getOrgId());
+//        manageInfo.setUserId(userInfo.getId());
+//        manageInfo.setUserName(userInfo.getName());
+//        manageInfo.setDeleted(BooleanEnum.FALSE.getValue());
+//        manageInfo.setCreateTime(new Date());
+//        manageInfo.setCreateUser(ContextUtils.getUserInfo().getId());
+//        return manageInfo;
+//    }
+
+//    @Override
+//    public List<AuthUserDTO> exportAdminList(Set<String> orgInfoSets, List<AuthUserDTO> adminLists) {
+//        Set<String> removeOrgs = new HashSet<String>();
+//        StringBuffer stringBuffer = new StringBuffer();
+//        int i = 0;
+//        for (String id : orgInfoSets) {
+//            i++;
+//            if (i % 1000 == 0) {
+//                break;
+//            }
+//            removeOrgs.add(id);
+//            stringBuffer.append("'").append(id).append("',");
+//        }
+//        orgInfoSets.removeAll(removeOrgs);
+//        adminLists.addAll(manageInfoBPO.exprotAdminList(stringBuffer.substring(0, stringBuffer.length() - 1)));
+//        if (orgInfoSets.size() > 0) {
+//            exportAdminList(orgInfoSets, adminLists);
+//        }
+//        return adminLists;
+//    }
+
+//    @Override
+//    public List<Map<String, String>> mgeSpreadDtlList(String orgId) {
+//        logger.info("开始统计===========================");
+//        long time = System.currentTimeMillis();
+//        List<Map<String, String>> list = new ArrayList<>();
+//        List<OrgInfo> orgInfoList = new ArrayList<>();
+//        boolean checkNull = false;
+//        if (StringUtils.isBlank(orgId)) {
+//            orgId = orgInfoFacade.getRootOrgId();
+//
+//            OrgInfo orgInfo = orgInfoFacade.detail(orgId);
+//            orgInfoList.add(orgInfo);
+//            checkNull = true;
+//        } else {
+//
+//            orgInfoList = orgInfoFacade.getOrgListByUpId(orgId);
+//        }
+//        if (!orgInfoList.isEmpty()) {
+//            logger.info("开始循环统计===========================");
+//            StringBuilder ids = new StringBuilder();
+//            for (OrgInfo orgInfo : orgInfoList) {
+//                ids.append(",'").append(orgInfo.getId()).append("'");
+//            }
+//            String idsStr = ids.toString().replaceFirst(",", "");
+//            //管理员数,优先从缓存获取
+//            String amListRedisKey = orgId + "_am_manage";
+//            List<Map<String, Object>> amList = null;
+//            String amListStr = redisTemplate.opsForValue().get(amListRedisKey) != null ? redisTemplate.opsForValue().get(amListRedisKey).toString() : null;
+//            if (checkNull) {
+//                amList = manageInfoBPO.mgeCountDtlList("T_ADMIN_MGE_MT_AUTH", idsStr);
+//            } else if (amListStr == null) {
+//                amList = manageInfoBPO.mgeCountDtlList("T_ADMIN_MGE_MT_AUTH", idsStr);
+//                amListStr = JSON.toJSONString(amList);
+//                redisTemplate.opsForValue().set(amListRedisKey, amListStr);
+//                //设置超时时间1小时
+//                redisTemplate.expire(amListRedisKey, 1, TimeUnit.HOURS);
+//            } else {
+//                amList = (List<Map<String, Object>>) JSONArray.parse(amListStr);
+//            }
+//            long time3 = System.currentTimeMillis();
+//            logger.info("---管理员管理人数:----------" + (time3 - time));
+//
+//            //机构管理员数,优先从缓存获取
+//            String omListRedisKey = orgId + "_om_manage";
+//            List<Map<String, Object>> omList = null;
+//            long time4 = System.currentTimeMillis();
+//            logger.info("---机构管理员人数:----------" + (time4 - time3));
+//
+//            //用户管理员数,优先从缓存获取
+//            String umListRedisKey = orgId + "_um_manage";
+//            List<Map<String, Object>> umList = null;
+//            long time5 = System.currentTimeMillis();
+//            logger.info("---人员管理员人数:----------" + (time5 - time4));
+//            for (OrgInfo orgInfo : orgInfoList) {
+//                String id = orgInfo.getId();
+//                String upGovId = orgInfo.getUpGovId();
+//                Integer sortNo = orgInfo.getSortNo();
+//                String fullName = orgInfo.getFullName();
+//                String code = orgInfo.getCode();
+//
+//                Map map = new HashMap();
+//                String mgeNums = "0";
+//                String orgNums = "0";
+//                String userNums = "0";
+//
+//                map.put("id", id);
+//                map.put("pid", upGovId);
+//                map.put("sortNo", sortNo);
+//                map.put("name", fullName);
+//                map.put("code", code);
+//                for (Map<String, Object> am : amList) {
+//                    if (id.equals(am.get("ORGID"))) {
+//                        mgeNums = am.get("TOTAL").toString();
+//                        break;
+//                    }
+//                }
+//
+//                map.put("mgeNums", mgeNums + "");
+//                map.put("orgNums", orgNums + "");
+//                map.put("userNums", userNums + "");
+//                map.put("isParent", true);
+//                list.add(map);
+//            }
+//        }
+//        long time6 = System.currentTimeMillis();
+//        logger.info("---总耗时:----------" + (time6 - time) + "ms");
+//        //排序
+//        Collections.sort(list, new Comparator<Map<String, String>>() {
+//            @Override
+//            public int compare(Map<String, String> o1, Map<String, String> o2) {
+//                String sortOne = o1.get("sortNo") == null ? "0" : String.valueOf(o1.get("sortNo"));
+//                String sortTwo = o2.get("sortNo") == null ? "0" : String.valueOf(o2.get("sortNo"));
+//                return Integer.parseInt(sortOne) - Integer.parseInt(sortTwo);
+//            }
+//        });
+//        return list;
+//    }
+//
+//    @Override
+//    public List<Map<String, String>> mgeSpreadDtlListForGD(String orgId) {
+//        logger.info("开始统计===========================");
+//        long time = System.currentTimeMillis();
+//        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
+//        List<OrgInfo> orgInfoList = new ArrayList<>();
+//        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+//        boolean checkNull = false;
+//        if (StringUtils.isBlank(orgId)) {
+//            orgId = orgInfoFacade.getRootOrgId();
+//
+//            OrgInfo orgInfo = orgInfoFacade.detail(orgId);
+//            orgInfoList.add(orgInfo);
+//            checkNull = true;
+//        } else {
+//            orgInfoList = orgInfoFacade.getOrgListByUpId(orgId);
+//
+//        }
+//        if (!orgInfoList.isEmpty()) {
+//            logger.info("开始循环统计===========================");
+//            StringBuilder ids = new StringBuilder();
+//            for (OrgInfo orgInfo : orgInfoList) {
+//                ids.append("or t4.ORG_ID like '%").append(orgInfo.getId()).append("%' ");
+//            }
+//            String rootUser = authConfig.getRootUserId();
+//            String idsStr = ids.toString().replaceFirst("or", "");
+//
+//            //管理员数,优先从缓存获取
+//            String amListRedisKey = orgId + "_am_manage";
+//            List<Map<String, Object>> amList = null;
+//            String amListStr = redisTemplate.opsForValue().get(amListRedisKey) != null ? redisTemplate.opsForValue().get(amListRedisKey).toString() : null;
+//            if (checkNull) {
+//                amList = manageInfoBPO.mgeCountDtlListForGD(rootUser, idsStr);
+//            } else if (amListStr == null) {
+//                amList = manageInfoBPO.mgeCountDtlListForGD(rootUser, idsStr);
+//            } else {
+//                amList = (List<Map<String, Object>>) JSONArray.parse(amListStr);
+//            }
+//            long time3 = System.currentTimeMillis();
+//            logger.info("---管理员管理人数:----------" + (time3 - time) + "ms");
+//            for (OrgInfo orgInfo : orgInfoList) {
+//                String id = orgInfo.getId();
+//                String upGovId = orgInfo.getUpGovId();
+//                Integer sortNo = orgInfo.getSortNo();
+//                String fullName = orgInfo.getFullName();
+//                String code = orgInfo.getCode();
+//                Map map = new HashMap();
+//                int mgeNums = 0;
+//
+//                map.put("id", id);
+//                map.put("pid", upGovId);
+//                map.put("sortNo", sortNo.toString());
+//                map.put("name", fullName);
+//                map.put("code", code);
+//                for (Map<String, Object> am : amList) {
+//                    if ((am.get("orgId").toString()).contains(id)) {
+//                        mgeNums++;
+//                    }
+//                }
+//                map.put("mgeNums", mgeNums + "");
+//                map.put("isParent", "true");
+//                list.add(map);
+//            }
+//        }
+//        return list;
+//    }
+//
+//    /**
+//     * 根据权限范围找到机构
+//     *
+//     * @param mtOrgIds    权限范围ID
+//     * @param orgInfoList List<OrgInfo>
+//     */
+//    public List getUpgovIdMap(String mtOrgIds, List orgInfoList) {
+//        String ids = "";
+//        if (StringUtils.isNotEmpty(mtOrgIds)) {
+//            String[] mtIds = mtOrgIds.split(",");
+//            for (String mtId : mtIds) {
+//                ids += StringUtils.isEmpty(ids) ? mtId.split(":")[0] : "," + mtId.split(":")[0];
+//            }
+//
+//            orgInfoList = orgInfoFacade.getOrgsByIds(ids);
+//        }
+//        return orgInfoList;
+//    }
+//
+//    @Override
+//    public Page<AuthUserDTO> rightRangeManagerListWithQuery(String type, SearchDTO searchDTO) {
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        searchable.addSort(Sort.Direction.ASC, "userType");
+//        searchable.addSort(Sort.Direction.DESC, "orgCode");
+//        return manageInfoBPO.rightRangeManagerList(type, "", searchable);
+//    }
+//
+//    @Override
+//    public Map<String, Long> getMgeNumByOrgIds(Set<String> orgIds, String type) {
+//        String tableName = getTableName(type);
+//        Map<String, Long> countMap = new HashMap<>();
+//        for (String orgId : orgIds) {
+//            if (StringUtils.isBlank(orgId)){
+//                continue;
+//            }
+//            int count = manageInfoBPO.getMgeNumByOrgIds(orgId, authConfig.getRootUserId(), tableName);
+//            countMap.put(orgId, Long.valueOf(count));
+//        }
+//        return countMap;
+//    }
+//
+//    public String getTableName(String type) {
+//        String tableName = "";
+//        switch (type) {
+//            case SysConstants.MT_ORG:
+//                tableName = "t_admin_org_mt_auth";
+//                break;
+//            case SysConstants.MT_USER:
+//                tableName = "t_admin_user_mt_auth";
+//                break;
+//            default:
+//                tableName = "";
+//        }
+//        return tableName;
+//    }
+//
+//    @Override
+//    public Page<AuthUserDTO> getManageInfoByOrgId(Searchable searchable) {
+//        Page<AuthUserDTO> userInfos = manageInfoBPO.adminList(searchable);
+//        return userInfos;
+//    }
+//
+//    @Override
+//    public ResponseStatus saveAdminBJ(String rootOrgId, String orgId, String ids) {
+//        String[] idArray = ids.split(",");
+//        List<ManageInfo> manageInfos = new ArrayList<ManageInfo>();
+//        for (String id : idArray) {
+//            AuthUserInfo userInfo = authUserInfoService.findById(id);
+//            if (userInfo == null) {
+//                continue;
+//            }
+//            ManageInfo manageInfo = new ManageInfo();
+//            manageInfo.setDeleted(BooleanEnum.FALSE.getValue());
+//            manageInfo.setOrgId(userInfo.getOrgId());
+//            manageInfo.setUserId(userInfo.getId());
+//            manageInfo.setUserName(userInfo.getName());
+//            manageInfo.setCreateUser(ContextUtils.getUserInfo().getId());
+//            manageInfo.setCreateTime(new Date());
+//            saveOrUpdate(manageInfo);
+//            saveMgeLog(AdminOperateTypeEnum.XZGLY.getValue(), AdminObjectTypeEnum.GLY.getValue(), id, id);
+//            manageInfos.add(manageInfo);
+//        }
+//
+//        //删除redis缓存管理员统计数据
+//        redisTemplate.delete(orgId + "_manage");
+//        //释放redis连接
+//        RedisConnectionUtils.unbindConnection(this.redisTemplate.getConnectionFactory());
+//        //异步添加管理员默认角色
+////        ManageInfoMsg manageInfoMsg = new ManageInfoMsg();
+////        manageInfoMsg.setSecurityUser((SecurityUser) ContextUtils.getUserInfo());
+////        manageInfoMsg.setManageInfoList(manageInfos);
+////        manageInfoMsg.setOperateType(AdminOperateTypeEnum.XZGLY.getValue());
+////        manageInfoBusCenter.post(manageInfoMsg);
+//        return ResponseStatus.success();
+//    }
+//
+//    @Override
+//    public Boolean checkIsManagerByUserId(String userId) {
+//        if (authUserInfoService.isRootUser(userId)) {
+//            return true;
+//        }
+//        ManageInfo manageInfo = manageInfoBPO.manageInfoByUserId(userId);
+//        return manageInfo != null;
+//    }
+//
+//    @Override
+//    public List<MgeMonitorVO> getAbnormalInfo(int limitDay) {
+//        return manageInfoBPO.getAbnormalInfo(limitDay);
+//    }
+//
+//    @Override
+//    public List<NoticeUserVO> getManagerByOrgId(String orgId) {
+//        return manageInfoBPO.getManagerByOrgId(orgId);
+//    }
+//
+//    @Override
+//    public List<NoticeUserVO> getOrgMgeManager(String orgId) {
+//        return manageInfoBPO.getOrgMgeManager(orgId);
+//    }
+//
+//    @Override
+//    public Page<AuthUserDTO> getManageInfoList(Searchable searchable) {
+//        Pageable page = searchable.getPage();
+//        Pageable pageAble = searchable.getPage();
+//        List<Map<String, String>> list = manageInfoBPO.adminMapList(searchable);
+//        List<String> rightList = filterUsers(list, "MgeMtAuth");
+//        int total = rightList.size();
+//        int end = (int) (page.getOffset() + page.getPageSize());
+//        List<String> inList = rightList.subList((int) page.getOffset(), end > total ? total : end);
+//        List<AuthUserDTO> resultList = authUserInfoService.findByIds(inList);
+//        return new PageImpl<AuthUserDTO>(resultList, pageAble, total);
+//    }
+
+}

+ 268 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/MenuMtAuthService.java

@@ -0,0 +1,268 @@
+//package com.dragoninfo.dcuc.auth.admin.service.impl;
+//
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.ManageInfo;
+//import com.dragoninfo.dcuc.auth.admin.entity.MenuMtAuth;
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+//import com.dragoninfo.dcuc.auth.admin.repo.MenuMtAuthRepository;
+//import com.dragoninfo.dcuc.auth.admin.service.IManageInfoService;
+//import com.dragoninfo.dcuc.auth.admin.service.IMenuMtAuthService;
+//import com.dragoninfo.dcuc.auth.admin.service.IMgeLogService;
+//import com.dragoninfo.dcuc.auth.auth.dto.AuthMenuDTO;
+//import com.dragoninfo.dcuc.auth.auth.service.IAuthMenuService;
+//import com.dragoninfo.dcuc.auth.sub.service.IAuthUserInfoService;
+//import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+//import com.dragonsoft.duceap.base.entity.security.SecurityUser;
+//import com.dragonsoft.duceap.base.entity.tree.TreeNodeVo;
+//import com.dragonsoft.duceap.base.enums.BooleanEnum;
+//import com.dragonsoft.duceap.base.utils.UserContextUtils;
+//import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
+//import com.dragonsoft.duceap.commons.util.string.StringUtils;
+//import com.dragonsoft.duceap.core.context.ContextUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.data.domain.Example;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.*;
+//
+//@Service
+//@Transactional
+//public class MenuMtAuthService implements IMenuMtAuthService {
+//    /**
+//     * 菜单权限BPO
+//     */
+//    @Autowired
+//    private MenuMtAuthRepository menuMtAuthRepository;
+//
+//    /**
+//     * 管理员信息服务
+//     */
+//    @Autowired
+//    private IManageInfoService iManageInfoService;
+//
+//    /**
+//     * 人员信息服务
+//     */
+//    @Autowired
+//    private IAuthUserInfoService authUserInfoService;
+//
+//    /**
+//     * 管理员操作日志服务
+//     */
+//    @Autowired
+//    private IMgeLogService mgeLogService;
+//
+//    /**
+//     * 菜单信息服务
+//     */
+//    @Autowired
+//    private IAuthMenuService authMenuService;
+//
+//
+//    @Override
+//    public ResponseStatus save(String menuIds, String userId) {
+//        SecurityUser securityUser = UserContextUtils.getCurrentUser();
+//        String[] menuIdList = menuIds.split(",");//勾选的菜单
+//        Set<String> oldMenu = new HashSet<String>();
+//        Set<String> selectMenu = new HashSet<String>();
+//        Set<String> loginMenu = new HashSet<String>();
+//        Set<String> deleteList = new HashSet<String>();
+//        List<MenuMtAuth> newMenuAuth = new ArrayList<MenuMtAuth>();
+//
+//        ManageInfo manageInfo = iManageInfoService.manageInfoByUserId(userId);
+//        List<MenuMtAuth> userAuths = getByUserId(userId);//所选管理员菜单范围
+//        List<MenuMtAuth> loginAuths = getByUserId(securityUser.getId());//当前管理员菜单范围
+//        //当前管理员范围
+//        for (MenuMtAuth menuMtAuth : loginAuths) {
+//            loginMenu.add(menuMtAuth.getMenuId());
+//        }
+//        //勾选的菜单
+//        for (String menuId : menuIdList) {
+//            if (StringUtils.isNotEmpty(menuId)) {
+//                selectMenu.add(menuId);
+//            }
+//        }
+//        //在选择范围内未勾选,即删除该菜单,oldMenu筛选出旧菜单不包含即将删除的菜单
+//        for (MenuMtAuth menuMtAuth : userAuths) {
+//            String menuId = menuMtAuth.getMenuId();
+//            if (!selectMenu.contains(menuId) && (loginMenu.contains(menuId) || authUserInfoService.isRootUser(securityUser.getId()))) {
+//                menuMtAuthRepository.deleteById(menuMtAuth.getId());
+//                deleteList.add(menuId);
+//                continue;
+//            }
+//            oldMenu.add(menuId);
+//        }
+//        //剔除已有的菜单,剩下即新增的菜单
+//        Iterator<String> it = selectMenu.iterator();
+//        while (it.hasNext()) {
+//            String menuId = it.next();
+//            if (oldMenu.contains(menuId)) {
+//                it.remove();
+//                continue;
+//            }
+//            MenuMtAuth menuMtAuth = new MenuMtAuth();
+//            menuMtAuth.setMgeId(manageInfo.getId());
+//            menuMtAuth.setMenuId(menuId);
+//            menuMtAuth.setUserId(userId);
+//            newMenuAuth.add(menuMtAuth);
+//        }
+//        //新增日志
+//        if (selectMenu.size() > 0) {
+//            menuMtAuthRepository.saveAll(newMenuAuth);
+//            saveMgeLog("20", userId, selectMenu.toString());
+//        }
+//        //删除日志
+//        if (deleteList.size() > 0) {
+//            saveMgeLog("21", userId, deleteList.toString());
+//        }
+//        return ResponseStatus.success("保存成功");
+//    }
+//
+//    @Override
+//    public List<String> mgeMenuRightRangeList(String userId) {
+//        List<MenuMtAuth> menuMtAuthList = getByUserId(userId);
+//        List<String> menuMtAuthStrList = new ArrayList<String>();
+//
+//        for (MenuMtAuth menuMtAuth : menuMtAuthList) {
+//            menuMtAuthStrList.add(menuMtAuth.getMenuId());
+//        }
+//
+//        return menuMtAuthStrList;
+//    }
+//
+//    @Override
+//    public List<TreeNodeVo> menuFilter(String userId, String appId) {
+//        StringBuffer menuIds = new StringBuffer();
+//        List<TreeNodeVo> newTreeNodeList = new ArrayList<TreeNodeVo>();
+//        SecurityUser securityUser = (SecurityUser) ContextUtils.getUserInfo();
+//        if (StringUtils.isEmpty(userId)) {
+//            userId = securityUser.getId();
+//        }
+//        List<TreeNodeVo> menuInfoList = authMenuService.getMenuTree(appId, BooleanEnum.TRUE.value);//本系统所有菜单
+//        if (authUserInfoService.isRootUser(securityUser.getId())) {
+//            return menuInfoList;
+//        }
+//        List<MenuMtAuth> menuMtAuthList = getByUserId(userId);//用户拥有的菜单
+//        for (MenuMtAuth menuMtAuth : menuMtAuthList) {
+//            menuIds.append(menuMtAuth.getMenuId() + ",");
+//        }
+//
+//        for (TreeNodeVo treeNodeVo : menuInfoList) {//过滤菜单
+//            if (menuIds.toString().contains(treeNodeVo.getValue())) {
+//                newTreeNodeList.add(treeNodeVo);
+//            }
+//        }
+//        return newTreeNodeList;
+//    }
+//
+//    @Override
+//    public List<MenuMtAuth> getByUserId(String userId) {
+//        MenuMtAuth menuMtAuth = new MenuMtAuth();
+//        menuMtAuth.setUserId(userId);
+//        Example<MenuMtAuth> example = Example.of(menuMtAuth);
+//        return menuMtAuthRepository.findAll(example);
+//    }
+//
+//
+//    @Override
+//    public List<MgeLog> convertIdsToNames(List<MgeLog> mgeLogList) {
+//        List<AuthMenuDTO> allMenus = authMenuService.getAllMenus();
+//        Map<String, String> menusMap = new HashMap<String, String>();
+//        for (AuthMenuDTO menuInfo : allMenus) {
+//            menusMap.put(menuInfo.getId(), menuInfo.getName());
+//        }
+//
+//        for (MgeLog mgeLog : mgeLogList) {
+//            String ids = mgeLog.getObjectId();
+//            for (String id : ids.split(",")) {
+//                if (menusMap.get(id.trim()) == null) {
+//                    ids = ids.replace(id, "该菜单不存在");
+//                } else {
+//                    ids = ids.replace(id, menusMap.get(id.trim()));
+//                }
+//            }
+//            mgeLog.setObjectName(ids);
+//        }
+//
+//        return mgeLogList;
+//    }
+//
+//    @Override
+//    public void saveAll(List<MenuMtAuth> menuMtAuths) {
+//        if(CollectionUtils.isEmpty(menuMtAuths)) {
+//            return;
+//        }
+//        menuMtAuthRepository.saveAll(menuMtAuths);
+//    }
+//
+//
+//    private void saveMgeLog(String type, String userId, String ids) {
+//        if (StringUtils.isEmpty(ids)) {
+//            return;
+//        }
+//        MgeLog mgeLog = new MgeLog();
+//
+//        mgeLog.setMgeId(userId);
+//        mgeLog.setOperateType(type);
+//        mgeLog.setObjectType("20");
+//        mgeLog.setObjectId(ids.replace("[", "").replace("]", ""));
+//        mgeLog.setOperateUserId(ContextUtils.getUserInfo().getId());
+//        mgeLog.setOperateUserName(ContextUtils.getUserInfo().getName());
+//        mgeLog.setOperateOrgId(ContextUtils.getUserInfo().getSecurityOrg());
+//        mgeLog.setOperateOrgName(ContextUtils.getUserInfo().getSecurityOrg());//新框架未将机构名称存入当前用户信息中
+//        mgeLog.setOperateTime(new Date());
+//
+//        mgeLogService.save(mgeLog);
+//    }
+//
+//    //    @Override
+////    public List<TreeNodeVo> menuList(Searchable searchable) {
+////        List<AuthMenuInfo> sysMenuInfoList = PersistentFactory.getHibernateDao().queryforlist(AuthMenuInfo.class, searchable);
+////        List<TreeNodeVo> list = new ArrayList<TreeNodeVo>();
+////
+////        for (AuthMenuInfo sysMenuInfo : sysMenuInfoList) {
+////            TreeNodeVo treeNodeVo = new TreeNodeVo();
+////            treeNodeVo.setValue(sysMenuInfo.getId());
+////            treeNodeVo.setPid(sysMenuInfo.getParentId());
+////            treeNodeVo.setLabel(sysMenuInfo.getName());
+////            list.add(treeNodeVo);
+////        }
+////
+////        return list;
+////    }
+//
+////    @Override
+////    public List<SecurityRight> getMenuByIds(List<String> ids, String tableName) {
+////        return menuMtAuthRepository.getMenuByIds(ids, tableName);
+////    }
+////
+////    @Override
+////    public List<SecurityRight> getAllMenus(String tableName) {
+////        return menuMtAuthRepository.getAllMenus(tableName);
+////    }
+//
+////    @Override
+////    public ResponseStatus impManger(List<Map<String, String>> list, Map<String, String> userMgeIdmMap) {
+////        List<MenuMtAuth> menuMtAuths = new ArrayList<MenuMtAuth>();
+////        List<MgeLog> mgeLogList = new ArrayList<MgeLog>();
+////        for (Map<String, String> map : list) {
+////            AuthUserInfo userInfo = authUserInfoService.findByIdcard(map.get("idCard"));
+////            if(null == userInfo) {
+////                continue;
+////            }
+////            String mgeId = userMgeIdmMap.get(userInfo.getId());
+////            for (InitMenuEnum menuEnum : InitMenuEnum.values()) {
+////                MenuMtAuth menuMtAuth = new MenuMtAuth();
+////                menuMtAuth.setMgeId(mgeId);
+////                menuMtAuth.setUserId(userInfo.getId());
+////                menuMtAuth.setMenuId(menuEnum.getValue());
+////                menuMtAuths.add(menuMtAuth);
+////                mgeLogList.add(mgeLogService.getMgeLog(AdminOperateTypeEnum.XZPTCD.getValue(), menuMtAuth.getUserId(), menuMtAuth.getMenuId(), AdminObjectTypeEnum.PTCD.getValue()));
+////            }
+////        }
+////        menuMtAuthRepository.saveAll(menuMtAuths);
+////        mgeLogService.saveAll(mgeLogList);
+////        return ResponseStatus.success();
+////    }
+//}

+ 282 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/MgeLogService.java

@@ -0,0 +1,282 @@
+package com.dragoninfo.dcuc.auth.admin.service.impl;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.MgeLog;
+import com.dragoninfo.dcuc.auth.admin.repo.MgeLogRepository;
+import com.dragoninfo.dcuc.auth.admin.service.IMgeLogService;
+import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
+import com.dragonsoft.duceap.base.entity.security.SecurityUser;
+import com.dragonsoft.duceap.base.utils.UserContextUtils;
+import com.dragonsoft.duceap.core.context.ContextUtils;
+import com.dragonsoft.duceap.core.search.Searchable;
+import com.dragonsoft.duceap.core.search.enums.SearchOperator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+@Transactional
+public class MgeLogService implements IMgeLogService {
+
+    @Autowired
+    private MgeLogRepository mgeLogRepository;
+
+    @Override
+    public List<MgeLog> queryList(String type, String userId) {
+        Searchable searchable = Searchable.newSearchable();
+        searchable.addSearchFilter("objectType", SearchOperator.eq, type);
+        searchable.addSearchFilter("mgeId", SearchOperator.eq, userId);
+        searchable.addSort(Sort.Direction.DESC, "operateTime");
+        List<MgeLog> mgeLogList = mgeLogRepository.findAll(searchable);
+        return mgeLogList;
+    }
+
+    @Override
+    public void saveAll(List<MgeLog> mgeLogList) {
+        mgeLogRepository.saveAll(mgeLogList);
+    }
+
+    /**
+     * 保存日志
+     *
+     * @param type       日志操作类型
+     * @param userId     用户id
+     * @param ids        权限id
+     * @param objectType 日志对象类型
+     * @return
+     */
+    @Override
+    public MgeLog getMgeLog(String type, String userId, String ids, String objectType) {
+        SecurityUser currentUser = UserContextUtils.getCurrentUser();
+        String objIds = ids.replace("[", "").replace("]", "");
+        MgeLog mgeLog = new MgeLog();
+        mgeLog.setMgeId(userId);
+        mgeLog.setOperateType(type);
+        mgeLog.setObjectType(objectType);
+        mgeLog.setObjectId(objIds);
+        mgeLog.setOperateUserId(currentUser.getId());
+        mgeLog.setOperateUserName(currentUser.getName());
+        mgeLog.setOperateOrgId(currentUser.getDeptId());
+        mgeLog.setOperateOrgName(currentUser.getSecurityOrgName());
+        mgeLog.setOperateTime(new Date());
+        return mgeLog;
+    }
+
+    @Override
+    public void save(MgeLog mgeLog) {
+        mgeLogRepository.save(mgeLog);
+    }
+
+//    @Override
+//    public Page<MgeLog> findPage(SearchDTO searchDTO) {
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        Page<MgeLog> page = mgeLogRepository.findPage(searchable);
+//        for (MgeLog mgeLog : page.getContent()) {
+//            String ids = StringUtils.isEmpty(mgeLog.getObjectId()) ? "" : mgeLog.getObjectId();
+//            String type = mgeLog.getOperateType();
+//            //被操作人名称
+//            AuthUserInfo userInfo = userInfoService.findById(mgeLog.getMgeId());
+//            mgeLog.setUserName(userInfo.getName());
+//            //机构范围名称转换
+//            if (!"10".equals(type) && !"20".equals(type)) {
+//
+//                ids = orgInfoFacade.changeIdsToNames(ids);
+//                if(StringUtils.isNotBlank(ids)) {
+//                    ids = ids.replace(":-1", "(及其下属机构)").replace(":0", "本机构").replace(":1", "本机构").replace(":2", "(及其下属机构)");
+//                }
+//                mgeLog.setObjectName(ids);
+//            }
+//            //平台菜单名称转换
+//            if (type.equals("20")) {
+//                Map<String, String> menusMap = null;
+//                if (menusMap == null) {
+//                    menusMap = new HashMap<String, String>();
+//                    List<AuthMenuDTO> allMenus = authMenuService.getAllMenus();
+//                    for (AuthMenuDTO menuInfo : allMenus) {
+//                        menusMap.put(menuInfo.getId(), menuInfo.getName());
+//                    }
+//                }
+//                for (String id : ids.split(",")) {
+//                    if (menusMap.get(id.trim()) == null) {
+//                        ids = ids.replace(id, "该菜单不存在");
+//                    } else {
+//                        ids = ids.replace(id, menusMap.get(id.trim()));
+//                    }
+//                }
+//                mgeLog.setObjectName(ids);
+//            }
+//        }
+//        return page;
+//    }
+//
+//    @Override
+//    public Page<MgeLog> findMgeAuditLogReport(SearchDTO searchDTO) {
+//        MgeLog mgeLog = new MgeLog();
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        String name = "";
+//        String idcard = "";
+//        String objectType = "";
+//        String operateUserName = "";
+//        String beginTime = "";
+//        String endTime = "";
+//        String orgId = "";
+//        if (searchable.containsSearchKey("orgId_eq")) {
+//            orgId = searchable.getSearchFilterByKey("orgId_eq").getValue().toString();
+//            searchable.removeSearchFilter("orgId_eq");
+//        }
+//        if (searchable.containsSearchKey("name_like")) {
+//            name = searchable.getSearchFilterByKey("name_like").getValue().toString();
+//            searchable.removeSearchFilter("name_like");
+//        }
+//        if (searchable.containsSearchKey("idcard_like")) {
+//            idcard = searchable.getSearchFilterByKey("idcard_like").getValue().toString();
+//            searchable.removeSearchFilter("idcard_like");
+//        }
+//        if (searchable.containsSearchKey("object_type_eq")) {
+//            objectType = searchable.getSearchFilterByKey("object_type_eq").getValue().toString();
+//            searchable.removeSearchFilter("object_type_eq");
+//        }
+//        if (searchable.containsSearchKey("operate_user_name_eq")) {
+//            operateUserName = searchable.getSearchFilterByKey("operate_user_name_eq").getValue().toString();
+//            searchable.removeSearchFilter("operate_user_name_eq");
+//        }
+//        if (searchable.containsSearchKey("operate_time_begin_eq")) {
+//            beginTime = searchable.getSearchFilterByKey("operate_time_begin_eq").getValue().toString();
+//            searchable.getSearchFilterByKey("operate_time_begin_eq").setValue(beginTime);
+//            searchable.removeSearchFilter("operate_time_begin_eq");
+//        }
+//        if (searchable.containsSearchKey("operate_time_end_eq")) {
+//            endTime = searchable.getSearchFilterByKey("operate_time_end_eq").getValue().toString();
+//            searchable.getSearchFilterByKey("operate_time_end_eq").setValue(endTime);
+//            searchable.removeSearchFilter("operate_time_end_eq");
+//        }
+//        searchable.addSearchParam("operate_user_name_ne", "ADMIN");
+//        mgeLog.setName(name);
+//        mgeLog.setIdcard(idcard);
+//        mgeLog.setObjectType(objectType);
+//        mgeLog.setOperateUserName(operateUserName);
+//        mgeLog.setBeginTime(beginTime);
+//        mgeLog.setEndTime(endTime);
+//        mgeLog.setOrgId(orgId);
+//        Page<MgeLog> mgeLogPage = mgeLogRepository.findMgeAuditLogReport(mgeLog, searchable);
+//        return mgeLogPage;
+//    }
+
+//    @Override
+//    public Page<UserMgeLogRptVo> findUserMgeLogSummary(SearchDTO searchDTO) {
+//        UserMgeLogRptVo mgeLog = new UserMgeLogRptVo();
+//        Searchable searchable = Searchable.toSearchable(searchDTO);
+//        if (searchable.getSearchFilterByKey("operate_time_le") != null) {//时间戳增加一天,重新设置时间查询条件
+//            long operate_time_le = ((Timestamp) searchable.getSearchFilterByKey("operate_time_le").getValue()).getTime() + 86400000;
+//            searchable.removeSearchFilter("operate_time_le");
+//            searchable.addSearchFilter("operate_time", SearchOperator.le, new Date(operate_time_le));
+//        }
+//        if (searchable.containsSearchKey("idcard_eq")) {
+//            mgeLog.setIdcard(searchable.containsSearchKey("idcard_eq") ? searchable.getSearchFilterByKey("idcard_eq").getValue().toString() : null);
+//            searchable.removeSearchFilter("idcard_eq");
+//        }
+//        if (searchable.containsSearchKey("operate_user_name_like")) {
+//            mgeLog.setOperateUserName(searchable.containsSearchKey("operate_user_name_like") ? searchable.getSearchFilterByKey("operate_user_name_like").getValue().toString() : null);
+//            searchable.removeSearchFilter("operate_user_name_like");
+//        }
+//        if (searchable.containsSearchKey("operate_type_eq")) {
+//            String opType = searchable.getSearchFilterByKey("operate_type_eq").getValue() == null ? "" : searchable.getSearchFilterByKey("operate_type_eq").getValue().toString();
+//            String auditType = "", objectType = "", operateType = "";
+//            if (StringUtils.isNotEmpty(opType)) {
+//                if (opType.startsWith("U_")) {
+//                    //操作对象
+//                    auditType = "user_audit";
+//                    if (opType.contains("YH")) {
+//                        objectType = "10";
+//                    } else if (opType.contains("ZW")) {
+//                        objectType = "20";
+//                    } else if (opType.contains("ZH")) {
+//                        objectType = "30";
+//                    }
+//                    //操作类型
+//                    if (opType.contains("CJ")) {
+//                        operateType = "10";
+//                    } else if (opType.contains("XG")) {
+//                        operateType = "20";
+//                    } else if (opType.contains("SC")) {
+//                        operateType = "30";
+//                    }
+//                } else if (opType.startsWith("M_")) {
+//                    auditType = "mge_audit";
+//                    if (opType.equals("M_GLYCJ")) {
+//                        objectType = "10";
+//                        operateType = "10";
+//                    } else if (opType.equals("M_GLYSC")) {
+//                        objectType = "50";
+//                        operateType = "11";
+//                    } else if (opType.equals("M_PTCDQXXZ")) {
+//                        objectType = "20";
+//                        operateType = "20";
+//                    } else if (opType.equals("M_PTCDQXYC")) {
+//                        objectType = "20";
+//                        operateType = "21";
+//                    } else if (opType.equals("M_JGGLFWXZ")) {
+//                        objectType = "30";
+//                        operateType = "30";
+//                    } else if (opType.equals("M_JGGLFWBG")) {
+//                        objectType = "30";
+//                        operateType = "31";
+//                    } else if (opType.equals("M_YHGLFWXZ")) {
+//                        objectType = "40";
+//                        operateType = "40";
+//                    } else if (opType.equals("M_YHGLFWBG")) {
+//                        objectType = "40";
+//                        operateType = "41";
+//                    } else if (opType.equals("M_SQGLFWXZ")) {
+//                        objectType = "50";
+//                        operateType = "50";
+//                    } else if (opType.equals("M_SQGLFWBG")) {
+//                        objectType = "50";
+//                        operateType = "51";
+//                    } else if (opType.equals("M_GLYGLFWXZ")) {
+//                        objectType = "60";
+//                        operateType = "60";
+//                    } else if (opType.equals("M_GLYGLFWBG")) {
+//                        objectType = "60";
+//                        operateType = "61";
+//                    }
+//                } else if (opType.startsWith("O_")) {
+//                    auditType = "org_audit";
+//                    if (opType.equals("O_JGXZ")) {
+//                        objectType = "100";
+//                        operateType = "10";
+//                    } else if (opType.equals("O_JGXG")) {
+//                        objectType = "100";
+//                        operateType = "20";
+//                    } else if (opType.equals("O_JGSC")) {
+//                        objectType = "100";
+//                        operateType = "30";
+//                    } else if (opType.equals("O_JGDL")) {
+//                        objectType = "100";
+//                        operateType = "40";
+//                    } else if (opType.equals("O_JGHB")) {
+//                        objectType = "100";
+//                        operateType = "50";
+//                    }
+//                }
+//            }
+//            searchable.removeSearchFilter("operate_type_eq");
+//            searchable.addSearchParam("audit_type_eq", auditType);
+//            mgeLog.setObjectType(objectType);
+//            mgeLog.setOperateType(operateType);
+//        }
+//        return mgeLogRepository.findUserMgeLogSummary(mgeLog, searchable);
+//    }
+//
+//    @Override
+//    public MgeLog getMgeLog(String id) {
+//        return mgeLogRepository.getMgeLog(id);
+//    }
+
+
+}
+

+ 121 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/MgeMonitorMsgService.java

@@ -0,0 +1,121 @@
+//package com.dragoninfo.dcuc.auth.admin.service.impl;
+//
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.MgeMonitorMsg;
+//import com.dragoninfo.dcuc.auth.admin.service.IMgeMonitorMsgService;
+//import com.dragoninfo.duceap.core.service.impl.BaseService;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//@Service
+//@Transactional
+//public class MgeMonitorMsgService extends BaseService<MgeMonitorMsg, String> implements IMgeMonitorMsgService {
+//
+//    @Autowired
+//    private MgeMonitorMsgBPO mgeMonitorMsgBPO;
+//
+//    @Autowired
+//    private IOrgInfoFacade orgInfoFacade;
+
+    //    @Autowired
+//    private IUserMtAuthService userMtAuthService;
+
+//    @Override
+//    public Page<MgeMonitorMsg> allMessage(Searchable searchable) {
+//        searchable.addSort(Sort.Direction.DESC, "lastLoginTime");
+//        Page<MgeMonitorMsg> messagesPage = mgeMonitorMsgBPO.allMessage(searchable);
+//        return messagesPage;
+//    }
+//
+//    @Override
+//    public Page<MgeMonitorMsg> messageList(String userId, Searchable searchable) {
+//        searchable.addSort(Sort.Direction.DESC, "lastLoginTime");
+//        Page<MgeMonitorMsg> messagesPage = mgeMonitorMsgBPO.messageList(userId, searchable);
+//        return messagesPage;
+//    }
+//
+//
+//    @Override
+//    public void deletedMsgByUserId(String userId) {
+//        Map<String, Object> map = new HashMap<String, Object>(2);
+//        map.put("userId", userId);
+//        map.put("deleted", "0");
+//        List<MgeMonitorMsg> msgs = mgeMonitorMsgBPO.andsearch(MgeMonitorMsg.class, map);
+//        for (MgeMonitorMsg msg : msgs) {
+//            msg.setDeleted("1");
+//            mgeMonitorMsgBPO.update(msg);
+//        }
+//    }
+//
+//    @Override
+//    public void updateOrgInfos(String orgId, String orgName) {
+//        mgeMonitorMsgBPO.updateOrgInfos(orgId, orgName);
+//    }
+
+//    @Override
+//    public void mgeListCheck(UserMtAuth userMtAuth) {
+//        Map<String, Object> map = new HashMap<String, Object>(2);
+//        map.put("ownerUserId", userMtAuth.getUserId());
+//        map.put("deleted", "0");
+//        List<MgeMonitorMsg> msgs = mgeMonitorMsgBPO.andsearch(MgeMonitorMsg.class, map);
+//        Iterator<MgeMonitorMsg> it = msgs.iterator();
+//        while (it.hasNext()) {
+//            MgeMonitorMsg mgeMonitorMsg = it.next();
+//            String orgId = mgeMonitorMsg.getOrgId();
+//            OrgInfo orgInfo = orgInfoFacade.detail(orgId);
+//            if (orgInfo != null || !OrgInfoUtil.isHaveAuth(orgId, orgInfo.getPath(), userMtAuth.getOrgId())) {
+//                this.delete(mgeMonitorMsg.getId());
+//            }
+//        }
+//    }
+
+//    @Override
+//    public Page<MgeMonitorMsg> messageListByOrg(String userId, Searchable searchable) {
+//        SecurityUser user = (SecurityUser) ContextUtils.getUserInfo();
+//        long time = System.currentTimeMillis();
+//        //1.查询所有未删除的消息
+//        List<Map<String, String>> mesAllList = mgeMonitorMsgBPO.msgViewMapList(searchable);
+//        long time1 = System.currentTimeMillis();
+//        System.out.println("提醒列表----------提醒初步筛选耗时:----------" + (time1 - time));
+//        //2.找出可管理的消息
+//        List<String> mesIds = this.getMesIds(mesAllList, userId);
+//        long time3 = System.currentTimeMillis();
+//        System.out.println("提醒列表----------提醒过滤耗时:----------" + (time3 - time1));
+//        //3.补齐消息信息以及分页
+//        Page<MgeMonitorMsg> mesPage;
+//        Pageable page = searchable.getPage();
+//        int total = mesIds.size();
+//        int end = (int) (page.getOffset() + page.getPageSize());
+//        List<String> inList = mesIds.subList((int) page.getOffset(), end > total ? total : end);
+//        List<MgeMonitorMsg> resultList = mgeMonitorMsgBPO.mesInSearch(inList);
+//        long time4 = System.currentTimeMillis();
+//        System.out.println("提醒列表----------提醒过滤后获取结果耗时:----------" + (time4 - time3));
+//        System.out.println("提醒列表----------提醒列表总耗时:----------" + (time4 - time));
+//        mesPage = new PageImpl<MgeMonitorMsg>(resultList, searchable.getPage(), total);
+//        return mesPage;
+//    }
+//
+//    private List<String> getMesIds(List<Map<String, String>> mesAllList, String userId) {
+//        long time = System.currentTimeMillis();
+//        //查询当前用户可管理的机构树
+//        String userMt = userMtAuthService.mgeUserRightRangeStr(StringUtils.isNotEmpty(userId) ? userId : ContextUtils.getUserInfo().getId());
+//
+//        Set<String> orgIdSet = orgInfoFacade.getAllMtOrgIds(userMt);
+//        long time1 = System.currentTimeMillis();
+//        System.out.println("提醒过滤----------获取权限范围耗时:----------" + (time1 - time));
+//        //保存符合结果的消息id容器
+//        LinkedHashSet<String> resultTemp = new LinkedHashSet<String>();//有序去重
+//        //遍历所有消息数据,将当前用户可操作机构下的消息信息保存
+//        for (Map<String, String> mesIdMap : mesAllList) {
+//            String id = mesIdMap.get("id");
+//            String orgId = mesIdMap.get("orgId");
+//            if (orgIdSet.contains(orgId)) {
+//                resultTemp.add(id);
+//            }
+//        }
+//        List<String> result = new ArrayList<String>(resultTemp);
+//        long time2 = System.currentTimeMillis();
+//        System.out.println("提醒过滤----------过滤范围总耗时:----------" + (time2 - time));
+//        return result;
+//    }
+//}

+ 63 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/TempMenuAuthService.java

@@ -0,0 +1,63 @@
+//package com.dragoninfo.dcuc.auth.admin.service.impl;
+//
+//import com.dragoninfo.dcuc.auth.admin.entity.TempMenuAuth;
+//import com.dragoninfo.dcuc.auth.admin.repo.TempMenuAuthRepository;
+//import com.dragoninfo.dcuc.auth.admin.service.ITempMenuAuthService;
+//import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+//import com.dragonsoft.duceap.commons.util.string.StringUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.data.domain.Example;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+//@Service
+//@Transactional
+//public class TempMenuAuthService implements ITempMenuAuthService {
+//    @Autowired
+//    private TempMenuAuthRepository tempMenuAuthRepository;
+//
+//    @Override
+//    public ResponseStatus save(String menuIds, String userId) {
+//        if (StringUtils.isEmpty(userId)) {
+//            return ResponseStatus.fail("未勾选菜单");
+//        }
+//        String[] menuIdList = menuIds.split(",");
+//        List<TempMenuAuth> list = new ArrayList<TempMenuAuth>();
+//        for (String menuId : menuIdList) {
+//            TempMenuAuth menuAuth = new TempMenuAuth(userId, menuId);
+//            list.add(menuAuth);
+//        }
+//        tempMenuAuthRepository.deletedByUserId(userId);
+//        tempMenuAuthRepository.saveAll(list);
+//        return ResponseStatus.success("保存成功");
+//    }
+//
+//    @Override
+//    public List<String> mgeMenuRightRangeList(String userId) {
+//        List<TempMenuAuth> menuMtAuthList = getByUserId(userId);
+//        List<String> menuMtAuthStrList = new ArrayList<String>();
+//        for (TempMenuAuth menuAuth : menuMtAuthList) {
+//            menuMtAuthStrList.add(menuAuth.getMenuId());
+//        }
+//        return menuMtAuthStrList;
+//    }
+//
+//    @Override
+//    public List<TempMenuAuth> getByUserId(String userId) {
+//        TempMenuAuth tempMenuAuth = new TempMenuAuth();
+//        tempMenuAuth.setUserId(userId);
+//        Example<TempMenuAuth> example = Example.of(tempMenuAuth);
+//        return tempMenuAuthRepository.findAll(example);
+//    }
+//
+//    @Override
+//    public void deletedByUserId(String userId) {
+//        if(StringUtils.isBlank(userId)) {
+//            return;
+//        }
+//        tempMenuAuthRepository.deletedByUserId(userId);
+//    }
+//}

+ 90 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/admin/service/impl/TempMtAuthService.java

@@ -0,0 +1,90 @@
+
+package com.dragoninfo.dcuc.auth.admin.service.impl;
+
+
+import com.dragoninfo.dcuc.auth.admin.entity.TempMtAuth;
+import com.dragoninfo.dcuc.auth.admin.repo.TempMtAuthRepository;
+import com.dragoninfo.dcuc.auth.admin.service.ITempMtAuthService;
+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.commons.util.collections.CollectionUtils;
+import com.dragonsoft.duceap.commons.util.string.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Example;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+@Service
+@Transactional
+public class TempMtAuthService implements ITempMtAuthService {
+    @Autowired
+    private IAuthUserInfoService authUserInfoService;
+
+    @Autowired
+    private TempMtAuthRepository tempMtAuthRepository;
+
+    @Override
+    public String mgeTempRightRangeStr(String userId) {
+
+        List<TempMtAuth> tempMtAuthList = getByUserId(userId);
+        String orgMtAuthStr = "";
+        if (tempMtAuthList.size() > 0) {
+            TempMtAuth tempMtAuth = tempMtAuthList.get(0);
+            orgMtAuthStr = tempMtAuth.getOrgId() == null ? "" : tempMtAuth.getOrgId();
+        }
+        return orgMtAuthStr;
+    }
+
+    @Override
+    public List<TempMtAuth> getByUserId(String userId) {
+        TempMtAuth tempMtAuth = new TempMtAuth();
+        tempMtAuth.setUserId(userId);
+        Example<TempMtAuth> example = Example.of(tempMtAuth);
+        return tempMtAuthRepository.findAll(example);
+    }
+
+    @Override
+    public ResponseStatus save(String orgIds, String userId) {
+        tempMtAuthRepository.deletedByUserId(userId);
+        if (StringUtils.isEmpty(orgIds)) {
+            return ResponseStatus.fail("请先勾选单位!");
+        }
+        TempMtAuth tempMtAuth = new TempMtAuth(userId, orgIds);
+        tempMtAuthRepository.save(tempMtAuth);
+        return ResponseStatus.success("保存成功");
+    }
+
+    @Override
+    public ResponseStatus checkAuth(String userIds) {
+        StringBuilder messge = new StringBuilder();
+        if (StringUtils.isNotEmpty(userIds)) {
+            String[] users = userIds.split(",");
+            for (String userId : users) {
+                String authMt = this.mgeTempRightRangeStr(userId);
+                if (StringUtils.isEmpty(authMt)) {
+                    AuthUserInfo userInfo = authUserInfoService.findById(userId);
+                    messge.append("\"" + userInfo.getName() + "\"未授权管理范围;<br/>");
+                }
+            }
+        }
+        return messge.length() > 0 ? ResponseStatus.fail(messge.toString()) : ResponseStatus.success();
+    }
+
+    @Override
+    public void deleteAll(List<TempMtAuth> list) {
+        tempMtAuthRepository.deleteAll(list);
+    }
+
+    @Override
+    public List<TempMtAuth> findByUserIds(Collection<String> uids) {
+        if(CollectionUtils.isEmpty(uids)) {
+            return new ArrayList<>();
+        }
+        return tempMtAuthRepository.findByUserIds(uids);
+    }
+}

+ 5 - 4
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/audit/facade/AuthenticationLogFacade.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 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.Map;
 import java.util.stream.Collectors;
@@ -54,8 +55,8 @@ public class AuthenticationLogFacade implements IAuthenticationLogFacade {
     }
 
     @Override
-    public List<AuthenticationStatisticsVo> statistics(@RequestBody SearchDTO searchDTO) {
-        List<AuthenticationStatisticsDto> statistics = authenticationLogService.statistics(Searchable.toSearchable(searchDTO));
+    public Page<AuthenticationStatisticsVo> statistics(@RequestBody SearchDTO searchDTO) {
+        Page<AuthenticationStatisticsDto> statistics = authenticationLogService.statistics(Searchable.toSearchable(searchDTO));
         Map<String, AuthenticationStatisticsVo> statisticsMap = Maps.newHashMap();
 
         statistics.forEach(e -> {
@@ -71,8 +72,8 @@ public class AuthenticationLogFacade implements IAuthenticationLogFacade {
                 authenticationStatisticsVo.setFailSize(e.getSize());
             }
         });
-
-        return Lists.newArrayList(statisticsMap.values());
+        ArrayList<AuthenticationStatisticsVo> list = Lists.newArrayList(statisticsMap.values());
+        return new PageImpl<>(list, statistics.getPageable(), statistics.getTotalElements());
     }
 
 }

+ 5 - 4
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/audit/service/AuthenticationLogService.java

@@ -7,6 +7,7 @@ import com.dragoninfo.dcuc.auth.audit.repository.AuthenticationContentRepository
 import com.dragoninfo.dcuc.auth.audit.repository.AuthenticationLogRepository;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import com.dragonsoft.duceap.core.search.Searchable;
+import com.dragonsoft.duceap.core.search.filter.Condition;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
@@ -67,7 +68,7 @@ public class AuthenticationLogService {
         return repository.findAll(querySpecifi);
     }
 
-    public List<AuthenticationStatisticsDto> statistics(Searchable searchable) {
+    public Page<AuthenticationStatisticsDto> statistics(Searchable searchable) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         Calendar c = Calendar.getInstance();
         c.setTime(new Date());
@@ -77,11 +78,11 @@ public class AuthenticationLogService {
         Date y = c.getTime();
         String lastYear = format.format(y);
 
-        String createTimeGe = Optional.ofNullable(searchable.getSearchFilterByKey("createTime_ge")).map(e -> e.getValue()).map(e -> e.toString()).orElse(lastYear);
+        String createTimeGe = Optional.ofNullable(searchable.getSearchFilterByKey("createTime_ge")).map(Condition::getValue).map(format::format).orElse(lastYear);
         searchable.removeSearchFilter("createTime_ge");
-        String createTimeLe =Optional.ofNullable(searchable.getSearchFilterByKey("createTime_le")).map(e -> e.getValue()).map(e -> e.toString()).orElse(today);
+        String createTimeLe =Optional.ofNullable(searchable.getSearchFilterByKey("createTime_le")).map(Condition::getValue).map(format::format).orElse(today);
         searchable.removeSearchFilter("createTime_le");
         String sql = "select authentication_type as type,state as state,count(*) as size from t_audit_authentication_log where create_time>=? and create_time<=?  GROUP BY authentication_type,state";
-        return repository.findAllByNativeSql(sql, searchable, AuthenticationStatisticsDto.class, createTimeGe, createTimeLe);
+        return repository.pagingByNativeSql(sql, searchable, AuthenticationStatisticsDto.class, createTimeGe, createTimeLe);
     }
 }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно