|
|
@@ -37,6 +37,7 @@ import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 航次库存 Service 实现类
|
|
|
@@ -110,8 +111,8 @@ public class VoyageStockDetailServiceImpl implements VoyageStockDetailService {
|
|
|
stockDO.setShareNum(stockDO.getCanSellNum().subtract(distributeNum));
|
|
|
voyageStockMapper.updateById(stockDO);
|
|
|
if(stockDistributeNewList != null && !stockDistributeNewList.isEmpty()) {
|
|
|
- Map<String, BigDecimal> numMap = CollectionUtils.convertMap(stockDistributeNewList, item -> item.getRoomModelId() + "_" + item.getFloor(), item -> item.getNum());
|
|
|
- Map<String, BigDecimal> totalNumMap = CollectionUtils.convertMap(stockDistributeNewList, item -> item.getRoomModelId() + "_" + item.getFloor(), item -> item.getTotalNum());
|
|
|
+ Map<String, BigDecimal> numMap = stockDistributeNewList.stream().collect(Collectors.groupingBy(item -> item.getRoomModelId() + "_" + item.getFloor(), Collectors.mapping(VoyageStockDistributeNewDO::getNum, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
|
|
|
+ Map<String, BigDecimal> totalNumMap = stockDistributeNewList.stream().collect(Collectors.groupingBy(item -> item.getRoomModelId() + "_" + item.getFloor(), Collectors.mapping(VoyageStockDistributeNewDO::getTotalNum, Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
|
|
|
List<VoyageStockDetailDO> list = voyageStockDetailMapper.selectListByVoyageId(voyageId);
|
|
|
list.stream().forEach(item -> {
|
|
|
BigDecimal num = numMap.get(item.getRoomModelId() + "_" + item.getFloor());
|