Commit 3737fabd by chongfu.liang

集点fix

parent 6a22e638
......@@ -17,9 +17,12 @@ import cn.freemud.demo.manager.product.ProductManager;
import cn.freemud.demo.manager.promotion.PromotionManager;
import cn.freemud.demo.service.GetShoppingCartGoodsApportionService;
import cn.freemud.entities.dto.ActivityCalculationDiscountRequestDto;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
......@@ -506,8 +509,14 @@ public class AbstractApportionService implements GetShoppingCartGoodsApportionSe
*/
Long packAmount = this.getPackAmount(baseRequestDTO, shoppingGoodsAmountBO);
if (discountResult!=null && discountResult.getSendPointVo()!=null) {
shoppingCartGoodsBO.setSendPoint(discountResult.getSendPointVo());
if (discountResult!=null ) {
List<Integer> activityTypes = discountResult.getDiscounts().stream().map(CalculationDiscountBO.CalculationDiscountResult.Discount::getType).collect(Collectors.toList());
if (activityTypes.contains(221)) {
CalculationDiscountBO.CalculationDiscountResult.Discount discountDTO = discountResult.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
SendPoint sendPoint = convert2SendPoint(discountDTO);
shoppingCartGoodsBO.setSendPoint(sendPoint);
}
}
shoppingCartGoodsBO.setOriginalTotalAmount(shoppingGoodsAmountBO.getOriginalTotalAmount());
......@@ -560,7 +569,21 @@ public class AbstractApportionService implements GetShoppingCartGoodsApportionSe
return shoppingCartGoodsBO;
}
private SendPoint convert2SendPoint(CalculationDiscountBO.CalculationDiscountResult.Discount discountDTO) {
SendPoint sendPointNew = new SendPoint();
CalculationDiscountBO.CalculationDiscountResult.SendPointDto sendPointVo = discountDTO.getSendPointVo();
if (sendPointVo != null) {
sendPointNew.setMaxNum(sendPointVo.getMaxNum());
sendPointNew.setSendPoint(sendPointVo.getSendPoint());
sendPointNew.setValidityDateDays(sendPointVo.getValidityDateDays());
sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime());
sendPointNew.setStoreLevel(sendPointVo.getStoreLevel());
return sendPointNew;
}
return 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