提交 f4bafd8a 编写于 作者: sq3536's avatar sq3536

model

上级 829fa6ad
server:
port: 8086
ibiz:
filePath: /app/file/
#nacos配置中心
spring:
cloud:
nacos:
discovery:
server-addr: 172.16.100.77:8848
server-addr: 192.168.3.23:8848
datasource:
username: root
password: root
defaultSchema: a_A_5d9d78509
url: jdbc:mysql://192.168.3.23:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
redis:
host: 172.16.100.77
\ No newline at end of file
host: 192.168.3.23
\ No newline at end of file
......@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import cn.ibizlab.core.lite.domain.DstDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Primary;
......@@ -44,7 +45,7 @@ public class DstDataSourceExService extends DstDataSourceServiceImpl {
if(!(StringUtils.isEmpty(dstDataSource.getDsCfg())))
{
DataSourceProperty dataSourceProperty = new DataSourceProperty();
DynamicRoutingDataSource ds = (DynamicRoutingDataSource) dataSource;
DynamicRoutingDataSource ds = dataSource;
DataSource dataSource = druidDataSourceCreator.createDataSource(dataSourceProperty);
List<Setting> settings= JSONArray.parseArray(dstDataSource.getDsCfg(),Setting.class);
......@@ -68,16 +69,17 @@ public class DstDataSourceExService extends DstDataSourceServiceImpl {
}
@Autowired
private DataSource dataSource;
@Lazy
private DynamicRoutingDataSource dataSource;
@Autowired
@Lazy
private DruidDataSourceCreator druidDataSourceCreator;
public void initDataSource(String dsName)
{
DynamicRoutingDataSource ds = (DynamicRoutingDataSource) dataSource;
if(ds.getDataSource(dsName)==null)
if(dataSource.getDataSource(dsName)==null)
{
DstDataSource dstDataSource=this.getOne(Wrappers.<DstDataSource>lambdaQuery().eq(DstDataSource::getDsId,dsName).or().eq(DstDataSource::getDsName,dsName),false);
if(dstDataSource!=null)
......
package cn.ibizlab.core.lite.extensions.service;
import cn.ibizlab.core.extensions.service.DstDataSourceExService;
import cn.ibizlab.core.lite.domain.DstDataSource;
import cn.ibizlab.core.lite.extensions.domain.*;
import cn.ibizlab.core.lite.extensions.filter.DbEntitySearchContext;
......@@ -8,8 +9,11 @@ import cn.ibizlab.core.lite.extensions.model.Property;
import cn.ibizlab.core.lite.extensions.util.LiteStorage;
import cn.ibizlab.core.extensions.mapper.DbEntityMapper;
import cn.ibizlab.core.lite.service.IDstDataSourceService;
import cn.ibizlab.core.lite.service.IMetaModelService;
import cn.ibizlab.util.filter.QueryFilter;
import com.alibaba.fastjson.JSON;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
......@@ -34,7 +38,7 @@ public class DbEntityService extends ServiceImpl<DbEntityMapper, EntityObj> impl
@Autowired
private IDstDataSourceService dstDataSourceService;
private DstDataSourceExService dstDataSourceService;
......@@ -62,10 +66,15 @@ public class DbEntityService extends ServiceImpl<DbEntityMapper, EntityObj> impl
public List<EntityObj> search(String dsName, String sql, QueryFilter filter) {
try
{
dstDataSourceService.initDataSource(dsName);
DynamicDataSourceContextHolder.push(dsName);
DbEntitySearchContext context=new DbEntitySearchContext();
context.setFilter(filter);
return baseMapper.search(sql,context.getSelectCond().apply(filter.getCustSqlSegment()));
QueryWrapper qw=context.getSelectCond();
if(!StringUtils.isEmpty(filter.getCustSqlSegment()))
qw.apply(filter.getCustSqlSegment());
return baseMapper.search(sql,qw);
}
catch(Exception ex)
{
......@@ -78,13 +87,15 @@ public class DbEntityService extends ServiceImpl<DbEntityMapper, EntityObj> impl
}
}
@Autowired
private IMetaModelService metaModelService;
@Autowired
private LiteModelService liteModelService;
public List<ModelObj> getModelObjs(DataModel dataModel,Timestamp lastModify)
public List<ModelObj> getModelObjs(String metaModelId,Timestamp lastModify)
{
DataModel dataModel= JSON.toJavaObject(JSON.parseObject(metaModelService.get(metaModelId).getConfig()),DataModel.class);
EntityModel entityModel=dataModel.getFactEntityModel();
FieldModel lastModifyField=entityModel.getLastModifyField();
QueryFilter filter=new QueryFilter();
......@@ -94,7 +105,7 @@ public class DbEntityService extends ServiceImpl<DbEntityMapper, EntityObj> impl
List<EntityObj> kEntityObjs=this.selectCore(entityModel, filter);
return new ArrayList<>();
return getModelObjs(dataModel,kEntityObjs);
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册