Commit ab14f523 by 张跃

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

parents 04174a43 d43b3fa3
...@@ -25,6 +25,7 @@ import cn.freemud.demo.entities.dto.goods.add.list.BaseListCartGoodsVO; ...@@ -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.entities.dto.goods.add.update.BaseUpdateGoodsQtyVO;
import cn.freemud.demo.enums.BizTypeEnum; import cn.freemud.demo.enums.BizTypeEnum;
import cn.freemud.demo.factory.ServiceFactory; 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.AbstractAddGoodsService;
import cn.freemud.demo.service.impl.AbstractApportionService; import cn.freemud.demo.service.impl.AbstractApportionService;
import cn.freemud.demo.service.impl.AbstractListCartGoodsService; import cn.freemud.demo.service.impl.AbstractListCartGoodsService;
...@@ -102,6 +103,8 @@ public class ShoppingCartDemoController { ...@@ -102,6 +103,8 @@ public class ShoppingCartDemoController {
@Resource @Resource
private MapperFacade mapperFacade; private MapperFacade mapperFacade;
@Autowired
private ShoppingCartService shoppingCartService;
/** /**
* 向购物车中添加商品 * 向购物车中添加商品
*/ */
...@@ -214,7 +217,7 @@ public class ShoppingCartDemoController { ...@@ -214,7 +217,7 @@ public class ShoppingCartDemoController {
long sendGoodsAmount = chooseSendGoodList.stream().mapToLong(PremiumExchangeResponseVo.PremiumExchangeProduct::getNowPrice).sum(); long sendGoodsAmount = chooseSendGoodList.stream().mapToLong(PremiumExchangeResponseVo.PremiumExchangeProduct::getNowPrice).sum();
baseListCartGoodsVO.setSendGoodsAmount(sendGoodsAmount); 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 { ...@@ -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; ...@@ -2,7 +2,10 @@ package cn.freemud.demo.service;
import cn.freemud.demo.entities.bo.goods.CheckCartRequest; import cn.freemud.demo.entities.bo.goods.CheckCartRequest;
import cn.freemud.demo.entities.bo.goods.ShoppingCartContext; 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.CartGoods;
import cn.freemud.entities.vo.PremiumExchangeResponseVo;
import java.util.List; import java.util.List;
...@@ -12,5 +15,6 @@ public interface ShoppingCartService { ...@@ -12,5 +15,6 @@ public interface ShoppingCartService {
CheckCartRequest checkShoppingCart(List<CartGoods> cartGoodsList, CartGoods cartGoods, ShoppingCartContext cartContext); 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; ...@@ -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.CheckCartRequest;
import cn.freemud.demo.entities.bo.goods.ShoppingCartContext; 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.demo.service.ShoppingCartService;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.PremiumExchangeResponseVo;
import cn.freemud.entities.vo.ShoppingCartGoodsBaseResponseVo; import cn.freemud.entities.vo.ShoppingCartGoodsBaseResponseVo;
import cn.freemud.service.impl.AssortmentSdkService; import cn.freemud.service.impl.AssortmentSdkService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -65,4 +69,43 @@ public class ShoppingBaseServiceImpl implements ShoppingCartService { ...@@ -65,4 +69,43 @@ public class ShoppingBaseServiceImpl implements ShoppingCartService {
return result; 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