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> getTenantIdList() { return success(tenantService.getTenantIdList()); } @Override public CommonResult 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())); } }