Commit c1dc6c02 by chongfu.liang

Merge branch 'feature/20210308-商品券与换购券增加起用金额字段-lcf'

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/CalculationSharingDiscountService.java
parents 5ccaf17a 8d15fa18
...@@ -90,6 +90,10 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -90,6 +90,10 @@ public class ActivityCalculationDiscountResponseDto {
*/ */
private Map<String, CheckSpqInfoResponseDto> validCouponMap; private Map<String, CheckSpqInfoResponseDto> validCouponMap;
/** /**
* 校验后有效的spqid对应的uuid
*/
private Map<String, List<String>> spqIdToCartUuid;
/**
* 扣减库存 * 扣减库存
*/ */
private List<SubtractStockVO> stocks; private List<SubtractStockVO> stocks;
......
...@@ -88,6 +88,11 @@ public class CalculationSharingDiscountResponseDto { ...@@ -88,6 +88,11 @@ public class CalculationSharingDiscountResponseDto {
*/ */
private Map<String, CheckSpqInfoResponseDto> validCouponMap; private Map<String, CheckSpqInfoResponseDto> validCouponMap;
/** /**
* 校验后有效的spqid对应的uuid
*/
private Map<String, List<String>> spqIdToCartUuid;
/**
* 扣减库存 * 扣减库存
*/ */
private List<SubtractStockVO> stocks; private List<SubtractStockVO> stocks;
......
...@@ -13,6 +13,7 @@ import cn.freemud.enums.*; ...@@ -13,6 +13,7 @@ import cn.freemud.enums.*;
import cn.freemud.service.CouponService; import cn.freemud.service.CouponService;
import cn.freemud.service.IPromotionService; import cn.freemud.service.IPromotionService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
...@@ -42,8 +43,17 @@ public class CouponPromotionService implements IPromotionService { ...@@ -42,8 +43,17 @@ public class CouponPromotionService implements IPromotionService {
@Autowired @Autowired
private CouponService couponService; private CouponService couponService;
@Autowired
private AssortmentSdkService assortmentSdkService;
@Autowired
private ShoppingCartBaseServiceImpl shoppingCartBaseService;
@Override @Override
public void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) { public void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto,
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList,
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto,
ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
// 用户选择了查询优惠券信息 // 用户选择了查询优惠券信息
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()
...@@ -83,6 +93,28 @@ public class CouponPromotionService implements IPromotionService { ...@@ -83,6 +93,28 @@ public class CouponPromotionService implements IPromotionService {
} }
} }
shoppingCartGoodsResponseVo.setCouponDiscount(couponDiscount); shoppingCartGoodsResponseVo.setCouponDiscount(couponDiscount);
Map<String, CheckSpqInfoResponseDto> validCouponMap = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getValidCouponMap();
Map<String, List<String>> spqIdToCartUuid = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getSpqIdToCartUuid();
if (MapUtils.isNotEmpty(validCouponMap) && MapUtils.isNotEmpty(spqIdToCartUuid) && calculationDiscountResult != null){
List<String> activityCodeList = calculationDiscountResult.getCouponDiscounts().stream().map(p -> p.getCouponCode()).collect(Collectors.toList());
for (String spqId : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(spqId);
if (!activityCodeList.contains(sqpInfo.getCouponCode())){ // 表示商品券不够启用金额
List<String> uuidList = spqIdToCartUuid.get(sqpInfo.getCouponCode());
if (CollectionUtils.isNotEmpty(uuidList)){
List<CartGoods> newCartList = cartGoodsList.stream().filter(p -> !uuidList.contains(p.getCartGoodsUid())).collect(Collectors.toList());
assortmentSdkService.setShoppingCart(activityQueryDto.getPartnerId(), activityQueryDto.getStoreId(), userLoginInfoDto.getMemberId(), newCartList, null, null, this.shoppingCartBaseService);
cartGoodsList = newCartList;
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
shoppingCartGoodsResponseVo.setChanged(true);
shoppingCartGoodsResponseVo.setToastMsg("当前购物车金额低于【" + checkSpqInfoResponseDto.getCouponName() + "】优惠券起用金额门槛,券已自动移除购物车");
}
}
}
}
//循环购物车商品券 //循环购物车商品券
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
String couponCode = cartGoods.getCouponCode(); String couponCode = cartGoods.getCouponCode();
...@@ -93,7 +125,6 @@ public class CouponPromotionService implements IPromotionService { ...@@ -93,7 +125,6 @@ public class CouponPromotionService implements IPromotionService {
} }
if (StringUtils.isNotBlank(couponCode)) { if (StringUtils.isNotBlank(couponCode)) {
// 计算优惠信息时,已将券校验过,放在map中 // 计算优惠信息时,已将券校验过,放在map中
Map<String, CheckSpqInfoResponseDto> validCouponMap = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getValidCouponMap();
if (MapUtils.isNotEmpty(validCouponMap)) { if (MapUtils.isNotEmpty(validCouponMap)) {
CheckSpqInfoResponseDto checkSpqInfoResponseDto = null; CheckSpqInfoResponseDto checkSpqInfoResponseDto = null;
if(useCoupon){ if(useCoupon){
......
...@@ -381,7 +381,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -381,7 +381,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, deliveryAmount , deliveryAmount
, ShoppingCartConstant.ADD_AND_UPDATE , ShoppingCartConstant.ADD_AND_UPDATE
, partnerId , partnerId
, null); , null
, userId
, storeId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
} }
...@@ -507,7 +509,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -507,7 +509,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, deliveryAmount , deliveryAmount
, ShoppingCartConstant.ADD_AND_UPDATE , ShoppingCartConstant.ADD_AND_UPDATE
, partnerId , partnerId
, null); , null
, userId
, storeId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
} }
...@@ -667,7 +671,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -667,7 +671,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, deliveryAmount , deliveryAmount
, ShoppingCartConstant.QUERY_INFO , ShoppingCartConstant.QUERY_INFO
, partnerId , partnerId
,shoppingCartInfoRequestVo.getFlag()); ,shoppingCartInfoRequestVo.getFlag()
, userId
, storeId);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,shoppingCartInfoRequestVo.getFlag(),partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,shoppingCartInfoRequestVo.getFlag(),partnerId);
} }
...@@ -1168,6 +1174,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1168,6 +1174,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>();
// 校验后有效的商品券map // 校验后有效的商品券map
Map<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16); Map<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16);
HashMap<String, List<String>> spqIdToCartUuid = new HashMap<>(16);
for (int i = cartGoodsList.size() - 1; i >= 0; i--) { for (int i = cartGoodsList.size() - 1; i >= 0; i--) {
CartGoods cartGoods = cartGoodsList.get(i); CartGoods cartGoods = cartGoodsList.get(i);
String cartGoodsUid = cartGoods.getCartGoodsUid(); String cartGoodsUid = cartGoods.getCartGoodsUid();
...@@ -1201,6 +1208,16 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1201,6 +1208,16 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} else { } else {
validCouponMap.put(couponCode + checkSpqInfoResponseDto.getSkuId(), checkSpqInfoResponseDto); validCouponMap.put(couponCode + checkSpqInfoResponseDto.getSkuId(), checkSpqInfoResponseDto);
} }
if (spqIdToCartUuid.containsKey(couponCode)){
List<String> uuidList = spqIdToCartUuid.get(couponCode);
uuidList.add(cartGoods.getCartGoodsUid());
spqIdToCartUuid.put(couponCode, uuidList);
} else {
List<String> uuidList = new ArrayList<>();
uuidList.add(cartGoods.getCartGoodsUid());
spqIdToCartUuid.put(couponCode, uuidList);
}
validCouponMap.put(couponCode, checkSpqInfoResponseDto);
cartGoods.setName(checkSpqInfoResponseDto.getCouponName()); cartGoods.setName(checkSpqInfoResponseDto.getCouponName());
cartGoods.setSpuName(checkSpqInfoResponseDto.getCouponName()); cartGoods.setSpuName(checkSpqInfoResponseDto.getCouponName());
cartGoods.setStockLimit(checkSpqInfoResponseDto.isStockLimit()); cartGoods.setStockLimit(checkSpqInfoResponseDto.isStockLimit());
...@@ -1262,12 +1279,14 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1262,12 +1279,14 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// 返回成功 // 返回成功
if (activityCalculationDiscountResponseDto != null && StringUtils.equals(activityCalculationDiscountResponseDto.getStatusCode(), ResponseCodeConstant.RESPONSE_SUCCESS_STR)) { if (activityCalculationDiscountResponseDto != null && StringUtils.equals(activityCalculationDiscountResponseDto.getStatusCode(), ResponseCodeConstant.RESPONSE_SUCCESS_STR)) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult result = activityCalculationDiscountResponseDto.getResult(); ActivityCalculationDiscountResponseDto.CalculationDiscountResult result = activityCalculationDiscountResponseDto.getResult();
List<Integer> activityTypes = result.getDiscounts().stream().map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount::getType).collect(Collectors.toList()); List<Integer> activityTypes = result.getDiscounts().stream().map(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount::getType).collect(Collectors.toList());
if (activityTypes.contains(221)) { if (activityTypes.contains(221)) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get(); ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
convert2SendPoint(result, discountDTO); convert2SendPoint(result, discountDTO);
} }
result.setValidCouponMap(validCouponMap); result.setValidCouponMap(validCouponMap);
result.setSpqIdToCartUuid(spqIdToCartUuid);
result.setDeliveryAmount(distributionFee); result.setDeliveryAmount(distributionFee);
result.setDistributionFee(result.getDistributionFee()); result.setDistributionFee(result.getDistributionFee());
return result; return result;
......
...@@ -68,7 +68,9 @@ public class CalculationSharingCartService { ...@@ -68,7 +68,9 @@ public class CalculationSharingCartService {
, Long deliveryAmount , Long deliveryAmount
, String opt , String opt
, String partnerId , String partnerId
, Integer flag) { , Integer flag
, String userId
, String storeId) {
/** /**
* 用促销价格初始化购物车行记录成交价 * 用促销价格初始化购物车行记录成交价
...@@ -78,7 +80,7 @@ public class CalculationSharingCartService { ...@@ -78,7 +80,7 @@ public class CalculationSharingCartService {
/** /**
* 可用券及券折扣 * 可用券及券折扣
*/ */
promotionSharingService.updateShoppingCartGoodsDiscount(discountResult, cartGoodsList, shoppingCartGoodsResponseVo, couponPromotionVO,shoppingCartInfoRequestVo); promotionSharingService.updateShoppingCartGoodsDiscount(discountResult, cartGoodsList, shoppingCartGoodsResponseVo, couponPromotionVO,shoppingCartInfoRequestVo, userId, partnerId, storeId);
/** /**
* 满减处理 * 满减处理
......
...@@ -8,6 +8,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto; ...@@ -8,6 +8,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint; import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo; import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.BizServiceException; import cn.freemud.interceptor.BizServiceException;
...@@ -30,10 +31,7 @@ import org.apache.commons.lang.StringUtils; ...@@ -30,10 +31,7 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -82,6 +80,7 @@ public class CalculationSharingDiscountService { ...@@ -82,6 +80,7 @@ public class CalculationSharingDiscountService {
HashMap<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16); HashMap<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16);
List<CalculationSharingDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>(); List<CalculationSharingDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>();
int cartSize = cartGoodsList.size() - 1; int cartSize = cartGoodsList.size() - 1;
HashMap<String, List<String>> spqIdToCartUuid = new HashMap<>(16);
for (int i = cartSize; i >= 0; i--) { for (int i = cartSize; i >= 0; i--) {
CartGoods cartGoods = cartGoodsList.get(i); CartGoods cartGoods = cartGoodsList.get(i);
if (StringUtils.isBlank(cartGoods.getCouponCode()) && !cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)) {//非商品券 if (StringUtils.isBlank(cartGoods.getCouponCode()) && !cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)) {//非商品券
...@@ -113,6 +112,16 @@ public class CalculationSharingDiscountService { ...@@ -113,6 +112,16 @@ public class CalculationSharingDiscountService {
} else{ } else{
validCouponMap.put(couponCode, checkSpqInfo); validCouponMap.put(couponCode, checkSpqInfo);
} }
if (spqIdToCartUuid.containsKey(couponCode)){
List<String> uuidList = spqIdToCartUuid.get(couponCode);
uuidList.add(cartGoods.getCartGoodsUid());
spqIdToCartUuid.put(couponCode, uuidList);
} else {
List<String> uuidList = new ArrayList<>();
uuidList.add(cartGoods.getCartGoodsUid());
spqIdToCartUuid.put(couponCode, uuidList);
}
validCouponMap.put(couponCode, checkSpqInfo);
cartGoods.setName(checkSpqInfo.getCouponName()); cartGoods.setName(checkSpqInfo.getCouponName());
cartGoods.setSpuName(checkSpqInfo.getCouponName()); cartGoods.setSpuName(checkSpqInfo.getCouponName());
cartGoods.setStockLimit(checkSpqInfo.isStockLimit()); cartGoods.setStockLimit(checkSpqInfo.isStockLimit());
...@@ -205,6 +214,7 @@ public class CalculationSharingDiscountService { ...@@ -205,6 +214,7 @@ public class CalculationSharingDiscountService {
convert2SendPoint(result, discountDTO); convert2SendPoint(result, discountDTO);
} }
result.setValidCouponMap(validCouponMap); result.setValidCouponMap(validCouponMap);
result.setSpqIdToCartUuid(spqIdToCartUuid);
result.setDeliveryAmount(deliveryAmount); result.setDeliveryAmount(deliveryAmount);
result.setDistributionFee(result.getDistributionFee()); result.setDistributionFee(result.getDistributionFee());
return result; return result;
......
...@@ -9,7 +9,9 @@ import cn.freemud.entities.vo.*; ...@@ -9,7 +9,9 @@ import cn.freemud.entities.vo.*;
import cn.freemud.enums.CouponFlag; import cn.freemud.enums.CouponFlag;
import cn.freemud.enums.GoodsTypeEnum; import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.service.CouponService; import cn.freemud.service.CouponService;
import cn.freemud.service.impl.AssortmentSdkService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
...@@ -38,11 +40,18 @@ public class CouponSharingService { ...@@ -38,11 +40,18 @@ public class CouponSharingService {
@Autowired @Autowired
private CouponService couponService; private CouponService couponService;
@Autowired
private AssortmentSdkService assortmentSdkService;
@Autowired
private ShoppingCartBaseServiceImpl shoppingCartBaseService;
public void updateShoppingCartGoodsDiscount(CalculationSharingDiscountResponseDto.CalculationDiscountResult calculationDiscountResult public void updateShoppingCartGoodsDiscount(CalculationSharingDiscountResponseDto.CalculationDiscountResult calculationDiscountResult
, List<CartGoods> cartGoodsList , List<CartGoods> cartGoodsList
, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo , ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo
, CouponPromotionVO couponPromotionVO , CouponPromotionVO couponPromotionVO
,ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) { ,ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, String userId, String partnerId, String storeId) {
// 用户选择了查询优惠券信息 // 用户选择了查询优惠券信息
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 -> (StringUtils.isNotBlank(k.getCouponCode()) || k.getCartGoodsUid() List<CartGoods> tmpCartGoods = cartGoodsList.parallelStream().filter(k -> (StringUtils.isNotBlank(k.getCouponCode()) || k.getCartGoodsUid()
...@@ -83,6 +92,27 @@ public class CouponSharingService { ...@@ -83,6 +92,27 @@ public class CouponSharingService {
if (first!=null) couponDiscount = first.getDiscount().longValue(); if (first!=null) couponDiscount = first.getDiscount().longValue();
} }
shoppingCartGoodsResponseVo.setCouponDiscount(couponDiscount); shoppingCartGoodsResponseVo.setCouponDiscount(couponDiscount);
Map<String, CheckSpqInfoResponseDto> validCouponMap = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getValidCouponMap();
Map<String, List<String>> spqIdToCartUuid = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getSpqIdToCartUuid();
if (MapUtils.isNotEmpty(validCouponMap) && MapUtils.isNotEmpty(spqIdToCartUuid) && calculationDiscountResult != null){
List<String> activityCodeList = calculationDiscountResult.getDiscounts().stream().map(p -> p.getActivityCode()).collect(Collectors.toList());
for (String spqId : validCouponMap.keySet()) {
CheckSpqInfoResponseDto sqpInfo = validCouponMap.get(spqId);
if (!activityCodeList.contains(sqpInfo.getCouponCode())){ // 表示商品券不够启用金额
List<String> uuidList = spqIdToCartUuid.get(sqpInfo.getCouponCode());
if (CollectionUtils.isNotEmpty(uuidList)){
List<CartGoods> newCartList = cartGoodsList.stream().filter(p -> !uuidList.contains(p.getCartGoodsUid())).collect(Collectors.toList());
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, newCartList, null, null, this.shoppingCartBaseService);
cartGoodsList = newCartList;
CheckSpqInfoResponseDto checkSpqInfoResponseDto = validCouponMap.get(spqId);
shoppingCartGoodsResponseVo.setChanged(true);
shoppingCartGoodsResponseVo.setToastMsg("当前购物车金额低于【" + checkSpqInfoResponseDto.getCouponName() + "】优惠券起用金额门槛,券已自动移除购物车");
}
}
}
}
//循环购物车商品券 //循环购物车商品券
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
if (StringUtils.isNotBlank(cartGoods.getCouponCode()) || cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)) { if (StringUtils.isNotBlank(cartGoods.getCouponCode()) || cartGoods.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX)) {
...@@ -93,7 +123,6 @@ public class CouponSharingService { ...@@ -93,7 +123,6 @@ public class CouponSharingService {
useCoupon = false; useCoupon = false;
} }
// 计算优惠信息时,已将券校验过,放在map中 // 计算优惠信息时,已将券校验过,放在map中
Map<String, CheckSpqInfoResponseDto> validCouponMap = calculationDiscountResult == null ? new HashMap<>() : calculationDiscountResult.getValidCouponMap();
if (MapUtils.isNotEmpty(validCouponMap)) { if (MapUtils.isNotEmpty(validCouponMap)) {
CheckSpqInfoResponseDto checkSpqInfoResponseDto; CheckSpqInfoResponseDto checkSpqInfoResponseDto;
if(useCoupon){ if(useCoupon){
......
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