Commit 35718d61 by chongfu.liang

列表

parent a35d9725
......@@ -304,11 +304,12 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
private ShoppingCartGoodsBO setCommMessage(ListCartGoodsBO baseRequestDTO, SetMessageBO setMessageBO) {
ShoppingCartGoodsBO shoppingCartGoodsBO = setMessageBO.getShoppingCartGoodsBO();
CalculationDiscountBO.CalculationDiscountResult discountResult = setMessageBO.getCalculationDiscountBO().getResult();
CalculationDiscountBO.CalculationDiscountResult discountResult = null;
if (setMessageBO.getCalculationDiscountBO() != null){
discountResult = setMessageBO.getCalculationDiscountBO().getResult();
}
// 满减提示
StringBuilder messageBuilder = new StringBuilder();
ActivityBO activityBO = setMessageBO.getActivityBO();
List<ActivityList> activityList = null;
......@@ -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 {
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.getResult().setValidCouponMap(before.getValidCouponMap());
before.setCalculationDiscountBO(calculationDiscountBO);
}
return before;
}
......@@ -441,39 +446,41 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
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;
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());
}
/**
* 特价类型超出部分提示
*/
......@@ -481,7 +488,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
Long packAmount = this.getPackAmount(baseRequestDTO, shoppingGoodsAmountBO);
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.setNewPackAmount(packAmount);
......@@ -590,7 +597,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
return null;
}
public DeliveryBO delivery(CalculationDiscountBO.CalculationDiscountResult discountResult, ListCartGoodsBO baseRequestDTO
public DeliveryBO delivery(CalculationDiscountBO calculationDiscountBO, ListCartGoodsBO baseRequestDTO
, ActivityQueryDto activityQueryDto
, Long deliveryAmount) {
DeliveryBO deliveryBO = new DeliveryBO();
......@@ -608,7 +615,9 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
deliveryBO.setActivityCode(activityBO.getActivityCode());
}
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);
}
......@@ -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;
}
CalculationDiscountBO.CalculationDiscountResult result = calculationDiscountBO.getResult();
// 过略出来买一赠一寄杯活动,没有直接返回
List<CalculationDiscountBO.CalculationDiscountResult.Discount> discounts = result.getDiscounts();
if(null == discounts || discounts.isEmpty()){
......@@ -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();
......@@ -1186,10 +1195,11 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
GetActivityBO getActivityBO = new GetActivityBO();
ActivityBO activityBO = promotionManager.queryActivityByType(getActivityBO, baseRequestDTO.getManagerService().getPromotionService());
fullReduction.setActivityBO(activityBO);
if (activityBO == null){
if (activityBO == null || calculationDiscountBO == null){
return fullReduction;
}
CalculationDiscountBO.CalculationDiscountResult discountResult = calculationDiscountBO.getResult();
List<CalculationDiscountBO.CalculationDiscountResult.Discount> discounts = discountResult.getDiscounts();
List<CalculationDiscountBO.CalculationDiscountResult.Discount> fullDiscountsList = discounts
.stream()
......@@ -1347,7 +1357,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
/**
* 初始化价格
*/
public ShoppingGoodsAmountBO initShoppingCart(CalculationDiscountBO.CalculationDiscountResult discountResult
public ShoppingGoodsAmountBO initShoppingCart(CalculationDiscountBO calculationDiscountBO
, List<CartGoods> cartGoodsList) {
ShoppingGoodsAmountBO shoppingGoodsAmountBO = new ShoppingGoodsAmountBO();
......@@ -1355,7 +1365,9 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
* 使用促销算价赋值行记录
*/
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();
}
long totalOriginalAmount = 0L, totalAmount = 0L, totalPackageAmount = 0L;
......
......@@ -162,7 +162,7 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService {
@Override
public CalCostBO getDiscountResultAfter(ListCartGoodsBO baseRequestDTO, DiscountResultBO calCostBO, CalCostBO commonSetMessageBO) {
return null;
return commonSetMessageBO;
}
@Override
......@@ -198,10 +198,10 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService {
ActivityClassifyCouponBean activityClassifyCouponBean = createEmptyActivityCouponBean();
shoppingCartGoodsBO.setAvailableCoupon(activityClassifyCouponBean);
}
CalculationDiscountBO.CalculationDiscountResult discountResult = calCostBO.getCalculationDiscountBO().getResult();
CalculationDiscountBO.CalculationDiscountResult discountResult = null;
if (calCostBO.getCalculationDiscountBO() != null){
discountResult = calCostBO.getCalculationDiscountBO().getResult();
}
// 当couponCode不为空时,需计算优惠价格 3代金 31折扣 32商品 33换购券
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