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 javax.servlet.http.HttpServletResponse;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.io.OutputStream;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@ -255,4 +255,10 @@ public class MetadataSourceController extends BaseController {
|
||||
metadataSourceService.refreshMetadata();
|
||||
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 java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@ -51,4 +52,6 @@ public interface MetadataSourceService extends BaseService<MetadataSourceEntity>
|
||||
List<MetadataSourceEntity> getMetadataSourceList();
|
||||
|
||||
<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.metadata.api.dto.DbSchema;
|
||||
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.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.entity.*;
|
||||
import cn.datax.service.data.metadata.api.enums.DataLevel;
|
||||
import cn.datax.service.data.metadata.api.enums.SyncStatus;
|
||||
import cn.datax.service.data.metadata.async.AsyncTask;
|
||||
import cn.datax.service.data.metadata.dao.MetadataAuthorizeDao;
|
||||
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.dao.*;
|
||||
import cn.datax.service.data.metadata.mapstruct.MetadataSourceMapper;
|
||||
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.feign.QualityServiceFeign;
|
||||
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 java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.ResultSetMetaData;
|
||||
import java.sql.Statement;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@ -121,6 +112,9 @@ public class MetadataSourceServiceImpl extends BaseServiceImpl<MetadataSourceDao
|
||||
@Autowired
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
@Autowired
|
||||
private MetadataTableService metadataTableService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
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));
|
||||
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
|
||||
ip-address: 192.168.1.217
|
||||
client:
|
||||
register-with-eureka: false
|
||||
register-with-eureka: true
|
||||
fetch-registry: true
|
||||
instance-info-replication-interval-seconds: 30
|
||||
registry-fetch-interval-seconds: 3
|
||||
|
Loading…
x
Reference in New Issue
Block a user