Commit 46800938 by xiaoer.li@freemud.com

支持多买一赠一活动

parent f65e9ebb
...@@ -59,33 +59,37 @@ public class BuySendPromotionService implements IPromotionService { ...@@ -59,33 +59,37 @@ public class BuySendPromotionService implements IPromotionService {
if (CollectionUtils.isEmpty(sendActivityList)) { if (CollectionUtils.isEmpty(sendActivityList)) {
return; return;
} }
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity = getSendActivity(sendActivityList, ActivityTypeEnum.TYPE_61); //ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity = getSendActivity(sendActivityList, ActivityTypeEnum.TYPE_61);
//if (sendActivity == null) {
// return;
//}
//Todo 获取多个赠品list //Todo 获取多个赠品list
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity> sendActivityLists = getSendActivityList(ActivityTypeEnum.TYPE_61, sendActivityList); List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity> sendActivityLists = getSendActivityList(ActivityTypeEnum.TYPE_61, sendActivityList);
if (sendActivity == null) {
return;
}
//Todo 获取多个赠品list //Todo 获取多个赠品list
if (sendActivityLists.size() == 0) { if (sendActivityLists.size() == 0) {
return; return;
} }
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsList = sendActivity.getSendGoods(); //List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsList = sendActivity.getSendGoods();
if (CollectionUtils.isEmpty(sendGoodsList)) { //if (CollectionUtils.isEmpty(sendGoodsList)) {
return; // return;
} //}
Integer maxNum = sendActivity.getMaxNum(); //Integer maxNum = sendActivity.getMaxNum();
List<String> activitySpuIds = sendGoodsList.stream().map(each -> each.getCategory()).collect(Collectors.toList()); //List<String> activitySpuIds = sendGoodsList.stream().map(each -> each.getCategory()).collect(Collectors.toList());
//Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = getSendGoodsMap(sendGoodsList); //Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = getSendGoodsMap(sendGoodsList);
//Todo //Todo
List<String> activitySpuIds = new ArrayList<>();
Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = new HashMap<>(); Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = new HashMap<>();
Map<String, Integer> maxNums = new HashMap<>(); Map<String, Integer> maxNums = new HashMap<>();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity activityList : sendActivityLists) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity activityList : sendActivityLists) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods sendGood : activityList.getSendGoods()) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods sendGood : activityList.getSendGoods()) {
sendGoodsMap.put(sendGood.getCategory(), sendGood); sendGoodsMap.put(sendGood.getGoodsId(), sendGood);
maxNums.put(sendGood.getGoodsId(), activityList.getMaxNum()); maxNums.put(sendGood.getGoodsId(), activityList.getMaxNum());
activitySpuIds.add(sendGood.getGoodsId());
} }
} }
activitySpuIds = activitySpuIds.stream().distinct().collect(Collectors.toList());
List<CartGoods> newCartGoodsList = new ArrayList<>(); List<CartGoods> newCartGoodsList = new ArrayList<>();
for (CartGoods cartGood : cartGoodsList) { for (CartGoods cartGood : cartGoodsList) {
/*if (cartGoodsList.stream().filter(c -> c.getSkuId().equals(cartGood.getSkuId())).count() >= 2){ /*if (cartGoodsList.stream().filter(c -> c.getSkuId().equals(cartGood.getSkuId())).count() >= 2){
...@@ -139,7 +143,7 @@ public class BuySendPromotionService implements IPromotionService { ...@@ -139,7 +143,7 @@ public class BuySendPromotionService implements IPromotionService {
Integer activityCartQty = cartGoodsList.stream().filter(each -> Objects.equals(each.getActivityType(), ActivityTypeEnum.TYPE_61.getCode())).mapToInt(each -> each.getQty()).sum(); Integer activityCartQty = cartGoodsList.stream().filter(each -> Objects.equals(each.getActivityType(), ActivityTypeEnum.TYPE_61.getCode())).mapToInt(each -> each.getQty()).sum();
ActivityTip activityTip = new ActivityTip(); ActivityTip activityTip = new ActivityTip();
activityTip.setActivityType(ActivityTypeEnum.TYPE_61.getCode()); activityTip.setActivityType(ActivityTypeEnum.TYPE_61.getCode());
activityTip.setActivityQty(sendActivity.getMaxNum()); //activityTip.setActivityQty(sendActivity.getMaxNum());
activityTip.setActivityCartQty(activityCartQty); activityTip.setActivityCartQty(activityCartQty);
activityTip.setActivitySpuIds(activitySpuIds); activityTip.setActivitySpuIds(activitySpuIds);
// 当maxNum>=minNum,在加入买一赠一商品时提示“您参加的买赠优惠最多赠送N件哦~” // 当maxNum>=minNum,在加入买一赠一商品时提示“您参加的买赠优惠最多赠送N件哦~”
......
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