renekton
1 month ago
15 changed files with 151 additions and 68 deletions
Before Width: | Height: | Size: 349 B |
@ -0,0 +1,105 @@
|
||||
package com.fanruan.boot.adaptation; |
||||
|
||||
import com.fanruan.carina.Carina; |
||||
import com.fanruan.carina.context.ContextListener; |
||||
import com.fanruan.portal.authority.PortalAuthorityItems; |
||||
import com.fanruan.portal.module.PortalModule; |
||||
import com.fanruan.portal.module.PortalModuleManager; |
||||
import com.fr.stable.StringUtils; |
||||
import com.fr.third.guava.collect.Sets; |
||||
|
||||
import java.util.Optional; |
||||
import java.util.Set; |
||||
|
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_ADD_DEPARTMENT_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_ADD_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_ADD_ROLE_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_DELETE_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_DELETE_ROLE_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_EDIT_DEP_ROLE_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_EDIT_EDIT_INFO_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_EDIT_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_EDIT_RESET_PASSWORD_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_FORBIDDEN_ID; |
||||
import static com.fanruan.auth.authority.AuthAuthorityItems.USER_ID; |
||||
import static com.fanruan.messenger.ums.authority.UMSAuthorityItems.PORTAL_MANAGEMENT_ENTERPRISE_UMS_ID; |
||||
import static com.fanruan.portal.authority.PortalAuthorityItems.ENTERPRISE_GENERAL_ID; |
||||
import static com.fanruan.portal.authority.PortalAuthorityItems.ENTERPRISE_ID; |
||||
import static com.fanruan.portal.authority.PortalAuthorityItems.MAP_ID; |
||||
import static com.fanruan.portal.authority.PortalAuthorityItems.PORTAL_MANAGEMENT_ID; |
||||
import static com.fanruan.portal.authority.PortalAuthorityItems.SECURITY_ID; |
||||
import static com.fr.decision.authority.base.constant.ReportAuthorityItems.ENTERPRISE_REPORT_BASE_SETTINGS_ID; |
||||
import static com.fr.decision.authority.base.constant.ReportAuthorityItems.ENTERPRISE_REPORT_ID; |
||||
|
||||
/** |
||||
* 内置服务器支持展示的模块,预期调用顺序在业务模块之后 |
||||
* |
||||
* @author Anner |
||||
* @since 11.0 |
||||
* Created on 2024/10/15 |
||||
*/ |
||||
public class DesignServerSupportModule { |
||||
private final static Set<String> SUPPORT_MODULE = Sets.newHashSet( |
||||
// 系统管理
|
||||
PORTAL_MANAGEMENT_ID, |
||||
// 用户管理
|
||||
USER_ID, |
||||
USER_ADD_ROLE_ID, |
||||
USER_ADD_DEPARTMENT_ID, |
||||
USER_ADD_ID, |
||||
USER_EDIT_ID, |
||||
USER_EDIT_RESET_PASSWORD_ID, |
||||
USER_EDIT_EDIT_INFO_ID, |
||||
USER_EDIT_DEP_ROLE_ID, |
||||
USER_DELETE_ID, |
||||
USER_DELETE_ROLE_ID, |
||||
USER_FORBIDDEN_ID, |
||||
// 企业设置
|
||||
ENTERPRISE_ID, |
||||
// 企业设置 - 通知中心
|
||||
PORTAL_MANAGEMENT_ENTERPRISE_UMS_ID, |
||||
// 企业设置 - 通用设置
|
||||
ENTERPRISE_GENERAL_ID, |
||||
// 报表设置
|
||||
ENTERPRISE_REPORT_ID, |
||||
// 报表设置 - 基础设置
|
||||
ENTERPRISE_REPORT_BASE_SETTINGS_ID, |
||||
// 安全管理
|
||||
SECURITY_ID, |
||||
// 地图管理
|
||||
MAP_ID |
||||
); |
||||
|
||||
/** |
||||
* 注册一下支持展示的模块 |
||||
* |
||||
* @param moduleName name |
||||
*/ |
||||
public static void register(String moduleName) { |
||||
Optional.of(moduleName).ifPresent(SUPPORT_MODULE::add); |
||||
} |
||||
|
||||
/** |
||||
* 取消注册展示的模块 |
||||
* |
||||
* @param moduleName name |
||||
*/ |
||||
public static void unregister(String moduleName) { |
||||
Optional.of(moduleName).ifPresent(SUPPORT_MODULE::remove); |
||||
} |
||||
|
||||
/** |
||||
* 启动入口,重建一下展示的module |
||||
*/ |
||||
public static void rebuild() { |
||||
Carina.getApplicationContext().addListener(new ContextListener() { |
||||
@Override |
||||
public void onStart() { |
||||
PortalModuleManager.allModules().values().stream() |
||||
.filter(m -> !StringUtils.equals(m.getParentID(), PortalAuthorityItems.PORTAL_ROOT_ID)).map(PortalModule::getId) |
||||
.filter(m -> !SUPPORT_MODULE.contains(m)) |
||||
.forEach(PortalModuleManager::unregister); |
||||
} |
||||
}); |
||||
} |
||||
} |
Loading…
Reference in new issue