|
@@ -206,16 +206,22 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
wrapper.eq(Stock::getWarehouseId, dto.getId());
|
|
wrapper.eq(Stock::getWarehouseId, dto.getId());
|
|
wrapper.like(Stock::getQuantity, dto.getKeyword());
|
|
wrapper.like(Stock::getQuantity, dto.getKeyword());
|
|
wrapper.eq("pi.definition", dto.getDefinition());
|
|
wrapper.eq("pi.definition", dto.getDefinition());
|
|
|
|
+ wrapper.isNotNull("ps.id");
|
|
|
|
+ wrapper.groupBy("ps.id");
|
|
wrapper.orderByDesc("s", Stock::getId);
|
|
wrapper.orderByDesc("s", Stock::getId);
|
|
Page<StockVo> page = this.baseMapper.pageByProductSpu(dto.getPage(), wrapper);
|
|
Page<StockVo> page = this.baseMapper.pageByProductSpu(dto.getPage(), wrapper);
|
|
//赋值关联产品数
|
|
//赋值关联产品数
|
|
List<StockVo> records = page.getRecords();
|
|
List<StockVo> records = page.getRecords();
|
|
List<Long> spuids = records.stream().map(StockVo::getProductSpuId).collect(Collectors.toList());
|
|
List<Long> spuids = records.stream().map(StockVo::getProductSpuId).collect(Collectors.toList());
|
|
|
|
+ if(ObjectUtil.isEmpty(spuids)){
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
List<ProductInfo> productInfoList = productInfoService.list(q -> q.in(ProductInfo::getProductSpuId, spuids));
|
|
List<ProductInfo> productInfoList = productInfoService.list(q -> q.in(ProductInfo::getProductSpuId, spuids));
|
|
Map<Long, List<ProductInfo>> productInfoMap = productInfoList.stream().collect(Collectors.groupingBy(ProductInfo::getProductSpuId));
|
|
Map<Long, List<ProductInfo>> productInfoMap = productInfoList.stream().collect(Collectors.groupingBy(ProductInfo::getProductSpuId));
|
|
for (StockVo record : records) {
|
|
for (StockVo record : records) {
|
|
List<ProductInfo> productInfoList1 = productInfoMap.get(record.getProductSpuId());
|
|
List<ProductInfo> productInfoList1 = productInfoMap.get(record.getProductSpuId());
|
|
record.setLinkProductQuantity(BigDecimal.valueOf(productInfoList1.size()));
|
|
record.setLinkProductQuantity(BigDecimal.valueOf(productInfoList1.size()));
|
|
|
|
+ record.setCombinationQuantity(0l);
|
|
}
|
|
}
|
|
//赋值可组合数量
|
|
//赋值可组合数量
|
|
List<Long> linkProductIds = new ArrayList<>();
|
|
List<Long> linkProductIds = new ArrayList<>();
|