This commit is contained in:
2023-07-14 15:43:13 +08:00
parent c5eb3c09d6
commit 2a2ad20bba
4 changed files with 43 additions and 18 deletions

View File

@ -1,65 +0,0 @@
package com.qiaoba.module.system.runner;
import com.qiaoba.api.system.service.SysDictApiService;
import com.qiaoba.api.tenant.entity.SysTenant;
import com.qiaoba.api.tenant.entity.param.SysTenantParam;
import com.qiaoba.api.tenant.service.SysTenantApiService;
import com.qiaoba.api.tenant.utils.TenantUtil;
import com.qiaoba.common.base.constant.TenantConstant;
import com.qiaoba.common.base.context.BaseContext;
import com.qiaoba.module.system.service.SysConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 项目启动后同步-[系统配置]
*
* @author ailanyin
* @version 1.0
* @since 2023-07-01 08:34:20
*/
@Component
@RequiredArgsConstructor
@Slf4j
public class SyncDataToCacheRunner implements ApplicationRunner {
private final SysTenantApiService sysTenantApiService;
private final SysConfigService sysConfigService;
private final SysDictApiService sysDictApiService;
@Override
public void run(ApplicationArguments args) throws Exception {
// 查询主库中所有正常的租户列表
List<SysTenant> sysTenantList;
try {
BaseContext.setTenantId(TenantConstant.DEFAULT_TENANT_ID);
sysTenantList = sysTenantApiService.selectList(SysTenantParam.buildNormalSelectParam());
} finally {
BaseContext.clearTenantId();
}
for (SysTenant sysTenant : sysTenantList) {
try {
TenantUtil.setContext(sysTenant);
// 系统配置
sysConfigService.resetConfigCache();
// 字典数据
sysDictApiService.resetDictCache();
log.info("初始化租户数据完成, 租户ID: {}", sysTenant.getTenantId());
} catch (Exception e) {
log.error("初始化租户数据完成, 租户ID: {}, 错误原因: {}", sysTenant.getTenantId(), e.getMessage());
} finally {
BaseContext.clearAllHolder();
}
}
}
}