Commit 78d1edcb by xiaoer.li@freemud.com

单规格商品买赠复制商品属性

parent 594ff4a9
......@@ -93,13 +93,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods.setClassificationName(product.getCategoryName());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGoods.setNodeId(sendActivity.getActivityCode());
CartGoods find = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).findFirst().get();
if (find.getExtra().size()>0) {
cartGoods.setExtra(find.getExtra());
cartGoods.setSpuName(find.getSpuName());
cartGoods.setSkuName(find.getSkuName());
cartGoods.setSubName(find.getSubName());
}
this.setGiftExtra(cartGoods,product,cartGoodsList);
cartGoodsList.add(cartGoods);
totalGiftAmount += product.getFinalPrice() * sendGoods.getSendNumber();
}
......@@ -170,4 +164,40 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
}
return productBeanList;
}
private void setGiftExtra(CartGoods cartGoods,ProductBeanDTO product,List<CartGoods> cartGoodsList) {
long count = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).count();
//购物车内存在同类
if (count>0) {
CartGoods find = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).findFirst().get();
cartGoods.setExtra(find.getExtra());
cartGoods.setSpuName(find.getSpuName());
cartGoods.setSkuName(find.getSkuName());
cartGoods.setSubName(find.getSubName());
}
//不存在
else {
if (product.getProductAttributeGroupList().size()==0) {
return;
}
List<CartGoods.CartGoodsExtra> extra = new ArrayList<>();
ArrayList<String> name = new ArrayList<>();
List<ProductBeanDTO.ProductAttributeGroupListBean> productAttributeGroupList = product.getProductAttributeGroupList();
for (ProductBeanDTO.ProductAttributeGroupListBean productAttributeGroupListBean : productAttributeGroupList) {
ProductBeanDTO.ProductAttributeGroupListBean.AttributeValueBean bean = productAttributeGroupListBean.getAttributeValues().stream().findFirst().get();
CartGoods.CartGoodsExtra goodsExtra = new CartGoods.CartGoodsExtra();
goodsExtra.setAttributeId(bean.getAttributeId());
goodsExtra.setAttributeName(bean.getAttributeValue());
name.add(bean.getAttributeValue());
extra.add(goodsExtra);
}
cartGoods.setExtra(extra);
String join = StringUtils.join(name, "/");
cartGoods.setSubName(join);
cartGoods.setSpuName(join);
cartGoods.setSkuName(join);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment