This commit is contained in:
2023-06-13 09:41:20 +08:00
parent 95bae3f9b3
commit 42781d03c8
6 changed files with 29 additions and 19 deletions

View File

@ -1,7 +1,6 @@
package com.qiaoba.module.tenant.filters;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.qiaoba.common.base.code.TenantErrorCode;
import com.qiaoba.common.base.constants.TenantConstant;
import com.qiaoba.common.base.context.BaseContext;
@ -45,7 +44,7 @@ public class DynamicDataSourceFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
log.debug(StrUtil.format("Start run DynamicDataSourceFilter, Uri: {}", request.getRequestURI()));
log.debug("Start run DynamicDataSourceFilter, Uri: {}", request.getRequestURI());
String tenantId = request.getHeader(TenantConstant.HEADER_KEY_TENANT);
// 主系统 or 登录入口获取租户列表
if (TenantConstant.DEFAULT_TENANT_ID.equals(tenantId) || TenantConstant.LOGIN_TENANT_LIST_URI.equals(request.getRequestURI())) {
@ -68,7 +67,7 @@ public class DynamicDataSourceFilter extends OncePerRequestFilter {
}
private void before(SysTenant sysTenant) {
log.debug(StrUtil.format("设置租户信息, 租户ID: {},租户模式: {}", sysTenant.getTenantId(), sysTenant.getMode()));
log.debug("设置租户信息, 租户ID: {},租户模式: {}", sysTenant.getTenantId(), sysTenant.getMode());
BaseContext.setTenantId(sysTenant.getTenantId());
BaseContext.setSchema(sysTenant.getMode().equals(SysTenant.SCHEMA_MODE));
// 数据源模式-设置第三方数据源
@ -105,20 +104,20 @@ public class DynamicDataSourceFilter extends OncePerRequestFilter {
if (TenantStatusEnum.DISABLE.getStatus().equals(sysTenant.getStatus())) {
// 封禁状态
log.debug(StrUtil.format("租户已封禁, 租户ID: {}", sysTenant.getTenantId()));
log.debug("租户已封禁, 租户ID: {}", sysTenant.getTenantId());
ResponseUtil.errorAuth(response, TenantErrorCode.DISABLE.getCode(), TenantErrorCode.DISABLE.getMsg());
return true;
}
if (TenantStatusEnum.EXPIRE.getStatus().equals(sysTenant.getStatus())) {
// 已过期
log.debug(StrUtil.format("租户已过期, 租户ID: {}", sysTenant.getTenantId()));
log.debug("租户已过期, 租户ID: {}", sysTenant.getTenantId());
ResponseUtil.errorAuth(response, TenantErrorCode.EXPIRE.getCode(), TenantErrorCode.EXPIRE.getMsg());
return true;
}
if (DateUtil.compare(sysTenant.getExpireTime(), new Date()) < 0) {
// 已过期
log.debug(StrUtil.format("租户已过期, 租户ID: {}", sysTenant.getTenantId()));
log.debug("租户已过期, 租户ID: {}", sysTenant.getTenantId());
ResponseUtil.errorAuth(response, TenantErrorCode.EXPIRE.getCode(), TenantErrorCode.EXPIRE.getMsg());
// 更新租户状态为已过期
dynamicDataSourceConfig.setDefaultSetting();