update
This commit is contained in:
parent
c35a6151bc
commit
a805c85b73
@ -31,10 +31,10 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.OutputStream;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.io.OutputStream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -255,4 +255,10 @@ public class MetadataSourceController extends BaseController {
|
|||||||
metadataSourceService.refreshMetadata();
|
metadataSourceService.refreshMetadata();
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getMetadatablood")
|
||||||
|
public R getMetadatablood(@RequestBody Map<String, String> params) {
|
||||||
|
List<Map<String, Object>> list = metadataSourceService.getMetadatablood(params.get("sourceId"), params.get("tableId"));
|
||||||
|
return R.ok().setData(list);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -51,4 +52,6 @@ public interface MetadataSourceService extends BaseService<MetadataSourceEntity>
|
|||||||
List<MetadataSourceEntity> getMetadataSourceList();
|
List<MetadataSourceEntity> getMetadataSourceList();
|
||||||
|
|
||||||
<E extends IPage<MetadataSourceEntity>> E pageWithAuth(E page, Wrapper<MetadataSourceEntity> queryWrapper);
|
<E extends IPage<MetadataSourceEntity>> E pageWithAuth(E page, Wrapper<MetadataSourceEntity> queryWrapper);
|
||||||
|
|
||||||
|
List<Map<String, Object>> getMetadatablood(String datasourceId, String tableName);
|
||||||
}
|
}
|
||||||
|
@ -16,21 +16,14 @@ import cn.datax.service.data.market.api.entity.DataApiEntity;
|
|||||||
import cn.datax.service.data.market.api.feign.DataApiServiceFeign;
|
import cn.datax.service.data.market.api.feign.DataApiServiceFeign;
|
||||||
import cn.datax.service.data.metadata.api.dto.DbSchema;
|
import cn.datax.service.data.metadata.api.dto.DbSchema;
|
||||||
import cn.datax.service.data.metadata.api.dto.MetadataSourceDto;
|
import cn.datax.service.data.metadata.api.dto.MetadataSourceDto;
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataAuthorizeEntity;
|
import cn.datax.service.data.metadata.api.entity.*;
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataChangeRecordEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataColumnEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.entity.MetadataTableEntity;
|
|
||||||
import cn.datax.service.data.metadata.api.enums.DataLevel;
|
import cn.datax.service.data.metadata.api.enums.DataLevel;
|
||||||
import cn.datax.service.data.metadata.api.enums.SyncStatus;
|
import cn.datax.service.data.metadata.api.enums.SyncStatus;
|
||||||
import cn.datax.service.data.metadata.async.AsyncTask;
|
import cn.datax.service.data.metadata.async.AsyncTask;
|
||||||
import cn.datax.service.data.metadata.dao.MetadataAuthorizeDao;
|
import cn.datax.service.data.metadata.dao.*;
|
||||||
import cn.datax.service.data.metadata.dao.MetadataChangeRecordDao;
|
|
||||||
import cn.datax.service.data.metadata.dao.MetadataColumnDao;
|
|
||||||
import cn.datax.service.data.metadata.dao.MetadataSourceDao;
|
|
||||||
import cn.datax.service.data.metadata.dao.MetadataTableDao;
|
|
||||||
import cn.datax.service.data.metadata.mapstruct.MetadataSourceMapper;
|
import cn.datax.service.data.metadata.mapstruct.MetadataSourceMapper;
|
||||||
import cn.datax.service.data.metadata.service.MetadataSourceService;
|
import cn.datax.service.data.metadata.service.MetadataSourceService;
|
||||||
|
import cn.datax.service.data.metadata.service.MetadataTableService;
|
||||||
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
import cn.datax.service.data.quality.api.entity.CheckRuleEntity;
|
||||||
import cn.datax.service.data.quality.api.feign.QualityServiceFeign;
|
import cn.datax.service.data.quality.api.feign.QualityServiceFeign;
|
||||||
import cn.datax.service.data.standard.api.entity.ContrastEntity;
|
import cn.datax.service.data.standard.api.entity.ContrastEntity;
|
||||||
@ -57,13 +50,11 @@ import org.springframework.transaction.annotation.Propagation;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.sql.Connection;
|
||||||
import java.util.HashSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.List;
|
import java.sql.ResultSetMetaData;
|
||||||
import java.util.Map;
|
import java.sql.Statement;
|
||||||
import java.util.Objects;
|
import java.util.*;
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@ -121,6 +112,9 @@ public class MetadataSourceServiceImpl extends BaseServiceImpl<MetadataSourceDao
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RedisTemplate<String, Object> redisTemplate;
|
private RedisTemplate<String, Object> redisTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MetadataTableService metadataTableService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void saveMetadataSource(MetadataSourceDto metadataSourceDto) {
|
public void saveMetadataSource(MetadataSourceDto metadataSourceDto) {
|
||||||
@ -395,4 +389,50 @@ public class MetadataSourceServiceImpl extends BaseServiceImpl<MetadataSourceDao
|
|||||||
Map<String, List<MetadataColumnEntity>> columnListMap = columnEntityList.stream().collect(Collectors.groupingBy(MetadataColumnEntity::getTableId));
|
Map<String, List<MetadataColumnEntity>> columnListMap = columnEntityList.stream().collect(Collectors.groupingBy(MetadataColumnEntity::getTableId));
|
||||||
redisTemplate.opsForHash().putAll(columnKey, columnListMap);
|
redisTemplate.opsForHash().putAll(columnKey, columnListMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> getMetadatablood(String datasourceId, String tableId) {
|
||||||
|
Map<String, Map<String,Object>> columns = new LinkedHashMap();
|
||||||
|
Map<String,Object> reslutMap = new LinkedHashMap<>();
|
||||||
|
List<Map<String, Object>> rows = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
MetadataSourceEntity dataSource = super.getById(datasourceId);
|
||||||
|
DbQuery dbQuery = this.getDbQuery(datasourceId);
|
||||||
|
Connection connection = dbQuery.getConnection();
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
String sql = "SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '" + dataSource.getSourceName() + "' AND REFERENCED_TABLE_NAME IS NOT NULL";
|
||||||
|
if(StrUtil.isNotEmpty(tableId)){
|
||||||
|
MetadataTableEntity metadataTableEntity = metadataTableService.getMetadataTableById(tableId);
|
||||||
|
sql += " AND table_name = '" + metadataTableEntity.getTableName() + "'";
|
||||||
|
}
|
||||||
|
ResultSet resultSet = statement.executeQuery(sql);
|
||||||
|
ResultSetMetaData metaData = resultSet.getMetaData();
|
||||||
|
int columnCount = metaData.getColumnCount();
|
||||||
|
for (int i = 0; i < columnCount; i++) {
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("name",metaData.getColumnName(i+1));
|
||||||
|
map.put("type",metaData.getColumnTypeName(i+1));
|
||||||
|
columns.put(metaData.getColumnName(i+1),map);
|
||||||
|
}
|
||||||
|
while(resultSet.next()){
|
||||||
|
Map<String, Object> row = new LinkedHashMap<>();
|
||||||
|
for (int i = 0; i < columnCount; i++) {
|
||||||
|
Object object = resultSet.getObject(metaData.getColumnLabel(i+1));
|
||||||
|
if (metaData.getColumnTypeName(i+1).equals("DATETIME") || metaData.getColumnTypeName(i+1).equals("TIMESTAMP") || metaData.getColumnTypeName(i+1).equals("DATE")) {
|
||||||
|
row.put(metaData.getColumnName(i+1),resultSet.getString(metaData.getColumnLabel(i+1)));
|
||||||
|
} else {
|
||||||
|
row.put(metaData.getColumnName(i+1),object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rows.add(row);
|
||||||
|
}
|
||||||
|
resultSet.close();//关闭ResultSet对象
|
||||||
|
statement.close();//关闭Statement对象
|
||||||
|
connection.close();//关闭Connection对象
|
||||||
|
reslutMap.put("columns",columns);
|
||||||
|
reslutMap.put("rows",rows);
|
||||||
|
} catch (Exception throwAbles) {
|
||||||
|
}
|
||||||
|
return rows;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ eureka:
|
|||||||
prefer-ip-address: true
|
prefer-ip-address: true
|
||||||
ip-address: 192.168.1.217
|
ip-address: 192.168.1.217
|
||||||
client:
|
client:
|
||||||
register-with-eureka: false
|
register-with-eureka: true
|
||||||
fetch-registry: true
|
fetch-registry: true
|
||||||
instance-info-replication-interval-seconds: 30
|
instance-info-replication-interval-seconds: 30
|
||||||
registry-fetch-interval-seconds: 3
|
registry-fetch-interval-seconds: 3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user