Commit 35718d61 by chongfu.liang

列表

parent a35d9725
...@@ -304,11 +304,12 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -304,11 +304,12 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
private ShoppingCartGoodsBO setCommMessage(ListCartGoodsBO baseRequestDTO, SetMessageBO setMessageBO) { private ShoppingCartGoodsBO setCommMessage(ListCartGoodsBO baseRequestDTO, SetMessageBO setMessageBO) {
ShoppingCartGoodsBO shoppingCartGoodsBO = setMessageBO.getShoppingCartGoodsBO(); ShoppingCartGoodsBO shoppingCartGoodsBO = setMessageBO.getShoppingCartGoodsBO();
CalculationDiscountBO.CalculationDiscountResult discountResult = null;
CalculationDiscountBO.CalculationDiscountResult discountResult = setMessageBO.getCalculationDiscountBO().getResult(); if (setMessageBO.getCalculationDiscountBO() != null){
discountResult = setMessageBO.getCalculationDiscountBO().getResult();
}
// 满减提示 // 满减提示
StringBuilder messageBuilder = new StringBuilder(); StringBuilder messageBuilder = new StringBuilder();
ActivityBO activityBO = setMessageBO.getActivityBO(); ActivityBO activityBO = setMessageBO.getActivityBO();
List<ActivityList> activityList = null; List<ActivityList> activityList = null;
...@@ -321,7 +322,10 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -321,7 +322,10 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
} }
//促销返回满减提示语 //促销返回满减提示语
List<CalculationDiscountBO.CalculationDiscountResult.ActivityPrompt> activityPrompts = discountResult.getActivityPrompts(); List<CalculationDiscountBO.CalculationDiscountResult.ActivityPrompt> activityPrompts = null;
if (discountResult != null){
discountResult.getActivityPrompts();
}
/** /**
* 构建提示语 * 构建提示语
*/ */
...@@ -424,10 +428,11 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -424,10 +428,11 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
private CalCostBO getComDiscountResult(ListCartGoodsBO baseRequestDTO, DiscountResultBO discountResultBO, CalCostBO before) { private CalCostBO getComDiscountResult(ListCartGoodsBO baseRequestDTO, DiscountResultBO discountResultBO, CalCostBO before) {
if (CollectionUtils.isNotEmpty(before.getGetCalculationDiscountBO().getGoods())){
CalculationDiscountBO calculationDiscountBO = promotionManager.calculationDiscount(before.getGetCalculationDiscountBO(), baseRequestDTO.getManagerService().getPromotionService()); CalculationDiscountBO calculationDiscountBO = promotionManager.calculationDiscount(before.getGetCalculationDiscountBO(), baseRequestDTO.getManagerService().getPromotionService());
calculationDiscountBO.getResult().setValidCouponMap(before.getValidCouponMap()); calculationDiscountBO.getResult().setValidCouponMap(before.getValidCouponMap());
before.setCalculationDiscountBO(calculationDiscountBO); before.setCalculationDiscountBO(calculationDiscountBO);
}
return before; return before;
} }
...@@ -441,39 +446,41 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -441,39 +446,41 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
ShoppingCartGoodsBO shoppingCartGoodsBO = new ShoppingCartGoodsBO(); ShoppingCartGoodsBO shoppingCartGoodsBO = new ShoppingCartGoodsBO();
ShoppingGoodsAmountBO shoppingGoodsAmountBO = this.initShoppingCart(distributeBO.getCalculationDiscountBO(), distributeBO.getCartGoods());
// 满减
FullReductionBO fullReductionBO = this.fullReduction(baseRequestDTO, distributeBO.getCalculationDiscountBO(), distributeBO.getCartGoods(), activityQueryDto);
List<CartGoods> giftGoods = null;
AdditionBO additionBO = null;
ScoreReduceBO scoreReduceBO = null;
if (distributeBO.getCalculationDiscountBO() == null || CollectionUtils.isEmpty(distributeBO.getCartGoods())){
/** /**
* 用促销价格初始化购物车行记录成交价 * 用促销价格初始化购物车行记录成交价
*/ */
ShoppingGoodsAmountBO shoppingGoodsAmountBO = this.initShoppingCart(distributeBO.getCalculationDiscountBO().getResult(), distributeBO.getCartGoods());
// 满减
FullReductionBO fullReductionBO = this.fullReduction(baseRequestDTO, distributeBO.getCalculationDiscountBO().getResult(), distributeBO.getCartGoods(), activityQueryDto);
// 买赠 // 买赠
List<CartGoods> giftGoods = this.buyGift(distributeBO.getCalculationDiscountBO().getResult(), distributeBO.getCartGoods(), activityQueryDto, baseRequestDTO); giftGoods = this.buyGift(distributeBO.getCalculationDiscountBO().getResult(), distributeBO.getCartGoods(), activityQueryDto, baseRequestDTO);
/** /**
* 加价购 * 加价购
*/ */
AdditionBO additionBO = this.additionResponse(distributeBO.getCalculationDiscountBO().getResult(), baseRequestDTO); additionBO = this.additionResponse(distributeBO.getCalculationDiscountBO().getResult(), baseRequestDTO);
/** /**
* 积分抵扣 * 积分抵扣
*/ */
ScoreReduceBO scoreReduceBO = this.scoreReduce(distributeBO.getCalculationDiscountBO().getResult(), baseRequestDTO, shoppingGoodsAmountBO, additionBO); scoreReduceBO = this.scoreReduce(distributeBO.getCalculationDiscountBO().getResult(), baseRequestDTO, shoppingGoodsAmountBO, additionBO);
}
/** /**
* 配送费 * 配送费
*/ */
DeliveryBO delivery = null; DeliveryBO delivery = null;
if (BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(baseRequestDTO.getMenuType())) { if (BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(baseRequestDTO.getMenuType())) {
delivery = this.delivery(distributeBO.getCalculationDiscountBO().getResult(), baseRequestDTO, delivery = this.delivery(distributeBO.getCalculationDiscountBO(), baseRequestDTO,
activityQueryDto, distributeBO.getCalculationDiscountBO().getDistributionFee()); activityQueryDto, distributeBO.getCalculationDiscountBO().getDistributionFee());
} }
/** /**
* 特价类型超出部分提示 * 特价类型超出部分提示
*/ */
...@@ -481,7 +488,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -481,7 +488,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
Long packAmount = this.getPackAmount(baseRequestDTO, shoppingGoodsAmountBO); Long packAmount = this.getPackAmount(baseRequestDTO, shoppingGoodsAmountBO);
BuyMemberCardBO buyMemberCardBO = this.addNeedCardAmount(baseRequestDTO); BuyMemberCardBO buyMemberCardBO = this.addNeedCardAmount(baseRequestDTO);
// 买一赠一寄杯 // 买一赠一寄杯
List<ChooseGoodsBO> chooseGoodsBO = this.bugGiftAndSendCup(distributeBO.getCalculationDiscountBO().getResult(), distributeBO.getCartGoods(), activityQueryDto, baseRequestDTO); List<ChooseGoodsBO> chooseGoodsBO = this.bugGiftAndSendCup(distributeBO.getCalculationDiscountBO(), distributeBO.getCartGoods(), activityQueryDto, baseRequestDTO);
shoppingCartGoodsBO.setOriginalTotalAmount(shoppingGoodsAmountBO.getOriginalTotalAmount()); shoppingCartGoodsBO.setOriginalTotalAmount(shoppingGoodsAmountBO.getOriginalTotalAmount());
shoppingCartGoodsBO.setNewPackAmount(packAmount); shoppingCartGoodsBO.setNewPackAmount(packAmount);
...@@ -590,7 +597,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -590,7 +597,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
return null; return null;
} }
public DeliveryBO delivery(CalculationDiscountBO.CalculationDiscountResult discountResult, ListCartGoodsBO baseRequestDTO public DeliveryBO delivery(CalculationDiscountBO calculationDiscountBO, ListCartGoodsBO baseRequestDTO
, ActivityQueryDto activityQueryDto , ActivityQueryDto activityQueryDto
, Long deliveryAmount) { , Long deliveryAmount) {
DeliveryBO deliveryBO = new DeliveryBO(); DeliveryBO deliveryBO = new DeliveryBO();
...@@ -608,7 +615,9 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -608,7 +615,9 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
deliveryBO.setActivityCode(activityBO.getActivityCode()); deliveryBO.setActivityCode(activityBO.getActivityCode());
} }
CalculationDiscountBO.CalculationDiscountResult.Discount discount=null; CalculationDiscountBO.CalculationDiscountResult.Discount discount=null;
if (discountResult != null && CollectionUtils.isNotEmpty(discountResult.getDiscounts())) { CalculationDiscountBO.CalculationDiscountResult discountResult = null;
if (calculationDiscountBO != null && calculationDiscountBO.getResult() != null && CollectionUtils.isNotEmpty(calculationDiscountBO.getResult().getDiscounts())) {
discountResult = calculationDiscountBO.getResult();
discount = discountResult.getDiscounts().stream().filter((d) -> ActivityTypeEnum.TYPE_14.getCode().equals(d.getType())).findFirst().orElse(null); discount = discountResult.getDiscounts().stream().filter((d) -> ActivityTypeEnum.TYPE_14.getCode().equals(d.getType())).findFirst().orElse(null);
} }
...@@ -925,12 +934,12 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -925,12 +934,12 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
private List<ChooseGoodsBO> bugGiftAndSendCup(CalculationDiscountBO.CalculationDiscountResult result, List<CartGoods> cartGoods, ActivityQueryDto activityQueryDto, ListCartGoodsBO baseRequestDTO){ private List<ChooseGoodsBO> bugGiftAndSendCup(CalculationDiscountBO calculationDiscountBO, List<CartGoods> cartGoods, ActivityQueryDto activityQueryDto, ListCartGoodsBO baseRequestDTO){
if(result == null){ if(calculationDiscountBO == null || calculationDiscountBO.getResult() == null){
return null; return null;
} }
CalculationDiscountBO.CalculationDiscountResult result = calculationDiscountBO.getResult();
// 过略出来买一赠一寄杯活动,没有直接返回 // 过略出来买一赠一寄杯活动,没有直接返回
List<CalculationDiscountBO.CalculationDiscountResult.Discount> discounts = result.getDiscounts(); List<CalculationDiscountBO.CalculationDiscountResult.Discount> discounts = result.getDiscounts();
if(null == discounts || discounts.isEmpty()){ if(null == discounts || discounts.isEmpty()){
...@@ -1169,7 +1178,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -1169,7 +1178,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
} }
private FullReductionBO fullReduction(ListCartGoodsBO baseRequestDTO, CalculationDiscountBO.CalculationDiscountResult discountResult, List<CartGoods> cartGoodsList, ActivityQueryDto activityQueryDto){ private FullReductionBO fullReduction(ListCartGoodsBO baseRequestDTO, CalculationDiscountBO calculationDiscountBO, List<CartGoods> cartGoodsList, ActivityQueryDto activityQueryDto){
FullReductionBO fullReduction = new FullReductionBO(); FullReductionBO fullReduction = new FullReductionBO();
...@@ -1186,10 +1195,11 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -1186,10 +1195,11 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
GetActivityBO getActivityBO = new GetActivityBO(); GetActivityBO getActivityBO = new GetActivityBO();
ActivityBO activityBO = promotionManager.queryActivityByType(getActivityBO, baseRequestDTO.getManagerService().getPromotionService()); ActivityBO activityBO = promotionManager.queryActivityByType(getActivityBO, baseRequestDTO.getManagerService().getPromotionService());
fullReduction.setActivityBO(activityBO); fullReduction.setActivityBO(activityBO);
if (activityBO == null){
if (activityBO == null || calculationDiscountBO == null){
return fullReduction; return fullReduction;
} }
CalculationDiscountBO.CalculationDiscountResult discountResult = calculationDiscountBO.getResult();
List<CalculationDiscountBO.CalculationDiscountResult.Discount> discounts = discountResult.getDiscounts(); List<CalculationDiscountBO.CalculationDiscountResult.Discount> discounts = discountResult.getDiscounts();
List<CalculationDiscountBO.CalculationDiscountResult.Discount> fullDiscountsList = discounts List<CalculationDiscountBO.CalculationDiscountResult.Discount> fullDiscountsList = discounts
.stream() .stream()
...@@ -1347,7 +1357,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -1347,7 +1357,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
/** /**
* 初始化价格 * 初始化价格
*/ */
public ShoppingGoodsAmountBO initShoppingCart(CalculationDiscountBO.CalculationDiscountResult discountResult public ShoppingGoodsAmountBO initShoppingCart(CalculationDiscountBO calculationDiscountBO
, List<CartGoods> cartGoodsList) { , List<CartGoods> cartGoodsList) {
ShoppingGoodsAmountBO shoppingGoodsAmountBO = new ShoppingGoodsAmountBO(); ShoppingGoodsAmountBO shoppingGoodsAmountBO = new ShoppingGoodsAmountBO();
...@@ -1355,7 +1365,9 @@ public class AbstractListCartGoodsService implements ListCartGoodsService { ...@@ -1355,7 +1365,9 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
* 使用促销算价赋值行记录 * 使用促销算价赋值行记录
*/ */
List<CalculationDiscountBO.CalculationDiscountResult.Goods> goods = null; List<CalculationDiscountBO.CalculationDiscountResult.Goods> goods = null;
if (discountResult != null && CollectionUtils.isNotEmpty(discountResult.getGoods())) { CalculationDiscountBO.CalculationDiscountResult discountResult = null;
if (calculationDiscountBO != null && calculationDiscountBO.getResult() != null && CollectionUtils.isNotEmpty(calculationDiscountBO.getResult().getGoods())) {
discountResult = calculationDiscountBO.getResult();
goods = discountResult.getGoods(); goods = discountResult.getGoods();
} }
long totalOriginalAmount = 0L, totalAmount = 0L, totalPackageAmount = 0L; long totalOriginalAmount = 0L, totalAmount = 0L, totalPackageAmount = 0L;
......
...@@ -162,7 +162,7 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService { ...@@ -162,7 +162,7 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService {
@Override @Override
public CalCostBO getDiscountResultAfter(ListCartGoodsBO baseRequestDTO, DiscountResultBO calCostBO, CalCostBO commonSetMessageBO) { public CalCostBO getDiscountResultAfter(ListCartGoodsBO baseRequestDTO, DiscountResultBO calCostBO, CalCostBO commonSetMessageBO) {
return null; return commonSetMessageBO;
} }
@Override @Override
...@@ -198,10 +198,10 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService { ...@@ -198,10 +198,10 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService {
ActivityClassifyCouponBean activityClassifyCouponBean = createEmptyActivityCouponBean(); ActivityClassifyCouponBean activityClassifyCouponBean = createEmptyActivityCouponBean();
shoppingCartGoodsBO.setAvailableCoupon(activityClassifyCouponBean); shoppingCartGoodsBO.setAvailableCoupon(activityClassifyCouponBean);
} }
CalculationDiscountBO.CalculationDiscountResult discountResult = null;
if (calCostBO.getCalculationDiscountBO() != null){
CalculationDiscountBO.CalculationDiscountResult discountResult = calCostBO.getCalculationDiscountBO().getResult(); discountResult = calCostBO.getCalculationDiscountBO().getResult();
}
// 当couponCode不为空时,需计算优惠价格 3代金 31折扣 32商品 33换购券 // 当couponCode不为空时,需计算优惠价格 3代金 31折扣 32商品 33换购券
shoppingCartGoodsBO.setCouponDiscount(0L); shoppingCartGoodsBO.setCouponDiscount(0L);
//循环购物车商品券 //循环购物车商品券
......
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