Commit ce952839 by shuhu.hou@freemud.cn

合并shopping-cart模块老git代码到新git

parent e9b4d7ca
...@@ -188,10 +188,10 @@ public class ShoppingCartConvertAdapter { ...@@ -188,10 +188,10 @@ public class ShoppingCartConvertAdapter {
* @param cartGoods * @param cartGoods
* @return * @return
*/ */
public List<ShoppingCartGoodsDto.CartGoodsDetailDto> convertComboxGoods2DetailGoods(CartGoods cartGoods) { public List<ShoppingCartGoodsDto.CartGoodsDetailDto> convertComboxGoods2DetailGoods(CartGoods cartGoods,Integer totalDiscountAmount) {
List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = new ArrayList<>(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = new ArrayList<>();
cartGoodsDetailDtos.addAll(getComboxGoods2DetailGoods(cartGoods, cartGoods.getProductComboList(), true)); cartGoodsDetailDtos.addAll(getComboxGoods2DetailGoods(cartGoods, cartGoods.getProductComboList(), true,totalDiscountAmount));
cartGoodsDetailDtos.addAll(getComboxGoods2DetailGoods(cartGoods, cartGoods.getProductGroupList(), false)); cartGoodsDetailDtos.addAll(getComboxGoods2DetailGoods(cartGoods, cartGoods.getProductGroupList(), false,totalDiscountAmount));
return cartGoodsDetailDtos; return cartGoodsDetailDtos;
} }
...@@ -200,14 +200,14 @@ public class ShoppingCartConvertAdapter { ...@@ -200,14 +200,14 @@ public class ShoppingCartConvertAdapter {
* @param cartGoods * @param cartGoods
* @return * @return
*/ */
public List<ShoppingCartGoodsDto.CartGoodsDetailDto> getComboxGoods2DetailGoods(CartGoods cartGoods, List<CartGoods.ComboxGoods> comboxGoodsList, boolean isFixed) { public List<ShoppingCartGoodsDto.CartGoodsDetailDto> getComboxGoods2DetailGoods(CartGoods cartGoods, List<CartGoods.ComboxGoods> comboxGoodsList, boolean isFixed,Integer totalDiscountAmount) {
List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = new ArrayList<>(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = new ArrayList<>();
if (CollectionUtils.isEmpty(comboxGoodsList)) { if (CollectionUtils.isEmpty(comboxGoodsList)) {
return cartGoodsDetailDtos; return cartGoodsDetailDtos;
} }
int size = comboxGoodsList.size(); int size = comboxGoodsList.size();
//当前套餐(固定搭配)总优惠=原总价-现总价-可选商品优惠价 //当前套餐(固定搭配)总优惠=原总价-现总价-可选商品优惠价
Long totalDiscountAmount = cartGoods.getOriginalAmount() - cartGoods.getAmount() - Long discountAmount = totalDiscountAmount -
cartGoods.getProductGroupList().stream().mapToLong(product -> (product.getOriginalPrice() - product.getFinalPrice()) * product.getQty()).sum() * cartGoods.getQty(); cartGoods.getProductGroupList().stream().mapToLong(product -> (product.getOriginalPrice() - product.getFinalPrice()) * product.getQty()).sum() * cartGoods.getQty();
// 当前套餐(固定搭配)总原价 // 当前套餐(固定搭配)总原价
Long totalOriginalPrice = cartGoods.getProductComboList().stream().mapToLong(cart -> cart.getQty() * cart.getOriginalPrice()).sum() * cartGoods.getQty(); Long totalOriginalPrice = cartGoods.getProductComboList().stream().mapToLong(cart -> cart.getQty() * cart.getOriginalPrice()).sum() * cartGoods.getQty();
...@@ -233,9 +233,9 @@ public class ShoppingCartConvertAdapter { ...@@ -233,9 +233,9 @@ public class ShoppingCartConvertAdapter {
//获取当前套餐固定商品的均摊价格 //获取当前套餐固定商品的均摊价格
if (isFixed) { if (isFixed) {
if (size-- == 1) { if (size-- == 1) {
cartGoodsDetailDto.setTotalDiscountAmount(totalDiscountAmount.intValue() - tempDiscount); cartGoodsDetailDto.setTotalDiscountAmount(discountAmount.intValue() - tempDiscount);
} else { } else {
Long currentDiscountAmount = (qty * comboxGoods.getOriginalPrice() * totalDiscountAmount) / totalOriginalPrice; Long currentDiscountAmount = (qty * comboxGoods.getOriginalPrice() * discountAmount) / totalOriginalPrice;
cartGoodsDetailDto.setTotalDiscountAmount(currentDiscountAmount.intValue()); cartGoodsDetailDto.setTotalDiscountAmount(currentDiscountAmount.intValue());
tempDiscount += currentDiscountAmount.intValue(); tempDiscount += currentDiscountAmount.intValue();
} }
......
...@@ -53,12 +53,10 @@ public class CouponPromotionService implements IPromotionService { ...@@ -53,12 +53,10 @@ public class CouponPromotionService implements IPromotionService {
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) { if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) {
List<CartGoods> tmpCartGoods = cartGoodsList.parallelStream().filter(k -> k.getCartGoodsUid() List<CartGoods> tmpCartGoods = cartGoodsList.parallelStream().filter(k -> k.getCartGoodsUid()
.startsWith(CommonsConstant.COUPON_PREFIX)).collect(Collectors.toList()); .startsWith(CommonsConstant.COUPON_PREFIX)).collect(Collectors.toList());
// 套餐不参与任何券
List<CartGoods> couponCartGoods = cartGoodsList.parallelStream().filter(k -> ObjectUtils.notEqual(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), k.getGoodsType())).collect(Collectors.toList());
// 是否存在商品券 // 是否存在商品券
boolean hasGoodssCoupon = CollectionUtils.isNotEmpty(tmpCartGoods); boolean hasGoodssCoupon = CollectionUtils.isNotEmpty(tmpCartGoods);
// 构建可用不可用优惠券 // 构建可用不可用优惠券
ActivityClassifyCouponBean activityClassifyCouponBean = couponService.availableCoupon(couponCartGoods, couponPromotionVO.getPartnerId() ActivityClassifyCouponBean activityClassifyCouponBean = couponService.availableCoupon(cartGoodsList, couponPromotionVO.getPartnerId()
, couponPromotionVO.getUserId(), couponPromotionVO.getStoreId(), couponPromotionVO.getCouponCode(), hasGoodssCoupon, couponPromotionVO.getOrderType()); , couponPromotionVO.getUserId(), couponPromotionVO.getStoreId(), couponPromotionVO.getCouponCode(), hasGoodssCoupon, couponPromotionVO.getOrderType());
if (Objects.equals(activityClassifyCouponBean, null)) { if (Objects.equals(activityClassifyCouponBean, null)) {
// 构建一个空得订单券信息 // 构建一个空得订单券信息
......
...@@ -517,14 +517,19 @@ public class CouponServiceImpl implements CouponService { ...@@ -517,14 +517,19 @@ public class CouponServiceImpl implements CouponService {
if (StringUtils.isEmpty(cartGood.getSkuId()) && StringUtils.isEmpty(cartGood.getSpuId())) { if (StringUtils.isEmpty(cartGood.getSkuId()) && StringUtils.isEmpty(cartGood.getSpuId())) {
continue; continue;
} }
//剔除套餐的商品
if (ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGood.getGoodsType())) {
continue;
}
Product product = new Product(); Product product = new Product();
product.setProductId(StringUtils.isEmpty(cartGood.getSkuId()) ? cartGood.getSpuId() : cartGood.getSkuId()); product.setProductId(StringUtils.isEmpty(cartGood.getSkuId()) ? cartGood.getSpuId() : cartGood.getSkuId());
// 商品价格 // 商品价格
product.setAmount(Integer.valueOf(cartGood.getOriginalPrice() + "")); product.setAmount(Integer.valueOf(cartGood.getOriginalPrice() + ""));
//剔除套餐的商品
if (ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGood.getGoodsType())) {
Long finalPrice = cartGood.getFinalPrice();
if (CollectionUtils.isNotEmpty(cartGood.getProductGroupList())){
finalPrice+=cartGood.getProductGroupList().stream().mapToLong(group->group.getAmount()*group.getQty()).sum();
}
product.setAmount(finalPrice.intValue());
}
// 数量 // 数量
product.setQuantity(cartGood.getQty()); product.setQuantity(cartGood.getQty());
productList.add(product); productList.add(product);
......
...@@ -98,10 +98,10 @@ public class SetMealServiceImpl implements IPromotionService { ...@@ -98,10 +98,10 @@ public class SetMealServiceImpl implements IPromotionService {
totalDiscountAmount += discountAmount - productGroupDiscountAmount * cartGoods.getQty(); totalDiscountAmount += discountAmount - productGroupDiscountAmount * cartGoods.getQty();
// 添加套餐父商品 // 添加套餐父商品
ShoppingCartGoodsDto.CartGoodsDetailDto parentCartGoods = shoppingCartConvertAdapter.convertCartGoods2DetailGoods(cartGoods, apportionGoods,new HashMap<>()); ShoppingCartGoodsDto.CartGoodsDetailDto parentCartGoods = shoppingCartConvertAdapter.convertCartGoods2DetailGoods(cartGoods, apportionGoods,new HashMap<>());
parentCartGoods.setTotalDiscountAmount(cartGoods.getOriginalAmount().intValue() - cartGoods.getAmount().intValue()); parentCartGoods.setTotalDiscountAmount(parentCartGoods.getTotalDiscountAmount()+ cartGoods.getOriginalAmount().intValue() - cartGoods.getAmount().intValue());
parentCartGoods.getActivityDiscountsDtos().add(getActivityDiscountsDto(discountAmount - productGroupDiscountAmount * cartGoods.getQty())); parentCartGoods.getActivityDiscountsDtos().add(getActivityDiscountsDto(discountAmount - productGroupDiscountAmount * cartGoods.getQty()));
// 添加套餐固定商品&可选商品: 做均摊 // 添加套餐固定商品&可选商品: 做均摊
parentCartGoods.setComboProducts(shoppingCartConvertAdapter.convertComboxGoods2DetailGoods(cartGoods)); parentCartGoods.setComboProducts(shoppingCartConvertAdapter.convertComboxGoods2DetailGoods(cartGoods,parentCartGoods.getTotalDiscountAmount()));
cartGoodsDetailDtos.add(parentCartGoods); cartGoodsDetailDtos.add(parentCartGoods);
} }
} }
......
...@@ -364,7 +364,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService { ...@@ -364,7 +364,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
collectCartGoods.forEach(eachGoods -> { collectCartGoods.forEach(eachGoods -> {
ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto = shoppingCartConvertAdapter.convertCartGoods2DetailGoods(eachGoods, new ArrayList<>(), new HashMap<>()); ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto = shoppingCartConvertAdapter.convertCartGoods2DetailGoods(eachGoods, new ArrayList<>(), new HashMap<>());
cartGoodsDetailDto.setProductType(ProductType.SETMEAL.getCode()); cartGoodsDetailDto.setProductType(ProductType.SETMEAL.getCode());
cartGoodsDetailDto.setComboProducts(shoppingCartConvertAdapter.convertComboxGoods2DetailGoods(eachGoods)); cartGoodsDetailDto.setComboProducts(shoppingCartConvertAdapter.convertComboxGoods2DetailGoods(eachGoods,0));
products.add(cartGoodsDetailDto); products.add(cartGoodsDetailDto);
}); });
} }
......
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