Commit 56398b71 by 周晓航

Merge branch 'feature/20210609-v2.0.34-购物车支持配送券ID1030707-周晓航' into qa

parents 698b93ad 2ee33af0
...@@ -28,7 +28,8 @@ public class CouponPromotionVO { ...@@ -28,7 +28,8 @@ public class CouponPromotionVO {
private String unChooseCouponCode; private String unChooseCouponCode;
// 用于存放 优惠券数组 兼并老版本的 couponCode // 用于存放 优惠券数组 兼并老版本的 couponCode
private Set<String> couponCodes = new HashSet<>(); private Set<String> couponCodes = new HashSet<>();
// 用于调用会员获取可用 优惠券问题
private Long deliveryAmount;
public void setCouponCode(String couponCode) { public void setCouponCode(String couponCode) {
this.couponCode = couponCode; this.couponCode = couponCode;
this.couponCodes.add(couponCode); this.couponCodes.add(couponCode);
......
...@@ -35,4 +35,6 @@ public class CouponAvailableReqVo { ...@@ -35,4 +35,6 @@ public class CouponAvailableReqVo {
private String redeemChannel; private String redeemChannel;
//购物车商品列表 //购物车商品列表
private List<Product> productList; private List<Product> productList;
private Integer freightAmount;
} }
...@@ -482,14 +482,19 @@ public class CouponServiceImpl implements CouponService { ...@@ -482,14 +482,19 @@ public class CouponServiceImpl implements CouponService {
couponCodes.add(memberCoupon.getCouponCode()); couponCodes.add(memberCoupon.getCouponCode());
} }
}); });
List<CouponStateVo> couponStateList = buildAvailiableCoupons(cartGoods, partnerId, storeId, couponCodes, isNew,appId,menuType); Integer freightAmount = null;
if (couponPromotionVO !=null) {
Long deliveryAmount = couponPromotionVO.getDeliveryAmount();
freightAmount = deliveryAmount ==null?null: deliveryAmount.intValue();
}
List<CouponStateVo> couponStateList = buildAvailiableCoupons(cartGoods, partnerId, storeId, couponCodes, isNew,appId,menuType,freightAmount);
if (CollectionUtils.isNotEmpty(couponStateList)) { if (CollectionUtils.isNotEmpty(couponStateList)) {
return returnSuccessAvailiableCoupons(couponPromotionVO == null ? new HashSet<>() : couponPromotionVO.getCouponCodes(), hasGoodsCoupon, availableCouponResponseVo, usableCoupons, disableCoupons, memberCouponMap, couponStateList, chooseCouponCode); return returnSuccessAvailiableCoupons(couponPromotionVO == null ? new HashSet<>() : couponPromotionVO.getCouponCodes(), hasGoodsCoupon, availableCouponResponseVo, usableCoupons, disableCoupons, memberCouponMap, couponStateList, chooseCouponCode);
} }
return null; return null;
} }
private List<CouponStateVo> buildAvailiableCoupons(List<CartGoods> cartGoods, String partnerId, String storeId, List<String> couponCodes, int isNew,String appId,String menuType) { private List<CouponStateVo> buildAvailiableCoupons(List<CartGoods> cartGoods, String partnerId, String storeId, List<String> couponCodes, int isNew,String appId,String menuType,Integer freightAmount) {
String appSecret = getAppSecret(partnerId); String appSecret = getAppSecret(partnerId);
// 最大15一提交 // 最大15一提交
int maxNum = 15; int maxNum = 15;
...@@ -500,6 +505,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -500,6 +505,7 @@ public class CouponServiceImpl implements CouponService {
couponAvailableReqVo.setMerchantId(partnerId); couponAvailableReqVo.setMerchantId(partnerId);
couponAvailableReqVo.setStoreId(storeId); couponAvailableReqVo.setStoreId(storeId);
couponAvailableReqVo.setAppId(appId); couponAvailableReqVo.setAppId(appId);
couponAvailableReqVo.setFreightAmount(freightAmount);
List<Product> productList = Lists.newArrayList(); List<Product> productList = Lists.newArrayList();
// 优惠券优先级最高,根据商品原价做计算 // 优惠券优先级最高,根据商品原价做计算
// 订单金额 // 订单金额
......
...@@ -1696,6 +1696,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1696,6 +1696,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*/ */
private void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList private void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList
, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, UserLoginInfoDto userLoginInfoDto,String menuType,Long deliveryAmount) { , ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, UserLoginInfoDto userLoginInfoDto,String menuType,Long deliveryAmount) {
if (couponPromotionVO !=null) {
couponPromotionVO.setDeliveryAmount(deliveryAmount);
}
//默认计算优惠 //默认计算优惠
DefaultPromotionService defaultPromotionService = (DefaultPromotionService) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.DEFAULT_PROMOTION); DefaultPromotionService defaultPromotionService = (DefaultPromotionService) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.DEFAULT_PROMOTION);
defaultPromotionService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo); defaultPromotionService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
......
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