|
|
@ -71,15 +71,19 @@ public class BloodAnalysisService { |
|
|
JSONObject data = obj.getJSONObject("data"); |
|
|
JSONObject data = obj.getJSONObject("data"); |
|
|
JSONArray totalList = data.getJSONArray("totalList"); |
|
|
JSONArray totalList = data.getJSONArray("totalList"); |
|
|
List<Map<Integer,String>> list = new ArrayList<>(); |
|
|
List<Map<Integer,String>> list = new ArrayList<>(); |
|
|
|
|
|
List<Map<String,Integer>> list2 = new ArrayList<>(); |
|
|
if (totalList !=null && totalList.size()>0){ |
|
|
if (totalList !=null && totalList.size()>0){ |
|
|
for (int i = 0; i < totalList.size(); i++) { |
|
|
for (int i = 0; i < totalList.size(); i++) { |
|
|
JSONObject database = totalList.getJSONObject(i); |
|
|
JSONObject database = totalList.getJSONObject(i); |
|
|
Map<Integer,String> map = new HashMap<>(); |
|
|
Map<Integer,String> map = new HashMap<>(); |
|
|
|
|
|
Map<String,Integer> map2 = new HashMap<>(); |
|
|
map.put(database.getInteger("id"),database.getString("type")); |
|
|
map.put(database.getInteger("id"),database.getString("type")); |
|
|
|
|
|
map2.put(database.getString("name"),database.getInteger("id")); |
|
|
list.add(map); |
|
|
list.add(map); |
|
|
|
|
|
list2.add(map2); |
|
|
} |
|
|
} |
|
|
mapper.deleteAllBloodData(); |
|
|
mapper.deleteAllBloodData(); |
|
|
parse(pageNum,pageSize,list); |
|
|
parse(pageNum,pageSize,list,list2); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -90,23 +94,53 @@ public class BloodAnalysisService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public void parse(Integer pageNum, Integer pageSize, List<Map<Integer,String>> databaseList) throws Exception { |
|
|
public void parse(Integer pageNum, Integer pageSize, List<Map<Integer,String>> databaseList,List<Map<String,Integer>> systemMap) throws Exception { |
|
|
PageHelper.startPage(pageNum,pageSize); |
|
|
PageHelper.startPage(pageNum,pageSize); |
|
|
List<DataLineageInfo> list = dataLineageInfoMapper.search(); |
|
|
List<DataLineageInfo> list = dataLineageInfoMapper.search(); |
|
|
if (list != null && list.size()>0){ |
|
|
if (list != null && list.size()>0){ |
|
|
//访问dolphinscheduler接口,获取数据库名称以及对应的类型列表
|
|
|
//访问dolphinscheduler接口,获取数据库名称以及对应的类型列表
|
|
|
for (DataLineageInfo dataLineageInfo : list) { |
|
|
for (DataLineageInfo dataLineageInfo : list) { |
|
|
SqlParser sqlParser = applicationContext.getBean(SqlParser.class); |
|
|
SqlParser sqlParser = applicationContext.getBean(SqlParser.class); |
|
|
sqlParser.parse(dataLineageInfo,databaseList); |
|
|
sqlParser.parse(dataLineageInfo,databaseList,systemMap); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if (list != null && list.size() == pageSize){ |
|
|
if (list != null && list.size() == pageSize){ |
|
|
parse(pageNum+1,pageSize,databaseList); |
|
|
parse(pageNum+1,pageSize,databaseList,systemMap); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public List<Map<String, Object>> analysisBySQL(BloodAnalysisBySql sqlModel) throws Exception { |
|
|
public List<Map<String, Object>> analysisBySQL(BloodAnalysisBySql sqlModel, String dashUserName, String dashPassword) throws Exception { |
|
|
|
|
|
List<Map<String,Integer>> list = new ArrayList<>(); |
|
|
|
|
|
try (CloseableHttpClient httpClient = HttpClients.createDefault()) { |
|
|
|
|
|
// 1. 创建 POST 请求
|
|
|
|
|
|
HttpGet get = new HttpGet(databaseUrl); |
|
|
|
|
|
// 2. 设置请求头(可选)
|
|
|
|
|
|
get.setHeader("Content-Type", "application/json"); |
|
|
|
|
|
get.setHeader("dashUserName",dashUserName); |
|
|
|
|
|
get.setHeader("dashPassword",dashPassword); |
|
|
|
|
|
// 4. 执行请求
|
|
|
|
|
|
try (CloseableHttpResponse response = httpClient.execute(get)) { |
|
|
|
|
|
// 5. 获取响应
|
|
|
|
|
|
HttpEntity entity = response.getEntity(); |
|
|
|
|
|
if (entity != null) { |
|
|
|
|
|
String responseStr = EntityUtils.toString(entity); |
|
|
|
|
|
JSONObject obj = JSON.parseObject(responseStr); |
|
|
|
|
|
JSONObject data = obj.getJSONObject("data"); |
|
|
|
|
|
JSONArray totalList = data.getJSONArray("totalList"); |
|
|
|
|
|
if (totalList !=null && totalList.size()>0){ |
|
|
|
|
|
for (int i = 0; i < totalList.size(); i++) { |
|
|
|
|
|
JSONObject database = totalList.getJSONObject(i); |
|
|
|
|
|
Map<String,Integer> map = new HashMap<>(); |
|
|
|
|
|
map.put(database.getString("name"),database.getInteger("id")); |
|
|
|
|
|
list.add(map); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
} |
|
|
SqlParser sqlParser = applicationContext.getBean(SqlParser.class); |
|
|
SqlParser sqlParser = applicationContext.getBean(SqlParser.class); |
|
|
return sqlParser.parse(sqlModel.getSql(), sqlModel.getSqlType(), sqlModel.getDefaultSystem(), sqlModel.getDefaultModel()); |
|
|
return sqlParser.parse(sqlModel, list); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|