package com.iailab.module.system.api.tenant;
|
|
import com.iailab.framework.common.pojo.CommonResult;
|
import com.iailab.module.infra.api.db.DataSourceConfigServiceApi;
|
import com.iailab.module.system.api.tenant.dto.TenantDataSourceConfigRespDTO;
|
import com.iailab.module.system.convert.tenant.TenantConvert;
|
import com.iailab.module.system.dal.dataobject.tenant.TenantDO;
|
import com.iailab.module.system.service.tenant.TenantService;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
import static com.iailab.framework.common.pojo.CommonResult.success;
|
|
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
@Validated
|
public class TenantApiImpl implements TenantApi {
|
|
@Resource
|
private TenantService tenantService;
|
|
@Resource
|
private DataSourceConfigServiceApi dataSourceConfigServiceApi;
|
|
@Override
|
public CommonResult<List<Long>> getTenantIdList() {
|
return success(tenantService.getTenantIdList());
|
}
|
|
@Override
|
public CommonResult<Boolean> validTenant(Long id) {
|
tenantService.validTenant(id);
|
return success(true);
|
}
|
|
@Override
|
public TenantDataSourceConfigRespDTO getTenantDataSourceConfig(Long tenantId) {
|
// 获得租户信息
|
TenantDO tenant = tenantService.getTenant(tenantId);
|
if (tenant == null) {
|
return null;
|
}
|
// 获得租户的数据源配置
|
return TenantConvert.INSTANCE.convert(
|
dataSourceConfigServiceApi.getDataSourceConfig(tenant.getDataSourceConfigId()));
|
}
|
}
|