Commit ab14f523 by 张跃

Merge branch 'featur/20210519-加价购优化'

parents 04174a43 d43b3fa3
......@@ -25,6 +25,7 @@ import cn.freemud.demo.entities.dto.goods.add.list.BaseListCartGoodsVO;
import cn.freemud.demo.entities.dto.goods.add.update.BaseUpdateGoodsQtyVO;
import cn.freemud.demo.enums.BizTypeEnum;
import cn.freemud.demo.factory.ServiceFactory;
import cn.freemud.demo.service.ShoppingCartService;
import cn.freemud.demo.service.impl.AbstractAddGoodsService;
import cn.freemud.demo.service.impl.AbstractApportionService;
import cn.freemud.demo.service.impl.AbstractListCartGoodsService;
......@@ -102,6 +103,8 @@ public class ShoppingCartDemoController {
@Resource
private MapperFacade mapperFacade;
@Autowired
private ShoppingCartService shoppingCartService;
/**
* 向购物车中添加商品
*/
......@@ -214,7 +217,7 @@ public class ShoppingCartDemoController {
long sendGoodsAmount = chooseSendGoodList.stream().mapToLong(PremiumExchangeResponseVo.PremiumExchangeProduct::getNowPrice).sum();
baseListCartGoodsVO.setSendGoodsAmount(sendGoodsAmount);
}
updateForPopupWindow(baseListCartGoodsVO,premiumExchangeResponseVoBaseResponse.getResult().getShowType(),chooseSendGoodList,baseRequestDTO.getSendGoods());
shoppingCartService.updateForPopupWindow(baseListCartGoodsVO,premiumExchangeResponseVoBaseResponse.getResult().getShowType(),chooseSendGoodList,baseRequestDTO.getSendGoods());
}
// 添加购物车商品总价和加价购商品总价,现在是自己计算,后面需要优化为促销计算, 这段要删除
......@@ -222,45 +225,6 @@ public class ShoppingCartDemoController {
}
public void updateForPopupWindow(BaseListCartGoodsVO baseListCartGoodsVO, Integer showType, List<PremiumExchangeResponseVo.PremiumExchangeProduct> chooseSendGoodList,
List<ListCartGoodsBO.SendGoods> sendGoods) {
if(Integer.valueOf("5").equals(showType) && !org.springframework.util.CollectionUtils.isEmpty(chooseSendGoodList)){
chooseSendGoodList.forEach(good->{
ListCartGoodsBO.SendGoods first =null;
if(sendGoods !=null) {
first = sendGoods.stream().filter(a -> a.getGoodsId().equals(good.getPid())).findFirst().orElseGet(null);
}
CartGoods cartGoods = new CartGoods();
cartGoods.setSpuId(good.getSpuId());
cartGoods.setSkuId(good.getSkuId());
cartGoods.setSkuName(good.getSkuName());
cartGoods.setOriginalAmount(good.getOriginalPrice());
cartGoods.setFinalPrice(good.getNowPrice());
cartGoods.setOriginalAmount(good.getOriginalPrice());
cartGoods.setAmount(good.getNowPrice());
cartGoods.setPhotoUrl(good.getPicture());
cartGoods.setGoodsId(good.getPid());
cartGoods.setName(good.getName());
cartGoods.setSpuName(good.getSpuName());
cartGoods.setQty(first==null ? 1:first.getQty());
if(first != null) {
cartGoods.setActivityCode(first.getActivityCode());
if(!CollectionUtils.isEmpty(first.getAttributes())){
List<CartGoods.CartGoodsExtra> extra = new ArrayList();
first.getAttributes().forEach(attribute -> {
CartGoods.CartGoodsExtra goodsExtra = new CartGoods.CartGoodsExtra();
goodsExtra.setAttributeId(attribute.getAttributeId());
goodsExtra.setAttributeName(attribute.getAttributeValue());
extra.add(goodsExtra);
});
cartGoods.setExtra(extra);
}
}
baseListCartGoodsVO.getProducts().add(cartGoods);
});
}
}
/**
* 获取购物车均摊详情,点 "去支付" 时调用
*
......
......@@ -2,7 +2,10 @@ package cn.freemud.demo.service;
import cn.freemud.demo.entities.bo.goods.CheckCartRequest;
import cn.freemud.demo.entities.bo.goods.ShoppingCartContext;
import cn.freemud.demo.entities.bo.goods.list.ListCartGoodsBO;
import cn.freemud.demo.entities.dto.goods.add.list.BaseListCartGoodsVO;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.PremiumExchangeResponseVo;
import java.util.List;
......@@ -12,5 +15,6 @@ public interface ShoppingCartService {
CheckCartRequest checkShoppingCart(List<CartGoods> cartGoodsList, CartGoods cartGoods, ShoppingCartContext cartContext);
void updateForPopupWindow(BaseListCartGoodsVO baseListCartGoodsVO, Integer showType, List<PremiumExchangeResponseVo.PremiumExchangeProduct> chooseSendGoodList,
List<ListCartGoodsBO.SendGoods> sendGoods);
}
......@@ -2,12 +2,16 @@ package cn.freemud.demo.service.impl;
import cn.freemud.demo.entities.bo.goods.CheckCartRequest;
import cn.freemud.demo.entities.bo.goods.ShoppingCartContext;
import cn.freemud.demo.entities.bo.goods.list.ListCartGoodsBO;
import cn.freemud.demo.entities.dto.goods.add.list.BaseListCartGoodsVO;
import cn.freemud.demo.service.ShoppingCartService;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.PremiumExchangeResponseVo;
import cn.freemud.entities.vo.ShoppingCartGoodsBaseResponseVo;
import cn.freemud.service.impl.AssortmentSdkService;
import com.alibaba.fastjson.JSONObject;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -65,4 +69,43 @@ public class ShoppingBaseServiceImpl implements ShoppingCartService {
return result;
}
@Override
public void updateForPopupWindow(BaseListCartGoodsVO baseListCartGoodsVO, Integer showType, List<PremiumExchangeResponseVo.PremiumExchangeProduct> chooseSendGoodList, List<ListCartGoodsBO.SendGoods> sendGoods) {
if(Integer.valueOf("5").equals(showType) && !org.springframework.util.CollectionUtils.isEmpty(chooseSendGoodList)){
chooseSendGoodList.forEach(good->{
ListCartGoodsBO.SendGoods first =null;
if(sendGoods !=null) {
first = sendGoods.stream().filter(a -> a.getGoodsId().equals(good.getPid())).findFirst().orElseGet(null);
}
CartGoods cartGoods = new CartGoods();
cartGoods.setSpuId(good.getSpuId());
cartGoods.setSkuId(good.getSkuId());
cartGoods.setSkuName(good.getSkuName());
cartGoods.setOriginalAmount(good.getOriginalPrice());
cartGoods.setFinalPrice(good.getNowPrice());
cartGoods.setOriginalAmount(good.getOriginalPrice());
cartGoods.setAmount(good.getNowPrice());
cartGoods.setPhotoUrl(good.getPicture());
cartGoods.setGoodsId(good.getPid());
cartGoods.setName(good.getName());
cartGoods.setSpuName(good.getSpuName());
cartGoods.setQty(first==null ? 1:first.getQty());
if(first != null) {
cartGoods.setActivityCode(first.getActivityCode());
if(!CollectionUtils.isEmpty(first.getAttributes())){
List<CartGoods.CartGoodsExtra> extra = new ArrayList();
first.getAttributes().forEach(attribute -> {
CartGoods.CartGoodsExtra goodsExtra = new CartGoods.CartGoodsExtra();
goodsExtra.setAttributeId(attribute.getAttributeId());
goodsExtra.setAttributeName(attribute.getAttributeValue());
extra.add(goodsExtra);
});
cartGoods.setExtra(extra);
}
}
baseListCartGoodsVO.getProducts().add(cartGoods);
});
}
}
}
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