Commit 46800938 by xiaoer.li@freemud.com

支持多买一赠一活动

parent f65e9ebb
......@@ -59,33 +59,37 @@ public class BuySendPromotionService implements IPromotionService {
if (CollectionUtils.isEmpty(sendActivityList)) {
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
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity> sendActivityLists = getSendActivityList(ActivityTypeEnum.TYPE_61, sendActivityList);
if (sendActivity == null) {
return;
}
//Todo 获取多个赠品list
if (sendActivityLists.size() == 0) {
return;
}
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsList = sendActivity.getSendGoods();
if (CollectionUtils.isEmpty(sendGoodsList)) {
return;
}
Integer maxNum = sendActivity.getMaxNum();
List<String> activitySpuIds = sendGoodsList.stream().map(each -> each.getCategory()).collect(Collectors.toList());
//List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsList = sendActivity.getSendGoods();
//if (CollectionUtils.isEmpty(sendGoodsList)) {
// return;
//}
//Integer maxNum = sendActivity.getMaxNum();
//List<String> activitySpuIds = sendGoodsList.stream().map(each -> each.getCategory()).collect(Collectors.toList());
//Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = getSendGoodsMap(sendGoodsList);
//Todo
List<String> activitySpuIds = new ArrayList<>();
Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = new HashMap<>();
Map<String, Integer> maxNums = new HashMap<>();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity activityList : sendActivityLists) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods sendGood : activityList.getSendGoods()) {
sendGoodsMap.put(sendGood.getCategory(), sendGood);
sendGoodsMap.put(sendGood.getGoodsId(), sendGood);
maxNums.put(sendGood.getGoodsId(), activityList.getMaxNum());
activitySpuIds.add(sendGood.getGoodsId());
}
}
activitySpuIds = activitySpuIds.stream().distinct().collect(Collectors.toList());
List<CartGoods> newCartGoodsList = new ArrayList<>();
for (CartGoods cartGood : cartGoodsList) {
/*if (cartGoodsList.stream().filter(c -> c.getSkuId().equals(cartGood.getSkuId())).count() >= 2){
......@@ -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();
ActivityTip activityTip = new ActivityTip();
activityTip.setActivityType(ActivityTypeEnum.TYPE_61.getCode());
activityTip.setActivityQty(sendActivity.getMaxNum());
//activityTip.setActivityQty(sendActivity.getMaxNum());
activityTip.setActivityCartQty(activityCartQty);
activityTip.setActivitySpuIds(activitySpuIds);
// 当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