|
@@ -255,10 +255,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
// 赋值包材配件/单品
|
|
|
List<OrderSkuBom> tempOrderSkuBomList = orderSkuBomService.list(q -> q.eq(OrderSkuBom::getOrderId, id));
|
|
|
List<OrderSkuBomVo> orderSkuBomList = BeanUtil.copyToList(tempOrderSkuBomList, OrderSkuBomVo.class);
|
|
|
- bomSpecService.attributeAssign(orderSkuBomList, OrderSkuBom::getBomSpecId, (item, bomSpec) -> {
|
|
|
- item.setBomSpecCode(bomSpec.getCode());
|
|
|
- item.setBomSpecName(bomSpec.getName());
|
|
|
+ List<Long> bomSpecIds = orderSkuBomList.stream().map(OrderSkuBom::getBomSpecId).collect(Collectors.toList());
|
|
|
+ Map<Long, BomSpecBo> bomSpecBoMap = skuSpecService.getBomSpecBoByIdList(bomSpecIds);
|
|
|
+ orderSkuBomList.forEach(item -> {
|
|
|
+ BomSpecBo bomSpecBo = bomSpecBoMap.get(item.getBomSpecId());
|
|
|
+ if (bomSpecBo == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ item.setBomSpecCode(bomSpecBo.getBomSpecCode());
|
|
|
+ item.setBomSpecName(bomSpecBo.getBomSpecName());
|
|
|
+ item.setBomClassifyId(bomSpecBo.getClassifyId());
|
|
|
});
|
|
|
+
|
|
|
Map<Long, List<OrderSkuBomVo>> orderSkuBomMap = orderSkuBomList.stream().collect(Collectors.groupingBy(OrderSkuBom::getOrderSkuId));
|
|
|
for (OrderSkuVo orderSkuVo : orderSkuList) {
|
|
|
orderSkuVo.setOrderSkuBomList(orderSkuBomMap.getOrDefault(orderSkuVo.getId(), Collections.emptyList()));
|
|
@@ -542,6 +550,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
public void confirmation(OrderInfoDto dto) {
|
|
|
OrderInfo order = getById(dto.getId());
|
|
@@ -1480,8 +1489,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
|
|
|
List<Long> bomSpecIdList = orderSkuList.stream().map(OrderSku::getBomSpecId).collect(Collectors.toList());
|
|
|
Map<Long, BomSpecBo> bomSpecBoMap = skuSpecService.getBomSpecBoByIdList(bomSpecIdList);
|
|
|
+ // 筛选掉赠品sku
|
|
|
+ List<Long> skuSpecIds = orderSkuList.stream().map(OrderSku::getSkuSpecId).collect(Collectors.toList());
|
|
|
+ List<Long> giftSkuSpecIds = skuSpecService.getGiftIdListByIdList(skuSpecIds);
|
|
|
|
|
|
orderSkuList = orderSkuList.stream()
|
|
|
+ .filter(item -> giftSkuSpecIds.isEmpty() || !giftSkuSpecIds.contains(item.getSkuSpecId()))
|
|
|
.filter(item -> bomSpecBoMap.get(item.getBomSpecId()).getClassifyParentId().equals(1L))
|
|
|
.collect(Collectors.toList());
|
|
|
|