Browse Source

🐛 修复租户产品包更新后缓存未刷新的问题

test
smallchill 3 years ago
parent
commit
44d4bac359
  1. 10
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/SysCache.java
  2. 5
      blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java

10
blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/SysCache.java vendored

@ -54,9 +54,9 @@ public class SysCache {
private static final String ROLE_NAMES_ID = "roleNames:id:";
private static final String ROLE_ALIAS_ID = "roleAlias:id:";
private static final String ROLE_ALIASES_ID = "roleAliases:id:";
private static final String TENANT_ID = "tenant:id:";
private static final String TENANT_TENANT_ID = "tenant:tenantId:";
private static final String TENANT_PACKAGE_ID = "tenant:packageId:";
public static final String TENANT_ID = "tenant:id:";
public static final String TENANT_TENANT_ID = "tenant:tenantId:";
public static final String TENANT_PACKAGE_ID = "tenant:packageId:";
private static ISysClient sysClient;
@ -341,7 +341,7 @@ public class SysCache {
return CacheUtil.get(SYS_CACHE, TENANT_ID, id, () -> {
R<Tenant> result = getSysClient().getTenant(id);
return result.getData();
});
}, Boolean.FALSE);
}
/**
@ -354,7 +354,7 @@ public class SysCache {
return CacheUtil.get(SYS_CACHE, TENANT_TENANT_ID, tenantId, () -> {
R<Tenant> result = getSysClient().getTenant(tenantId);
return result.getData();
});
}, Boolean.FALSE);
}
/**

5
blade-service/blade-system/src/main/java/org/springblade/system/controller/TenantController.java

@ -46,8 +46,11 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
import static org.springblade.core.tenant.constant.TenantBaseConstant.TENANT_DATASOURCE_CACHE;
import static org.springblade.core.tenant.constant.TenantBaseConstant.TENANT_DATASOURCE_EXIST_KEY;
import static org.springblade.system.cache.SysCache.TENANT_PACKAGE_ID;
import static org.springblade.system.cache.SysCache.TENANT_TENANT_ID;
/**
* 控制器
@ -222,6 +225,8 @@ public class TenantController extends BladeController {
@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
@ApiOperation(value = "产品包配置", notes = "传入packageId")
public R packageSetting(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId, @ApiParam(value = "产品包ID") Long packageId) {
CacheUtil.evict(SYS_CACHE, TENANT_TENANT_ID, tenantId, Boolean.FALSE);
CacheUtil.evict(SYS_CACHE, TENANT_PACKAGE_ID, tenantId, Boolean.FALSE);
return R.status(tenantService.update(Wrappers.<Tenant>update().lambda().set(Tenant::getPackageId, packageId).eq(Tenant::getTenantId, tenantId)));
}

Loading…
Cancel
Save