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