Commit e3d343b4 by xiaoer.li@freemud.com

Merge remote-tracking branch 'remotes/origin/feature/1.9.31_买增-加价购商品送的商品属性没存数据库'

parents c1bc80bd d780305c
......@@ -14,6 +14,7 @@ import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -92,6 +93,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods.setClassificationName(product.getCategoryName());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGoods.setNodeId(sendActivity.getActivityCode());
this.setGiftExtra(cartGoods,product,cartGoodsList);
cartGoodsList.add(cartGoods);
totalGiftAmount += product.getFinalPrice() * sendGoods.getSendNumber();
}
......@@ -162,4 +164,37 @@ 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);
cartGoods.setSubName(StringUtils.join(name, "/"));
}
}
}
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