Commit eb541a94 by xiaoer.li@freemud.com

促销查询增加cartUid

parent 75c1ee68
......@@ -84,6 +84,7 @@ public class ShoppingCartConvertAdapter {
public ShoppingCartGoodsDto.CartGoodsDetailDto convertCartGoods2DetailGoods(CartGoods cartGoods, List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods> apportionGoodsList, Map<String, String> duplicateGoodsMap) {
// 设置基础信息
ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto = new ShoppingCartGoodsDto.CartGoodsDetailDto();
cartGoodsDetailDto.setCartGoodsUid(cartGoods.getCartGoodsUid());
cartGoodsDetailDto.setSpuId(cartGoods.getSpuId());
cartGoodsDetailDto.setSpuName(cartGoods.getSpuName());
cartGoodsDetailDto.setSkuId(StringUtils.isEmpty(cartGoods.getSkuId()) ? cartGoods.getSpuId() : cartGoods.getSkuId());
......
......@@ -87,6 +87,10 @@ public class ActivityCalculationDiscountRequestDto {
*/
private String goodsId;
/**
* 购物车行uid
*/
private String cartGoodsUid;
/**
* 商品品类
*/
private String category;
......
......@@ -347,6 +347,10 @@ public class ActivityCalculationDiscountResponseDto {
private Integer apportionAmount;
private List<ApportionDetails> apportionDetails;
/**
* 购物车行记录
*/
private String cartGoodsUid;
@Data
public static class ApportionDetails {
......
......@@ -125,6 +125,10 @@ public class ShoppingCartGoodsDto {
@Data
public static class CartGoodsDetailDto {
/**
* 购物车行uid
*/
private String cartGoodsUid;
/**
* spuId
*/
private String spuId;
......
......@@ -743,7 +743,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String cartGoodsUid = cartGoods.getCartGoodsUid();
// 商品不是商品券
if (!cartGoodsUid.startsWith(CommonsConstant.COUPON_PREFIX)) {
this.addCalculationDiscountGoods(calculationDiscountGoodsList, cartGoods.getGoodsId(), cartGoods.getQty(), cartGoods.getFinalPrice(),cartGoods.getMemberDiscount());
this.addCalculationDiscountGoods(calculationDiscountGoodsList, cartGoods.getGoodsId(), cartGoods.getQty(), cartGoods.getFinalPrice(), cartGoods.getMemberDiscount(), cartGoodsUid);
}
// 商品是商品券
else {
......@@ -767,13 +767,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupons.add(coupon);
// 添加商品券代表的商品
String goodsId = StringUtils.isEmpty(checkSpqInfoResponseDto.getSkuId()) ? checkSpqInfoResponseDto.getSpuId() : checkSpqInfoResponseDto.getSkuId();
this.addCalculationDiscountGoods(calculationDiscountGoodsList, goodsId, 1, checkSpqInfoResponseDto.getPrice(),100);
this.addCalculationDiscountGoods(calculationDiscountGoodsList, goodsId, 1, checkSpqInfoResponseDto.getPrice(), 100, cartGoodsUid);
}
}
// 当加价购商品不为空时
if (CollectionUtils.isNotEmpty(sendGoodsList)) {
for (ShoppingCartInfoRequestVo.SendGoods sendGoods : sendGoodsList) {
this.addCalculationDiscountGoods(calculationDiscountGoodsList, sendGoods.getGoodsId(), sendGoods.getQty(), sendGoods.getOriginalPrice(),100);
this.addCalculationDiscountGoods(calculationDiscountGoodsList, sendGoods.getGoodsId(), sendGoods.getQty(), sendGoods.getOriginalPrice(), 100, "");
}
}
calculationDiscountGoodsList.removeIf(calculationDiscountGoods -> (calculationDiscountGoods.getGoodsQuantity().equals(0)));
......@@ -823,9 +823,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* @param originalPrice
*/
private void addCalculationDiscountGoods(List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList,
String goodsId, Integer goodsQuantity, Long originalPrice,Integer memberDiscount) {
String goodsId, Integer goodsQuantity, Long originalPrice, Integer memberDiscount, String cartGoodsUid) {
ActivityCalculationDiscountRequestDto.CalculationDiscountGoods calculationDiscountGoods = new ActivityCalculationDiscountRequestDto.CalculationDiscountGoods();
calculationDiscountGoods.setGoodsId(goodsId);
calculationDiscountGoods.setCartGoodsUid(cartGoodsUid);
calculationDiscountGoods.setGoodsQuantity(goodsQuantity);
calculationDiscountGoods.setOriginalPrice(originalPrice);
calculationDiscountGoods.setMemberDiscount(memberDiscount);
......
......@@ -47,7 +47,7 @@ public class XyDiscountServiceImpl implements IPromotionService {
if (apportionGoodsDetail != null && apportionGoodsDetail.size() > 0) {
for (CartGoods cartGoods : cartGoodsList) {
for (ApportionGoodsDetail detail : apportionGoodsDetail) {
if (detail.getGoodsId().equals(cartGoods.getGoodsId())) {
if (detail.getCartGoodsUid().equals(cartGoods.getCartGoodsUid())) {
cartGoods.setAmount(cartGoods.getAmount() - detail.getActivityApportionAmount());
}
}
......@@ -77,7 +77,7 @@ public class XyDiscountServiceImpl implements IPromotionService {
if (apportionGoodsDetail != null && apportionGoodsDetail.size() > 0) {
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : shoppingCartGoodsDto.getProducts()) {
for (ApportionGoodsDetail detail : apportionGoodsDetail) {
if (detail.getGoodsId().equals(product.getSkuId())) {
if (detail.getCartGoodsUid().equals(product.getCartGoodsUid())) {
product.setTotalDiscountAmount(product.getTotalDiscountAmount() + detail.getActivityApportionAmount().intValue());
List<ActivityDiscountsDto> activityDiscountsDtoList = new ArrayList<>();
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
......@@ -131,6 +131,7 @@ public class XyDiscountServiceImpl implements IPromotionService {
detail.setActivityCode(apportionDetail.getActivityCode());
detail.setActivityName(apportionDetail.getActivityName());
detail.setGoodsId(apportionGood.getGoodsId());
detail.setCartGoodsUid(apportionGood.getCartGoodsUid());
apportionGoodsDetail.add(detail);
}
}
......@@ -153,6 +154,10 @@ public class XyDiscountServiceImpl implements IPromotionService {
*/
private Long activityApportionAmount;
private String goodsId;
/**
* 购物车行uid
*/
private String cartGoodsUid;
}
......
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