根据tenant_id获取packageid,并放入缓存

Signed-off-by: Fanjc <271366833@qq.com>
pull/33/head
Fanjc 2023-05-09 03:29:01 +00:00 committed by Gitee
parent 2247f21db8
commit 9b38202384
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 30 additions and 0 deletions

View File

@ -23,4 +23,11 @@ public interface TenantFrameworkService {
*/ */
void validTenant(Long id); void validTenant(Long id);
/**
* id
* @param tenantId
* @return
*/
Long getPackageIdByTenantId(Long tenantId);
} }

View File

@ -49,6 +49,23 @@ public class TenantFrameworkServiceImpl implements TenantFrameworkService {
}); });
/**
* {@link #getPackageIdByTenantId(Long)}
*/
private final LoadingCache<Long, Long> getPackageIdByTenantIdCache = CacheUtils.buildAsyncReloadingCache(
Duration.ofMinutes(1L), // 过期时间 1 分钟
new CacheLoader<Long, Long>() {
@Override
public Long load(Long id) {
if (tenantApi.validTenant(id).getCheckedData()){
return tenantApi.getTenantInfo(id).getCheckedData().getPackageId();
}else {
return null;
}
}
});
@Override @Override
@SneakyThrows @SneakyThrows
public List<Long> getTenantIds() { public List<Long> getTenantIds() {
@ -61,4 +78,10 @@ public class TenantFrameworkServiceImpl implements TenantFrameworkService {
validTenantCache.get(id).checkError(); validTenantCache.get(id).checkError();
} }
@SneakyThrows
@Override
public Long getPackageIdByTenantId(Long tenantId) {
return getPackageIdByTenantIdCache.get(tenantId);
}
} }