Commit 3d5d4c2f by 周晓航

配送券逻辑书写

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent afb45369
...@@ -640,10 +640,13 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -640,10 +640,13 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
String partnerId = shoppingCartInfoRequestVo.getPartnerId(); String partnerId = shoppingCartInfoRequestVo.getPartnerId();
String storeId = shoppingCartInfoRequestVo.getShopId(); String storeId = shoppingCartInfoRequestVo.getShopId();
String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId(); String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode();
// 兼容老购物车
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (!CollectionUtils.isEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream()
.filter(couponCode -> !couponCode.getCouponType().equals(CouponTypeEnum.TYPE_5.getCode())) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode !=null) { if (otherCouponCode !=null) {
// 由于对下面逻辑 不是很清楚 并且修改了 优惠券传参规则 所以直接设置一遍 防止出错 // 由于对下面逻辑 不是很清楚 并且修改了 优惠券传参规则 所以直接设置一遍 防止出错
...@@ -695,19 +698,26 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -695,19 +698,26 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
// 当couponCode不为空时,需参与价格计算 // 当couponCode不为空时,需参与价格计算
if (StringUtils.isNotEmpty(couponCode)) {
ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon coupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(couponCode);
coupon.setActivityCode(activityCode);
coupons.add(coupon);
}
// 配送券也加入 // 配送券也加入
if (!CollectionUtils.isEmpty(couponCodes)) { if (!CollectionUtils.isEmpty(couponCodes)) {
// 包含 couponCode 就重新设置 // 包含 couponCode 就重新设置
couponCodes.forEach(shoppingCouponCode -> { couponCodes.forEach(shoppingCouponCode -> {
ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon coupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon(); if (!shoppingCouponCode.getCouponCode().equals(couponCode)) {
coupon.setCode(shoppingCouponCode.getCouponCode()); ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon coupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon();
coupon.setActivityCode(shoppingCouponCode.getActivityCode()); coupon.setCode(shoppingCouponCode.getCouponCode());
coupon.setCouponType(shoppingCouponCode.getCouponType()); coupon.setActivityCode(shoppingCouponCode.getActivityCode());
coupons.add(coupon); coupon.setCouponType(shoppingCouponCode.getCouponType());
coupons.add(coupon);
}
}); });
} }
if (CollectionUtils.isNotEmpty(sendGoodsList)) { if (CollectionUtils.isNotEmpty(sendGoodsList)) {
processSendGoods(sendGoodsList, partnerId, storeId , shoppingCartInfoRequestVo.getMenuType() , shoppingCartBaseService); processSendGoods(sendGoodsList, partnerId, storeId , shoppingCartInfoRequestVo.getMenuType() , shoppingCartBaseService);
} else { } else {
......
...@@ -529,10 +529,12 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -529,10 +529,12 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
String partnerId = shoppingCartInfoRequestVo.getPartnerId(); String partnerId = shoppingCartInfoRequestVo.getPartnerId();
String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId(); String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId();
String storeId = shoppingCartInfoRequestVo.getShopId(); String storeId = shoppingCartInfoRequestVo.getShopId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (!CollectionUtils.isEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream()
.filter(couponCode -> !couponCode.getCouponType().equals(CouponTypeEnum.TYPE_5.getCode())) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode !=null) { if (otherCouponCode !=null) {
// 由于对下面逻辑 不是很清楚 并且修改了 优惠券传参规则 所以直接设置一遍 防止出错 // 由于对下面逻辑 不是很清楚 并且修改了 优惠券传参规则 所以直接设置一遍 防止出错
...@@ -568,7 +570,12 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -568,7 +570,12 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService); assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService);
} }
ArrayList<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); ArrayList<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
if (StringUtils.isNotEmpty(couponCode)) {
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(couponCode);
coupon.setActivityCode(activityCode);
coupons.add(coupon);
}
buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes()); buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes());
......
...@@ -990,10 +990,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -990,10 +990,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String partnerId = shoppingCartInfoRequestVo.getPartnerId(); String partnerId = shoppingCartInfoRequestVo.getPartnerId();
String storeId = shoppingCartInfoRequestVo.getShopId(); String storeId = shoppingCartInfoRequestVo.getShopId();
String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId(); String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode();
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes(); List<ShoppingCartInfoRequestVo.couponCode> couponCodes = shoppingCartInfoRequestVo.getCouponCodes();
if (!CollectionUtils.isEmpty(couponCodes)) { if (Objects.isNull(couponCode) && CollectionUtils.isNotEmpty(couponCodes)) {
ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream() ShoppingCartInfoRequestVo.couponCode otherCouponCode = couponCodes.stream()
.filter(couponCode -> !couponCode.getCouponType().equals(CouponTypeEnum.TYPE_5.getCode())) .filter(couponCode1 -> couponCode1.getCouponType()!=null && couponCode1.getCouponType().compareTo(CouponTypeEnum.TYPE_5.getCode())!=0)
.findFirst().orElse(null); .findFirst().orElse(null);
if (otherCouponCode !=null) { if (otherCouponCode !=null) {
// 由于对下面逻辑 不是很清楚 并且修改了 优惠券传参规则 所以直接设置一遍 防止出错 // 由于对下面逻辑 不是很清楚 并且修改了 优惠券传参规则 所以直接设置一遍 防止出错
...@@ -1068,6 +1070,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1068,6 +1070,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (grayPush(partnerId,storeId,"2")) { if (grayPush(partnerId,storeId,"2")) {
List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
// 当couponCodes不为空时,需参与价格计算,同时排除单券入参 // 当couponCodes不为空时,需参与价格计算,同时排除单券入参
if (StringUtils.isNotEmpty(couponCode)) {
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(couponCode);
coupon.setActivityCode(activityCode);
coupons.add(coupon);
}
buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes()); buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes());
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType
...@@ -1110,13 +1118,21 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1110,13 +1118,21 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} }
else { else {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
if (StringUtils.isNotEmpty(couponCode)) {
ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon coupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(couponCode);
coupon.setActivityCode(activityCode);
coupons.add(coupon);
}
if (!CollectionUtils.isEmpty(couponCodes)) { if (!CollectionUtils.isEmpty(couponCodes)) {
couponCodes.forEach(shoppingCouponCode -> { couponCodes.forEach(shoppingCouponCode -> {
ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon coupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon(); if (!shoppingCouponCode.getCouponCode().equals(couponCode)) {
coupon.setCode(shoppingCouponCode.getCouponCode()); ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon coupon = new ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon();
coupon.setActivityCode(shoppingCouponCode.getActivityCode()); coupon.setCode(shoppingCouponCode.getCouponCode());
coupon.setCouponType(shoppingCouponCode.getCouponType()); coupon.setActivityCode(shoppingCouponCode.getActivityCode());
coupons.add(coupon); coupon.setCouponType(shoppingCouponCode.getCouponType());
coupons.add(coupon);
}
}); });
} }
......
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