Commit 1d63d696 by xiaoer.li@freemud.com

Merge remote-tracking branch 'remotes/origin/feature/促销算价基于最新master的分支' into qa

parents e2db6760 1fcb6fce
......@@ -337,7 +337,7 @@ public class CalculationCommonService {
cartGoodsDetailDto.setOriginalPrice(cartGoods.getOriginalPrice());
if (calculationGoods!=null) {
cartGoodsDetailDto.setTotalDiscountAmount(calculationGoods.getDiscountAmount().intValue());
cartGoodsDetailDto.setOriginalPrice(calculationGoods.getOriginalPrice());
//cartGoodsDetailDto.setOriginalPrice(calculationGoods.getOriginalPrice());
}
else {
cartGoodsDetailDto.setTotalDiscountAmount(cartGoods.getOriginalAmount().intValue() - cartGoods.getAmount().intValue());
......@@ -413,9 +413,10 @@ public class CalculationCommonService {
cartGoodsDetailDto.setTotalDiscountAmount(cartGoodsDetailDto.getTotalDiscountAmount() + discountSum);
originalPriceSum = 0L;
for (ShoppingCartGoodsDto.CartGoodsDetailDto goodsDetailDto : groupList) {
originalPriceSum += goodsDetailDto.getOriginalPrice() * (goodsDetailDto.getQty() / cartGoods.getQty());
//originalPriceSum += goodsDetailDto.getOriginalPrice() * (goodsDetailDto.getQty() / cartGoods.getQty());
//originalPriceSum += goodsDetailDto.getOriginalPrice() * cartGoods.getQty();
}
cartGoodsDetailDto.setOriginalPrice(cartGoodsDetailDto.getOriginalPrice()+originalPriceSum);
//cartGoodsDetailDto.setOriginalPrice(cartGoodsDetailDto.getOriginalPrice()+originalPriceSum);
}
cartGoodsDetailDto.setComboProducts(combs);
List<ShoppingCartGoodsDto.CartGoodsDetailDto.CartGoodsExtra> cartGoodsExtras = BeanUtil.convertBeans(cartGoods.getExtra(), ShoppingCartGoodsDto.CartGoodsDetailDto.CartGoodsExtra::new);
......
......@@ -91,31 +91,31 @@ public class CalculationSharingDiscountService {
if (null == checkSpqInfo) {
cartGoodsList.remove(i);
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, null, null, this.shoppingCartBaseService);
//跑业务异常 商品券不存
////跑业务异常 商品券不存
//if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
// throw new ServiceException(ResponseResult.SHOPPING_CART_HG_COUPON_NOT_EXIST);
//} else {
// throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST);
//}
} else {
validCouponMap.put(spqId, checkSpqInfo);
cartGoods.setName(checkSpqInfo.getCouponName());
cartGoods.setSpuName(checkSpqInfo.getCouponName());
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(checkSpqInfo.getCouponCode());
coupon.setActivityCode(checkSpqInfo.getActiveCode());
log.info("coupons={},coupon={}", JSON.toJSONString(coupons), JSON.toJSONString(coupon));
coupons.add(coupon);
// 添加商品券代表的商品放入促销
String goodsId = StringUtils.isNotBlank(checkSpqInfo.getSkuId()) ? checkSpqInfo.getSkuId() : checkSpqInfo.getSpuId();
if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_HG_COUPON_NOT_EXIST);
this.setSpqDiscountGoods(calculationDiscountGoodsList, cartGoods, goodsId, checkSpqInfo.getPrice(), cartGoods.getSpuId());
} else {
throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST);
this.setSpqDiscountGoods(calculationDiscountGoodsList, cartGoods, goodsId, checkSpqInfo.getPrice());
}
}
validCouponMap.put(spqId,checkSpqInfo);
cartGoods.setName(checkSpqInfo.getCouponName());
cartGoods.setSpuName(checkSpqInfo.getCouponName());
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(checkSpqInfo.getCouponCode());
coupon.setActivityCode(checkSpqInfo.getActiveCode());
log.info("coupons={},coupon={}", JSON.toJSONString(coupons), JSON.toJSONString(coupon));
coupons.add(coupon);
// 添加商品券代表的商品放入促销
String goodsId = StringUtils.isNotBlank(checkSpqInfo.getSkuId()) ? checkSpqInfo.getSkuId(): checkSpqInfo.getSpuId();
if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
this.setSpqDiscountGoods(calculationDiscountGoodsList,cartGoods,goodsId,checkSpqInfo.getPrice(),cartGoods.getSpuId());
} else {
this.setSpqDiscountGoods(calculationDiscountGoodsList,cartGoods,goodsId,checkSpqInfo.getPrice());
}
}
}
......
......@@ -121,7 +121,7 @@ public class CalculationSharingEquallyService {
/**
* 加价购商品
*/
additionSharingService.equally(shoppingCartInfoRequestVo, shoppingCartGoodsDto, discountResult, premiumExchangeActivity);
additionSharingService.equally(shoppingCartInfoRequestVo, shoppingCartGoodsDto, discountResult, premiumExchangeActivity, shoppingCartGoodsResponseVo);
/**
* 积分抵扣
*/
......
......@@ -231,7 +231,8 @@ public class AdditionSharingService {
public void equally(ShoppingCartInfoRequestVo shoppingCartInfoRequestVo
, ShoppingCartGoodsDto shoppingCartGoodsDto
, CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult
, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) {
, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity
, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo) {
if (discountResult == null || CollectionUtils.isEmpty(discountResult.getGoods()) || premiumExchangeActivity == null || CollectionUtils.isEmpty(premiumExchangeActivity.getProducts())) {
return;
......@@ -252,12 +253,12 @@ public class AdditionSharingService {
if (getProductsVoMap.isEmpty()) {
throw new ServiceException(ResponseResult.PREMIUM_EXCHANGE_ACTIVITY_NOT_EXIST);
}
log.info("getProductsVoMap:{}", JSON.toJSONString(getProductsVoMap));
// 获取计算返回的价格
Long originalTotalAmount = shoppingCartGoodsDto.getOriginalTotalAmount();
Long totalAmount = shoppingCartGoodsDto.getTotalAmount();
Long totalDiscountAmount = shoppingCartGoodsDto.getTotalDiscountAmount();
Long originalTotalAmount = shoppingCartGoodsResponseVo.getOriginalTotalAmount();
//Long totalAmount = shoppingCartGoodsDto.getTotalAmount();
//Long totalDiscountAmount = shoppingCartGoodsDto.getTotalDiscountAmount();
//加价换购活动总优惠
Long currenttotalDiscountAmount = 0L;
for (CreateOrderVo.PremiumExchangeActivity.Product product : premiumExchangeActivity.getProducts()) {
String goodsId = StringUtils.isEmpty(product.getSkuId()) ? product.getSpuId() : product.getSkuId();
......@@ -266,15 +267,15 @@ public class AdditionSharingService {
continue;
}
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods hgGood = manyHgs.stream().filter(d -> goodsId.equals(d.getGoodsId())).findFirst().orElse(null);
if (hgGood==null) {
if (hgGood == null) {
continue;
}
ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto = this.getCartGoodsDetailDto(product, getProductsVo, goodsId, hgGood);
shoppingCartGoodsDto.getProducts().add(cartGoodsDetailDto);
//2.计算优惠价格
originalTotalAmount += getProductsVo.getFinalPrice();
totalDiscountAmount += cartGoodsDetailDto.getTotalDiscountAmount();
currenttotalDiscountAmount += cartGoodsDetailDto.getTotalDiscountAmount();
//totalDiscountAmount += cartGoodsDetailDto.getTotalDiscountAmount();
//currenttotalDiscountAmount += cartGoodsDetailDto.getTotalDiscountAmount();
// 3.设置商品行优惠明细
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount sendActivity = hgGood.getDiscounts().get(0);
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
......@@ -318,6 +319,4 @@ public class AdditionSharingService {
cartGoodsDetailDto.setExtraList(cartGoodsExtraList);
return cartGoodsDetailDto;
}
}
\ No newline at end of file
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