Commit c2fc9fef by 刘鹏飞

Merge remote-tracking branch 'remotes/origin/feature/coco-payGift-刘鹏飞' into qa

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
parents b5b2adbf 56c89ccb
...@@ -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
......
...@@ -217,6 +217,11 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -217,6 +217,11 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
* 活动号 * 活动号
*/ */
private String activityCode; private String activityCode;
/**
* 顺序
*/
private Integer index;
} }
} }
...@@ -598,18 +598,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -598,18 +598,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<>();
...@@ -844,17 +833,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -844,17 +833,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
...@@ -2205,4 +2185,30 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2205,4 +2185,30 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return false; return false;
} }
} }
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;
}
} }
...@@ -123,7 +123,7 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation ...@@ -123,7 +123,7 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
product.setOriginalAmount(product.getOriginalAmount() - product.getOriginalPrice() * num); product.setOriginalAmount(product.getOriginalAmount() - product.getOriginalPrice() * num);
product.setQty(newQty); product.setQty(newQty);
if(gifeProductIds.contains(product.getGoodsId())){ if(gifeProductIds.contains(product.getGoodsId()) || !Objects.equals(newQty,0)){
product.setGoodsId(null); product.setGoodsId(null);
} }
......
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