ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(5);
//销售sku(按sku分)
FutureTask<List<Map<String, Object>> > getSales = new FutureTask<List<Map<String, Object>> >(new Callable(){
@Override
public List<Map<String, Object>> call() throws Exception{
//找到所有店铺销售所有的sku
List<Map<String, Object>> allSaleSku = goodsProductDOMapper.selectAllSkuSale(map);
return allSaleSku;
}
});
newFixedThreadPool.submit(getSales);
//进货sku(按sku分)
FutureTask<List<Map<String, Object>> > getIns = new FutureTask<List<Map<String, Object>> >(new Callable<List<Map<String, Object>>>(){
@Override
public List<Map<String, Object>> call() throws Exception{
//找到所有店铺库存所有的sku
List<Map<String, Object>> allInSku = goodsProductDOMapper.selectAllSkuIn(map);
return allInSku;
}
});
newFixedThreadPool.submit(getIns);
//定义全部数据容器
FutureTask<List<Map<String, Object>>> getSkuInfos = new FutureTask<List<Map<String, Object>>>(new Callable(){
@Override
public List<Map<String, Object>> call() throws Exception{
List<Map<String, Object>> infoList = goodsProductDOMapper.selectInfoBySkcPrice(map);//sku上级信息
return infoList;
}
});
newFixedThreadPool.submit(getSkuInfos);
List<Map<String, Object>> infoList = getSkuInfos.get();//从线程中获取skuid信息
Map<String, Map<String, Object>> infoMap = skcListToMap(infoList, "skuId", null,null);
List<Map<String, Object>> allInSku = getIns.get();