This commit is contained in:
2023-07-14 16:45:39 +08:00
parent 23d47f8d63
commit a9b02b5a4d
4 changed files with 36 additions and 5 deletions

View File

@ -21,7 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
@RequiredArgsConstructor
public class FileServiceImpl implements FileService {
private FileConfig fileConfig;
private final FileConfig fileConfig;
@Override
public String upload(MultipartFile file) {

View File

@ -4,11 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qiaoba.api.auth.utils.SecurityUtil;
import com.qiaoba.api.tenant.entity.SysTenant;
import com.qiaoba.api.tenant.entity.SysTenantDatasource;
import com.qiaoba.api.tenant.entity.dto.SysTenantDto;
import com.qiaoba.api.tenant.entity.param.SysTenantParam;
import com.qiaoba.api.tenant.service.SysTenantApiService;
import com.qiaoba.api.auth.utils.SecurityUtil;
import com.qiaoba.api.tenant.enums.TenantModeEnum;
import com.qiaoba.common.base.code.TenantErrorCode;
import com.qiaoba.common.base.constant.BaseConstant;
import com.qiaoba.common.base.constant.TenantConstant;
@ -17,9 +18,11 @@ import com.qiaoba.common.base.enums.BaseEnum;
import com.qiaoba.common.base.exception.ServiceException;
import com.qiaoba.common.database.entity.PageQuery;
import com.qiaoba.common.database.entity.TableDataInfo;
import com.qiaoba.common.database.util.DatasourceUtil;
import com.qiaoba.common.redis.service.RedisService;
import com.qiaoba.module.tenant.entity.dto.TenantSettingDto;
import com.qiaoba.module.tenant.mapper.SysTenantMapper;
import com.qiaoba.module.tenant.service.SysTenantDatasourceService;
import com.qiaoba.module.tenant.service.SysTenantService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -44,6 +47,7 @@ public class SysTenantServiceImpl implements SysTenantService {
private final SysTenantMapper sysTenantMapper;
private final RedisService redisService;
private final SysTenantDatasourceService sysTenantDatasourceService;
@Override
public int insert(SysTenantDto dto) {
@ -141,9 +145,20 @@ public class SysTenantServiceImpl implements SysTenantService {
sysTenant.setStatus(dto.getStatus());
int result = sysTenantMapper.updateById(sysTenant);
if (result > BaseConstant.HANDLE_ERROR) {
SysTenant tenant = selectById(sysTenant.getTenantId());
SysTenant tenant = selectById(dto.getTenantId());
toCache(tenant);
// 处理数据源 todo
// 处理数据源
if (TenantModeEnum.isDatasource(tenant.getMode())) {
if (BaseEnum.NORMAL.getCode().equals(dto.getStatus())) {
// 加入数据源
SysTenantDatasource primaryDatasource = sysTenantDatasourceService.selectPrimary(dto.getTenantId(), false);
Object dataSource = DatasourceUtil.buildDataSource(dto.getTenantId(), sysTenantDatasourceService.transform(primaryDatasource));
DatasourceUtil.changePrimaryDatasource(dto.getTenantId(), dataSource);
} else {
// 移除数据源
DatasourceUtil.removePrimaryDatasource(dto.getTenantId());
}
}
}
return result;
}