|
@@ -4170,12 +4170,32 @@ public class OrderServiceImpl implements OrderService {
|
|
|
BigDecimal orderTotalPrice = BigDecimal.ZERO;
|
|
|
List<QueryGoodsVO> goodsVos = new ArrayList<>();
|
|
|
for (GoodsDetailsDto good : goodsDetailsDtos) {
|
|
|
+ // 清空上一次计算活动价格的相关信息
|
|
|
+ BigDecimal deductionPrice = good.getDeductionPrice();
|
|
|
+ if (Objects.nonNull(deductionPrice)) {
|
|
|
+ good.setDeductionPrice(null);
|
|
|
+ }
|
|
|
+ Integer deductionScore = good.getDeductionScore();
|
|
|
+ if (Objects.nonNull(deductionScore)) {
|
|
|
+ good.setDeductionScore(null);
|
|
|
+ }
|
|
|
+ BigDecimal discountedPrice = good.getDiscountedPrice();
|
|
|
+ if (Objects.nonNull(discountedPrice)) {
|
|
|
+ good.setDiscountedPrice(null);
|
|
|
+ }
|
|
|
+ String activity = good.getActivity();
|
|
|
+ if (Objects.nonNull(activity)) {
|
|
|
+ good.setActivity(null);
|
|
|
+ }
|
|
|
+ BigDecimal actualPaymentAmount = good.getActualPaymentAmount();
|
|
|
+ good.setActualPaymentAmount(good.getRetailPrice());
|
|
|
+
|
|
|
QueryGoodsVO queryGoodsVo = new QueryGoodsVO();
|
|
|
BeanUtils.copyProperties(good, queryGoodsVo);
|
|
|
queryGoodsVo.setSku(good.getGoodsSn());
|
|
|
queryGoodsVo.setStoreId(Long.parseLong(storeId));
|
|
|
queryGoodsVo.setDisCountedPrice(BigDecimal.ZERO);
|
|
|
- queryGoodsVo.setTotalPrice(good.getActualPaymentAmount());
|
|
|
+ queryGoodsVo.setTotalPrice(actualPaymentAmount);
|
|
|
orderTotalPrice = orderTotalPrice.add(good.getRetailPrice());
|
|
|
goodsVos.add(queryGoodsVo);
|
|
|
}
|
|
@@ -4278,7 +4298,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.LSCX.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(activityPrice));
|
|
|
- goodsDetailsDto.setDeductionPrice(retailPrice.subtract(activityPrice));
|
|
|
+ goodsDetailsDto.setDeductionPrice(null);
|
|
|
activityFlag.set(false);
|
|
|
promotionActivityFlag.set(true);
|
|
|
}
|
|
@@ -4320,6 +4340,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.MZ.getTopicName());
|
|
|
goodsDetailsDto.setGiftNumber(mkActivitiesFullGiftEntity.getGiftNumber());
|
|
|
goodsDetailsDto.setDiscountedPrice(goodsEntity.getRetailPrice());
|
|
|
+ goodsDetailsDto.setDeductionPrice(null);
|
|
|
// 添加进商品详情列表
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
@@ -4352,6 +4373,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.MZ.getTopicName());
|
|
|
goodsDetailsDto.setGiftNumber(mkActivitiesFullGiftEntity.getGiftNumber());
|
|
|
goodsDetailsDto.setDiscountedPrice(goodsEntity.getRetailPrice());
|
|
|
+ goodsDetailsDto.setDeductionPrice(null);
|
|
|
// 添加进商品详情列表
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
@@ -4408,6 +4430,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.YHQ.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(discountAfterPrice));
|
|
|
+ goodsDetailsDto.setDeductionPrice(null);
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
|
}
|
|
@@ -4436,6 +4459,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.YHQ.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(discountAfterPrice));
|
|
|
+ goodsDetailsDto.setDeductionPrice(null);
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
|
}
|
|
@@ -4465,6 +4489,7 @@ public class OrderServiceImpl implements OrderService {
|
|
|
goodsDetailsDto.setGoodstaxes(String.valueOf(tax.multiply(new BigDecimal(goodsDetailsDto.getSellVolume()))));
|
|
|
goodsDetailsDto.setActivity(Constants.ActivityTopicEnum.YHQ.getTopicName());
|
|
|
goodsDetailsDto.setDiscountedPrice(retailPrice.subtract(discountAfterPrice));
|
|
|
+ goodsDetailsDto.setDeductionPrice(null);
|
|
|
goodsDetailsDtos.add(goodsDetailsDto);
|
|
|
activityFlag.set(false);
|
|
|
}
|