|
@@ -4064,7 +4064,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BeanUtils.copyProperties(goodsDetailsDto, goodsEntity);
|
|
|
goodsDetailsDto.setActualPaymentAmount(activityPrice);
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
- goodsDetailsDto.setActivity("限时促销");
|
|
|
+ goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.LSCX.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(activityPrice));
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
@@ -4105,7 +4105,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity, goodsEntity.getRetailPrice(), goodsService).setScale(3, RoundingMode.HALF_UP);
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
goodsDetailsDto.setActualPaymentAmount(BigDecimal.ZERO);
|
|
|
- goodsDetailsDto.setActivity("满赠商品");
|
|
|
+ goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.MZ.getTopicName());
|
|
|
goodsDetailsDto.setGiftNumber(mkActivitiesFullGiftEntity.getGiftNumber());
|
|
|
goodsDetailsDto.setDiscountedPrice(goodsEntity.getRetailPrice());
|
|
|
// 添加进商品详情列表
|
|
@@ -4137,7 +4137,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity, goodsEntity.getRetailPrice(), goodsService).setScale(3, RoundingMode.HALF_UP);
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
goodsDetailsDto.setActualPaymentAmount(BigDecimal.ZERO);
|
|
|
- goodsDetailsDto.setActivity("满赠商品");
|
|
|
+ goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.MZ.getTopicName());
|
|
|
goodsDetailsDto.setGiftNumber(mkActivitiesFullGiftEntity.getGiftNumber());
|
|
|
goodsDetailsDto.setDiscountedPrice(goodsEntity.getRetailPrice());
|
|
|
// 添加进商品详情列表
|
|
@@ -4194,7 +4194,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity, goodsEntity.getRetailPrice(), goodsService).setScale(3, RoundingMode.HALF_UP);
|
|
|
goodsDetailsDto.setActualPaymentAmount(discountAfterPrice);
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
- goodsDetailsDto.setActivity("优惠券活动");
|
|
|
+ goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.YHQ.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(discountAfterPrice));
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
@@ -4222,7 +4222,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity, goodsEntity.getRetailPrice(), goodsService).setScale(3, RoundingMode.HALF_UP);
|
|
|
goodsDetailsDto.setActualPaymentAmount(discountAfterPrice);
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
- goodsDetailsDto.setActivity("优惠券活动");
|
|
|
+ goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.YHQ.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(discountAfterPrice));
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
@@ -4251,7 +4251,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity, goodsEntity.getRetailPrice(), goodsService).setScale(3, RoundingMode.HALF_UP);
|
|
|
goodsDetailsDto.setActualPaymentAmount(discountAfterPrice);
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
- goodsDetailsDto.setActivity("优惠券活动");
|
|
|
+ goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.YHQ.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(discountAfterPrice));
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
@@ -4393,7 +4393,16 @@ public class OrderServiceImpl implements OrderService {
|
|
|
int scoreMayDeductionPrice = (int) (score / scoreLimit);
|
|
|
BigDecimal scoreMayDeductionPriceDecimal = new BigDecimal(scoreMayDeductionPrice);
|
|
|
// 过滤掉参与过限时特价并且与积分抵扣互斥的sku,以及未参加积分抵扣活动的sku
|
|
|
- goodsDetailsDtos = goodsDetailsDtos.stream().filter(goodsDetailsDto -> !promotionSkuList.contains(goodsDetailsDto.getSku()) && scoreDeductionSkuList.contains(goodsDetailsDto.getSku())).collect(Collectors.toList());
|
|
|
+ goodsDetailsDtos = goodsDetailsDtos.stream().filter(goodsDetailsDto -> {
|
|
|
+ if (!promotionSkuList.contains(goodsDetailsDto.getSku()) && scoreDeductionSkuList.contains(goodsDetailsDto.getSku())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ // 满赠商品不参与积分分摊计算
|
|
|
+ if (!Constants.ActivityTopicEnum.MZ.getTopicName().equals(goodsDetailsDto.getActivity())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
// 总分摊积分
|
|
|
BigDecimal shareScore = BigDecimal.ZERO;
|
|
|
BigDecimal scoreIntegerDecimal = BigDecimal.valueOf(scoreInteger);
|
|
@@ -4403,7 +4412,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
GoodsDetailsDto goodsDetailsDto = goodsDetailsDtos.get(i);
|
|
|
// 抵扣积分分摊
|
|
|
int index = size - 1;
|
|
|
- goodsDetailsDto.setActivity("积分抵扣");
|
|
|
+ goodsDetailsDto.setActivity(org.springframework.util.StringUtils.isEmpty(goodsDetailsDto.getActivity()) ? "积分抵扣" : goodsDetailsDto.getActivity() + ",积分抵扣");
|
|
|
String sku = goodsDetailsDto.getGoodsSn();
|
|
|
BigDecimal scoreLimitDecimal = skuScoreLimitMap.get(sku);
|
|
|
String prodBarcode = goodsDetailsDto.getProdBarcode();
|