小公司没啥规范,表也设计的一塌糊涂,没办法只能使用这个办法了
public dataTable resourceAnalysis(String lon, String lat, String fxfw) {
// 点
String yxPoint = " 'POINT(" + lon + " " + lat + ")' ";
// 资源搜索半径
double circles = Double.parseDouble(fxfw) * 1000;
// 结果集
DataAroundTheFirePoint dataAroundTheFirePoint = new DataAroundTheFirePoint();
CompletableFuture<List<tableValue>> dlDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getDlData(yxPoint, circles));
CompletableFuture<List<tableValue>> ysszDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getYsszData(yxPoint, circles));
CompletableFuture<List<tableValue>> sllbDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getSllbData(yxPoint, circles));
CompletableFuture<List<tableValue>> qyDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getQyData(yxPoint, circles));
CompletableFuture<List<tableValue>> lingZuDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getLingZuData(yxPoint, circles));
CompletableFuture<List<tableValue>> yuBiDuDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getYuBiDuData(yxPoint, circles));
CompletableFuture<List<FhssWeixian>> fujinFengxianFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getFujinFengxian(yxPoint, circles));
CompletableFuture<List<JcdlJmd>> fuJinJuMinDianFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getFuJinJuMinDian(yxPoint, circles));
CompletableFuture<List<FhssZdbhmb>> fuJinBaoHuMuBiaoFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getFuJinBaoHuMuBiao(yxPoint, circles));
CompletableFuture<List<tableValue>> xujiDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getXujiData(yxPoint, circles));
CompletableFuture<List<JcdlLdxb>> dxDataFuture = CompletableFuture.supplyAsync(() -> resourceMapper.getDxData(Double.parseDouble(lon),Double.parseDouble(lat)));
CompletableFuture<Void> allTasks = CompletableFuture.allOf(dlDataFuture, ysszDataFuture,
sllbDataFuture, qyDataFuture, lingZuDataFuture, yuBiDuDataFuture,
fujinFengxianFuture, fuJinJuMinDianFuture, fuJinBaoHuMuBiaoFuture, xujiDataFuture, dxDataFuture);
//等待所有任务完成,事件由执行时间最长的那个sql决定
allTasks.join();
//使用的时候只要使用join()方法就可以取出数据啦,例如 xujiDataFuture.join()
//要求有事务的时候,建议使用编程式事务
}
别吐槽我不用英文命名变量啦,没办法,领导不懂英文,让我们用拼音首字母缩写(T-T)。