Commit f595e0ef by chongfu.liang

回滚

parent 674b5d46
......@@ -158,7 +158,7 @@ public class ShoppingCartConvertAdapter {
|| ObjectUtils.equals(ActivityTypeEnum.TYPE_62.getCode(), cartGoods.getActivityType())) {
cartGoodsDetailDto.setTotalDiscountAmount(cartGoods.getOriginalAmount().intValue() - cartGoods.getAmount().intValue());
} else {
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods> collect = apportionGoodsList.stream().filter(a -> ObjectUtils.equals(cartGoods.getCartGoodsUid(), a.getCartGoodsUid()) && (cartGoods.getQty() != null && cartGoods.getQty() > 0)).collect(Collectors.toList());
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods> collect = apportionGoodsList.stream().filter(a -> ObjectUtils.equals(cartGoods.getCartGoodsUid(), a.getCartGoodsUid())).collect(Collectors.toList());
//List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods> collect = apportionGoodsList.stream().filter(a -> ObjectUtils.equals(cartGoods.getSkuId(), a.getGoodsId()) || ObjectUtils.equals(cartGoods.getSpuId(), a.getGoodsId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
setTotalDiscountAndSalePrice(collect, cartGoodsDetailDto, duplicateGoodsMap);
......
......@@ -348,10 +348,6 @@ public class ActivityCalculationDiscountResponseDto {
*/
private String originalGoodsUid;
/**
* 购物车一行的Id(后台生成)
*/
private String cartGoodsUid = UUID.randomUUID().toString();
/**
* 赠送商品ID
*/
private String goodsId;
......@@ -372,10 +368,6 @@ public class ActivityCalculationDiscountResponseDto {
*/
private Long originalPrice;
/**
* 优惠
*/
private Long discount;
/**
* 赠送商品数量
*/
private Integer sendNumber;
......
......@@ -130,10 +130,6 @@ public class CartGoods {
* 购物车一行商品的数量
*/
private Integer qty;
/**
* 购物车一行商品的数量(X件y折时才显示)
*/
private Integer actualQty;
/**
* 参与活动商品数量 前端展示参数
......
......@@ -19,7 +19,6 @@ public enum ActivityTypeEnum {
TYPE_13(13, "新用户立减"),
TYPE_14(14, "满额减配送费"),
TYPE_104(104,"x件y折"),
TYPE_1040(1040,"x件y折0折活动"),
/**
* 限时特价
......
......@@ -77,28 +77,18 @@ public class PlatformActiveServiceImpl implements ActiveService {
Map<String, CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods> discountForGift = this.getDiscountForGift(discountResult);
List<String> activityCodeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(discountResult.getDiscounts())){
// 0折的x件y折活动
activityCodeList = discountResult.getDiscounts().stream()
.filter(p -> ActivityTypeEnum.TYPE_104.getCode().equals(p.getType()) && p.getZeroDiscount())
.map(p -> p.getActivityCode()).collect(Collectors.toList());
}
for (ProductBeanDTO product : products) {
String k = product.getPid();
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods goods = discountForGift.get(k);
List<String> finalActivityCodeList = activityCodeList;
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount discount = goods.getDiscounts()
.stream()
.filter(g -> ActivityTypeEnum.TYPE_63.getCode().equals(g.getType()) || ActivityTypeEnum.TYPE_62.getCode().equals(g.getType())
|| ActivityTypeEnum.TYPE_61.getCode().equals(g.getType()) || (ActivityTypeEnum.TYPE_1040.getCode().equals(g.getType()) && finalActivityCodeList.contains(g.getActivityCode())))
|| ActivityTypeEnum.TYPE_61.getCode().equals(g.getType()))
.findFirst()
.get();
CartGoods cartGood = new CartGoods();
cartGood.setGoodsId(goods.getGoodsId());
if (StringUtils.isNotBlank(goods.getCartGoodsUid()) && ActivityTypeEnum.TYPE_1040.getCode().equals(discount.getType())){
cartGood.setCartGoodsUid(goods.getCartGoodsUid());
}
cartGood.setGoodsType(1);
cartGood.setSpuId(goods.getGoodsId());
cartGood.setSkuId(goods.getGoodsId());
......
......@@ -51,7 +51,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
return;
}
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity> sendActivities = calculationDiscountResult.getSendGoods().stream()
.filter(goods -> ActivityTypeEnum.TYPE_62.getCode().equals(goods.getActivityType()) || ActivityTypeEnum.TYPE_1040.getCode().equals(goods.getActivityType())).collect(Collectors.toList());
.filter(goods -> ActivityTypeEnum.TYPE_62.getCode().equals(goods.getActivityType())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sendActivities)) {
return;
}
......@@ -95,19 +95,9 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGoods.setNodeId(sendActivity.getActivityCode());
cartGoods.setOriginalGoodsUid(sendGoods.getOriginalGoodsUid());
cartGoods.setCartGoodsUid(sendGoods.getCartGoodsUid());
this.setGiftExtra(cartGoods,product,cartGoodsList);
CartGoods fatherGoods = cartGoodsList.stream().filter(p -> p.getCartGoodsUid().equals(sendGoods.getOriginalGoodsUid()) && ObjectUtils.equals(p.getQty(), 0)).findFirst().orElse(null);
if (fatherGoods != null){
cartGoods.setCartGoodsUid(fatherGoods.getCartGoodsUid());
sendGoods.setCartGoodsUid(fatherGoods.getCartGoodsUid());
}
cartGoodsList.add(cartGoods);
if (!ActivityTypeEnum.TYPE_1040.getCode().equals(sendActivity.getActivityType())){
totalGiftAmount += product.getFinalPrice() * sendGoods.getSendNumber();
}
totalGiftAmount += product.getFinalPrice() * sendGoods.getSendNumber();
}
}
......
......@@ -41,7 +41,6 @@ import cn.freemud.service.*;
import cn.freemud.service.delivery.DeliveryFactory;
import cn.freemud.service.delivery.DeliveryService;
import cn.freemud.service.impl.calculate.*;
import cn.freemud.service.impl.calculate.promotion.GiftSharingService;
import cn.freemud.service.shoppingCart.ShoppingCartRelationFactory;
import cn.freemud.service.shoppingCart.ShoppingCartRelationService;
import cn.freemud.service.thirdparty.*;
......@@ -192,8 +191,6 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Autowired
private ShoppingCartRelationFactory shoppingCartRelationFactory;
@Autowired
private GiftSharingService giftSharingService;
/**
......@@ -1255,18 +1252,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
convert2SendPoint(result, discountDTO);
}
Map<String, Integer> qtyMap = giftSharingService.xPiecesYFoldAdapter(activityCalculationDiscountResponseDto);
if (MapUtils.isNotEmpty(qtyMap)){
for (String key : qtyMap.keySet()){
CartGoods cartGoods = cartGoodsList.stream().filter(p -> p.getCartGoodsUid().equals(key)).findFirst().orElse(null);
if (cartGoods != null){
cartGoods.setActivityType(ActivityTypeEnum.TYPE_104.getCode());
cartGoods.setActualQty(cartGoods.getQty());
cartGoods.setQty(qtyMap.get(key));
}
}
}
result.setValidCouponMap(validCouponMap);
result.setDeliveryAmount(distributionFee);
result.setDistributionFee(result.getDistributionFee());
......
......@@ -87,7 +87,7 @@ public class XyDiscountServiceImpl implements IPromotionService {
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
activityDiscountsDto.setActivityCode(detail.getActivityCode());
activityDiscountsDto.setActivityName(detail.getActivityName());
activityDiscountsDto.setActivityType(detail.getActivityType());
activityDiscountsDto.setActivityType(ActivityTypeEnum.TYPE_104.getCode());
activityDiscountsDto.setDiscountAmount(detail.getActivityApportionAmount().intValue());
activityDiscountsDtoList.add(activityDiscountsDto);
product.setActivityDiscountsDtos(activityDiscountsDtoList);
......@@ -126,56 +126,17 @@ public class XyDiscountServiceImpl implements IPromotionService {
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getApportionGoods())) {
return null;
}
// 0折的x件y折活动
List<String> activityCode = calculationDiscountResult.getDiscounts().stream()
.filter(p -> ActivityTypeEnum.TYPE_104.getCode().equals(p.getType()) && p.getZeroDiscount())
.map(p -> p.getActivityCode()).collect(Collectors.toList());
List<ApportionGoodsDetail> apportionGoodsDetail = new ArrayList<>();
if (!CollectionUtils.isEmpty(calculationDiscountResult.getSendGoods())){
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity> sendActivityList = calculationDiscountResult.getSendGoods().stream().filter(p -> ActivityTypeEnum.TYPE_1040.getCode().equals(p.getActivityType())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(sendActivityList)){
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity : sendActivityList){
if (!CollectionUtils.isEmpty(sendActivity.getSendGoods())){
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods sendGoods : sendActivity.getSendGoods()){
ApportionGoodsDetail detail = new ApportionGoodsDetail();
detail.setActivityApportionAmount(sendGoods.getDiscount() == null ? 0L : sendGoods.getDiscount());
detail.setActivityCode(sendActivity.getActivityCode());
detail.setActivityName(sendActivity.getActivityName());
detail.setGoodsId(sendGoods.getGoodsId());
detail.setCartGoodsUid(sendGoods.getCartGoodsUid());
detail.setActivityType(ActivityTypeEnum.TYPE_1040.getCode());
apportionGoodsDetail.add(detail);
}
}
}
}
}
/*
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> discountGoodsList = calculationDiscountResult.getGoods().stream().filter(p -> org.apache.commons.collections4.CollectionUtils.isNotEmpty(p.getDiscounts())
&& p.getDiscounts().stream().filter(discount -> activityCode.contains(discount.getActivityCode())).count() > 0).collect(Collectors.toList());
*/
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) {
if (!CollectionUtils.isEmpty(apportionGood.getApportionDetails())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : apportionGood.getApportionDetails()) {
if (apportionDetail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode())) {
ApportionGoodsDetail detail = new ApportionGoodsDetail();
if (activityCode.contains(apportionDetail.getActivityCode())){
detail.setActivityApportionAmount(0L);
} else {
detail.setActivityApportionAmount(apportionDetail.getActivityApportionAmount());
}
detail.setActivityApportionAmount(apportionDetail.getActivityApportionAmount());
detail.setActivityCode(apportionDetail.getActivityCode());
detail.setActivityName(apportionDetail.getActivityName());
detail.setGoodsId(apportionGood.getGoodsId());
detail.setCartGoodsUid(apportionGood.getCartGoodsUid());
detail.setActivityType(ActivityTypeEnum.TYPE_104.getCode());
apportionGoodsDetail.add(detail);
}
}
......@@ -190,10 +151,6 @@ public class XyDiscountServiceImpl implements IPromotionService {
*/
private String activityCode;
/**
* 活动type
*/
private Integer activityType;
/**
* 活动名称,如果是商品券,优惠券,放券名称
*/
private String activityName;
......
......@@ -208,25 +208,7 @@ public class CalculationSharingDiscountService {
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Discount discountDTO = result.getDiscounts().stream().filter(d -> 221 == d.getType()).findFirst().get();
convert2SendPoint(result, discountDTO);
}
// 将x件y折的0折数据转为赠品
Map<String, Integer> qtyMap = giftSharingService.xPiecesYFoldAdapter(sharingDiscountResponseDto);
if (MapUtils.isNotEmpty(qtyMap)){
for (String key : qtyMap.keySet()){
CartGoods cartGoods = cartGoodsList.stream().filter(p -> p.getCartGoodsUid().equals(key)).findFirst().orElse(null);
if (cartGoods != null){
cartGoods.setActivityType(ActivityTypeEnum.TYPE_104.getCode());
cartGoods.setActualQty(cartGoods.getQty());
cartGoods.setQty(qtyMap.get(key));
if (ObjectUtils.equals(cartGoods.getQty(), 0)){
CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods goods = sharingDiscountResponseDto.getResult().getGoods().stream().filter(p -> cartGoods.getCartGoodsUid().equals(p.getOriginalGoodsUid())).findFirst().orElse(null);
if (goods != null){
goods.setCartGoodsUid(cartGoods.getCartGoodsUid());
}
}
}
}
}
result.setValidCouponMap(validCouponMap);
result.setDeliveryAmount(deliveryAmount);
result.setDistributionFee(result.getDistributionFee());
......
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