Commit 6e6fe346 by 刘鹏飞

coco批量使用优惠券需要有下标

parent cfce4c7e
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<version>1.0.0</version> <version>1.0.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>1.6.8-SNAPSHOT</version> <version>1.7.3-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<dependencies> <dependencies>
......
...@@ -89,6 +89,11 @@ public class CalculationSharingDiscountRequestDto { ...@@ -89,6 +89,11 @@ public class CalculationSharingDiscountRequestDto {
* 活动号 * 活动号
*/ */
private String activityCode; private String activityCode;
/**
* 下标
*/
private Integer useIndex;
} }
@Data @Data
......
...@@ -191,6 +191,11 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -191,6 +191,11 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
* 活动号 * 活动号
*/ */
private String activityCode; private String activityCode;
/**
* 顺序
*/
private Integer index;
} }
} }
...@@ -588,18 +588,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -588,18 +588,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupons.add(coupon); coupons.add(coupon);
} }
// 当couponCodes不为空时,需参与价格计算,同时排除单券入参 buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes());
if (shoppingCartInfoRequestVo.getCouponCodes() != null) {
shoppingCartInfoRequestVo.getCouponCodes().forEach(cp -> {
if(ObjectUtils.equals(couponCode,cp.getCouponCode())){
return;
}
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(cp.getCouponCode());
coupon.setActivityCode(cp.getCouponCode());
coupons.add(coupon);
});
}
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList = shoppingCartInfoRequestVo.getSendGoods(); List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList = shoppingCartInfoRequestVo.getSendGoods();
List<ShoppingCartInfoRequestVo.SendGoods> sendGoods = new ArrayList<>(); List<ShoppingCartInfoRequestVo.SendGoods> sendGoods = new ArrayList<>();
...@@ -822,17 +811,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -822,17 +811,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
coupons.add(coupon); coupons.add(coupon);
} }
// 当couponCodes不为空时,需参与价格计算,同时排除单券入参 // 当couponCodes不为空时,需参与价格计算,同时排除单券入参
if (shoppingCartInfoRequestVo.getCouponCodes() != null) { buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes());
shoppingCartInfoRequestVo.getCouponCodes().forEach(cp -> {
if(ObjectUtils.equals(couponCode,cp.getCouponCode())){
return;
}
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(cp.getCouponCode());
coupon.setActivityCode(cp.getCouponCode());
coupons.add(coupon);
});
}
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType
, partnerId , partnerId
, storeId , storeId
...@@ -2111,4 +2091,30 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2111,4 +2091,30 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} }
private List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> buildCoupons(List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> oldCoupons, List<ShoppingCartInfoRequestVo.couponCode> coupons){
for(int i = 0 ; i < oldCoupons.size() ; i++){
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon oldCoupon = oldCoupons.get(i);
oldCoupon.setUseIndex(i);
}
List<String> codes = oldCoupons.stream().map(CalculationSharingDiscountRequestDto.CalculationDiscountCoupon::getCode).collect(toList());
if (coupons != null) {
for(int x = 0 ; x < coupons.size() ; x++){
ShoppingCartInfoRequestVo.couponCode cp = coupons.get(x);
if(codes.contains(cp.getCouponCode())){
continue;
}
CalculationSharingDiscountRequestDto.CalculationDiscountCoupon coupon = new CalculationSharingDiscountRequestDto.CalculationDiscountCoupon();
coupon.setCode(cp.getCouponCode());
coupon.setActivityCode(cp.getCouponCode());
coupon.setUseIndex(cp.getIndex() == null ? x + oldCoupons.size(): cp.getIndex() + oldCoupons.size());
oldCoupons.add(coupon);
}
}
return oldCoupons;
}
} }
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