|
@@ -25,9 +25,11 @@ import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
|
|
|
import cn.iocoder.yudao.module.system.mq.producer.tenant.TenantProducer;
|
|
|
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
|
|
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
|
|
+import cn.iocoder.yudao.module.system.service.tenant.handler.TenantInfoHandler;
|
|
|
import cn.iocoder.yudao.module.system.service.tenant.handler.TenantMenuHandler;
|
|
|
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -79,6 +81,7 @@ public class TenantServiceImpl implements TenantService {
|
|
|
@Resource
|
|
|
private TenantPackageService tenantPackageService;
|
|
|
@Resource
|
|
|
+ @Lazy // 延迟,避免循环依赖报错
|
|
|
private AdminUserService userService;
|
|
|
@Resource
|
|
|
private RoleService roleService;
|
|
@@ -298,6 +301,18 @@ public class TenantServiceImpl implements TenantService {
|
|
|
return tenantMapper.selectListByPackageId(packageId);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void handleTenantInfo(TenantInfoHandler handler) {
|
|
|
+ // 如果禁用,则不执行逻辑
|
|
|
+ if (Boolean.FALSE.equals(tenantProperties.getEnable())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 获得租户
|
|
|
+ TenantDO tenant = getTenant(TenantContextHolder.getRequiredTenantId());
|
|
|
+ // 执行处理器
|
|
|
+ handler.handle(tenant);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void handleTenantMenu(TenantMenuHandler handler) {
|
|
|
// 如果禁用,则不执行逻辑
|