fix(): saas修复报错
parent
a258817f3f
commit
124cae3bb3
|
@ -1,20 +1,12 @@
|
||||||
package com.muyu.common.many.datasource;
|
package com.muyu.common.many.datasource;
|
||||||
|
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
import com.alibaba.fastjson2.JSON;
|
|
||||||
import com.muyu.common.core.domain.Result;
|
|
||||||
import com.muyu.common.core.utils.SpringUtils;
|
import com.muyu.common.core.utils.SpringUtils;
|
||||||
import com.muyu.common.many.datasource.constents.DatasourceContent;
|
|
||||||
import com.muyu.common.many.datasource.domain.model.DataSourceInfo;
|
import com.muyu.common.many.datasource.domain.model.DataSourceInfo;
|
||||||
import com.muyu.common.many.datasource.factory.DruidDataSourceFactory;
|
import com.muyu.common.many.datasource.factory.DruidDataSourceFactory;
|
||||||
import com.muyu.common.many.datasource.role.DynamicDataSource;
|
import com.muyu.common.many.datasource.role.DynamicDataSource;
|
||||||
import com.muyu.common.saas.domain.model.EntInfo;
|
import com.muyu.common.saas.domain.model.EntInfo;
|
||||||
import com.muyu.common.saas.exception.SaaSException;
|
|
||||||
import com.muyu.common.system.domain.SysUser;
|
|
||||||
import com.muyu.common.system.remote.RemoteUserService;
|
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.springframework.boot.ApplicationArguments;
|
|
||||||
import org.springframework.boot.ApplicationRunner;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
@ -32,7 +24,7 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
@Log4j2
|
@Log4j2
|
||||||
@Component
|
@Component
|
||||||
public class ManyDataSource implements ApplicationRunner {
|
public class ManyDataSource {
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init(){
|
public void init(){
|
||||||
|
@ -55,41 +47,16 @@ public class ManyDataSource implements ApplicationRunner {
|
||||||
|
|
||||||
|
|
||||||
private List<EntInfo> dataSourceInfoList(){
|
private List<EntInfo> dataSourceInfoList(){
|
||||||
RemoteUserService remoteUserService = SpringUtils.getBean(RemoteUserService.class);
|
|
||||||
Result<List<SysUser>> tableDataInfoResult = remoteUserService.companyList();
|
|
||||||
if (tableDataInfoResult==null){
|
|
||||||
throw new SaaSException("saas远调数据源错误");
|
|
||||||
}
|
|
||||||
List<SysUser> data = tableDataInfoResult.getData();
|
|
||||||
if (tableDataInfoResult.getCode() ==Result.SUCCESS && data !=null){
|
|
||||||
List<EntInfo> list = new ArrayList<>();
|
List<EntInfo> list = new ArrayList<>();
|
||||||
for (SysUser row : data) {
|
|
||||||
list.add(
|
list.add(
|
||||||
EntInfo.builder()
|
EntInfo.builder()
|
||||||
.entCode(row.getDatabaseName())
|
.entCode("ent_4587")
|
||||||
.ip(DatasourceContent.IP)
|
.ip("192.168.40.132")
|
||||||
.port(DatasourceContent.PORT)
|
.port(3307)
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
}
|
|
||||||
return list;
|
return list;
|
||||||
}else {
|
|
||||||
log.error("远调数据源错误,远调数据为:{}", JSON.toJSONString(data));
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// private List<EntInfo> dataPrimarySourceInfoList(){
|
|
||||||
// List<EntInfo> list = new ArrayList<>();
|
|
||||||
// list.add(
|
|
||||||
// EntInfo.builder()
|
|
||||||
// .entCode()
|
|
||||||
// .ip(DatasourceContent.IP)
|
|
||||||
// .port(DatasourceContent.PORT)
|
|
||||||
// .build()
|
|
||||||
// );
|
|
||||||
// return list;
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Primary
|
@Primary
|
||||||
|
@ -112,18 +79,4 @@ public class ManyDataSource implements ApplicationRunner {
|
||||||
dynamicDataSource.setDefineTargetDataSources(dataSourceMap);
|
dynamicDataSource.setDefineTargetDataSources(dataSourceMap);
|
||||||
return dynamicDataSource;
|
return dynamicDataSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run(ApplicationArguments args) throws Exception {
|
|
||||||
DruidDataSourceFactory druidDataSourceFactory = SpringUtils.getBean(DruidDataSourceFactory.class);
|
|
||||||
DynamicDataSource dynamicDataSource = SpringUtils.getBean(DynamicDataSource.class);
|
|
||||||
for (EntInfo entInfo : dataSourceInfoList()) {
|
|
||||||
DataSourceInfo dataSourceInfo = DataSourceInfo.hostAndPortBuild(
|
|
||||||
entInfo.getEntCode(), entInfo.getIp(), entInfo.getPort()
|
|
||||||
);
|
|
||||||
DruidDataSource druidDataSource = druidDataSourceFactory.create(dataSourceInfo);
|
|
||||||
dynamicDataSource.put(dataSourceInfo.getKey(), druidDataSource);
|
|
||||||
log.info("存储数据连接池为:key:{}",dataSourceInfo.getKey());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue