mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-15 10:41:54 +08:00
mall + trade:调整价格字段,更易懂
This commit is contained in:
@@ -22,7 +22,7 @@ public interface PriceConvert {
|
||||
// 创建 PriceCalculateRespDTO 对象
|
||||
PriceCalculateRespDTO priceCalculate = new PriceCalculateRespDTO();
|
||||
// 创建它的 Order 属性
|
||||
PriceCalculateRespDTO.Order order = new PriceCalculateRespDTO.Order().setOriginalPrice(0).setDiscountPrice(0)
|
||||
PriceCalculateRespDTO.Order order = new PriceCalculateRespDTO.Order().setTotalPrice(0).setDiscountPrice(0)
|
||||
.setCouponPrice(0).setPointPrice(0).setDeliveryPrice(0).setPayPrice(0)
|
||||
.setItems(new ArrayList<>()).setCouponId(calculateReqDTO.getCouponId());
|
||||
priceCalculate.setOrder(order).setPromotions(new ArrayList<>());
|
||||
@@ -38,8 +38,8 @@ public interface PriceConvert {
|
||||
orderItem.setPayPrice(orderItem.getOriginalPrice()).setOrderDividePrice(orderItem.getOriginalPrice());
|
||||
priceCalculate.getOrder().getItems().add(orderItem);
|
||||
// 补充价格信息到 Order 中
|
||||
order.setOriginalPrice(order.getOriginalPrice() + orderItem.getOriginalPrice())
|
||||
.setOrderPrice(order.getOriginalPrice()).setPayPrice(order.getOriginalPrice());
|
||||
order.setTotalPrice(order.getTotalPrice() + orderItem.getOriginalPrice())
|
||||
.setPayPrice(order.getTotalPrice());
|
||||
});
|
||||
return priceCalculate;
|
||||
}
|
||||
|
@@ -406,7 +406,7 @@ public class PriceServiceImpl implements PriceService {
|
||||
// 创建营销明细
|
||||
PriceCalculateRespDTO.Promotion promotion = new PriceCalculateRespDTO.Promotion()
|
||||
.setId(id).setName(name).setType(type).setLevel(level)
|
||||
.setOriginalPrice(promotionItem.getOriginalPrice()).setDiscountPrice(promotionItem.getDiscountPrice())
|
||||
.setTotalPrice(promotionItem.getOriginalPrice()).setDiscountPrice(promotionItem.getDiscountPrice())
|
||||
.setItems(singletonList(promotionItem)).setMeet(meet).setMeetTip(meetTip);
|
||||
priceCalculate.getPromotions().add(promotion);
|
||||
}
|
||||
@@ -437,7 +437,7 @@ public class PriceServiceImpl implements PriceService {
|
||||
// 创建营销明细
|
||||
PriceCalculateRespDTO.Promotion promotion = new PriceCalculateRespDTO.Promotion()
|
||||
.setId(id).setName(name).setType(type).setLevel(level)
|
||||
.setOriginalPrice(getSumValue(orderItems, PriceCalculateRespDTO.OrderItem::getOrderDividePrice, Integer::sum))
|
||||
.setTotalPrice(getSumValue(orderItems, PriceCalculateRespDTO.OrderItem::getOrderDividePrice, Integer::sum))
|
||||
.setDiscountPrice(getSumValue(discountPrices, value -> value, Integer::sum))
|
||||
.setItems(promotionItems).setMeet(meet).setMeetTip(meetTip);
|
||||
priceCalculate.getPromotions().add(promotion);
|
||||
@@ -453,7 +453,7 @@ public class PriceServiceImpl implements PriceService {
|
||||
Integer originalPrice = getSumValue(orderItems, PriceCalculateRespDTO.OrderItem::getOrderDividePrice, Integer::sum);
|
||||
PriceCalculateRespDTO.Promotion promotion = new PriceCalculateRespDTO.Promotion()
|
||||
.setId(id).setName(name).setType(type).setLevel(level)
|
||||
.setOriginalPrice(originalPrice).setDiscountPrice(0)
|
||||
.setTotalPrice(originalPrice).setDiscountPrice(0)
|
||||
.setItems(promotionItems).setMeet(false).setMeetTip(meetTip);
|
||||
priceCalculate.getPromotions().add(promotion);
|
||||
}
|
||||
@@ -476,7 +476,6 @@ public class PriceServiceImpl implements PriceService {
|
||||
// 设置 Order 相关相关字段
|
||||
PriceCalculateRespDTO.Order order = priceCalculate.getOrder();
|
||||
order.setPayPrice(order.getPayPrice() - diffPayPrice);
|
||||
order.setOrderPrice(order.getOrderPrice() - diffPayPrice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -70,8 +70,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
PriceCalculateRespDTO priceCalculate = priceService.calculatePrice(calculateReqDTO);
|
||||
// 断言 Order 部分
|
||||
PriceCalculateRespDTO.Order order = priceCalculate.getOrder();
|
||||
assertEquals(order.getOriginalPrice(), 200);
|
||||
assertEquals(order.getOrderPrice(), 180);
|
||||
assertEquals(order.getTotalPrice(), 200);
|
||||
assertEquals(order.getDiscountPrice(), 0);
|
||||
assertEquals(order.getPointPrice(), 0);
|
||||
assertEquals(order.getDeliveryPrice(), 0);
|
||||
@@ -95,7 +94,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion.getName(), "会员折扣");
|
||||
assertEquals(promotion.getType(), PromotionTypeEnum.MEMBER.getType());
|
||||
assertEquals(promotion.getLevel(), PromotionLevelEnum.SKU.getLevel());
|
||||
assertEquals(promotion.getOriginalPrice(), 200);
|
||||
assertEquals(promotion.getTotalPrice(), 200);
|
||||
assertEquals(promotion.getDiscountPrice(), 20);
|
||||
assertTrue(promotion.getMeet());
|
||||
assertEquals(promotion.getMeetTip(), "会员折扣:省 0.20 元");
|
||||
@@ -133,8 +132,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
PriceCalculateRespDTO priceCalculate = priceService.calculatePrice(calculateReqDTO);
|
||||
// 断言 Order 部分
|
||||
PriceCalculateRespDTO.Order order = priceCalculate.getOrder();
|
||||
assertEquals(order.getOriginalPrice(), 350);
|
||||
assertEquals(order.getOrderPrice(), 210);
|
||||
assertEquals(order.getTotalPrice(), 350);
|
||||
assertEquals(order.getDiscountPrice(), 0);
|
||||
assertEquals(order.getPointPrice(), 0);
|
||||
assertEquals(order.getDeliveryPrice(), 0);
|
||||
@@ -167,7 +165,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion01.getName(), "活动 1000 号");
|
||||
assertEquals(promotion01.getType(), PromotionTypeEnum.DISCOUNT_ACTIVITY.getType());
|
||||
assertEquals(promotion01.getLevel(), PromotionLevelEnum.SKU.getLevel());
|
||||
assertEquals(promotion01.getOriginalPrice(), 200);
|
||||
assertEquals(promotion01.getTotalPrice(), 200);
|
||||
assertEquals(promotion01.getDiscountPrice(), 80);
|
||||
assertTrue(promotion01.getMeet());
|
||||
assertEquals(promotion01.getMeetTip(), "限时折扣:省 0.80 元");
|
||||
@@ -181,7 +179,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion02.getName(), "活动 2000 号");
|
||||
assertEquals(promotion02.getType(), PromotionTypeEnum.DISCOUNT_ACTIVITY.getType());
|
||||
assertEquals(promotion02.getLevel(), PromotionLevelEnum.SKU.getLevel());
|
||||
assertEquals(promotion02.getOriginalPrice(), 150);
|
||||
assertEquals(promotion02.getTotalPrice(), 150);
|
||||
assertEquals(promotion02.getDiscountPrice(), 60);
|
||||
assertTrue(promotion02.getMeet());
|
||||
assertEquals(promotion02.getMeetTip(), "限时折扣:省 0.60 元");
|
||||
@@ -225,8 +223,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
PriceCalculateRespDTO priceCalculate = priceService.calculatePrice(calculateReqDTO);
|
||||
// 断言 Order 部分
|
||||
PriceCalculateRespDTO.Order order = priceCalculate.getOrder();
|
||||
assertEquals(order.getOriginalPrice(), 470);
|
||||
assertEquals(order.getOrderPrice(), 470);
|
||||
assertEquals(order.getTotalPrice(), 470);
|
||||
assertEquals(order.getDiscountPrice(), 130);
|
||||
assertEquals(order.getPointPrice(), 0);
|
||||
assertEquals(order.getDeliveryPrice(), 0);
|
||||
@@ -268,7 +265,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion01.getName(), "活动 1000 号");
|
||||
assertEquals(promotion01.getType(), PromotionTypeEnum.REWARD_ACTIVITY.getType());
|
||||
assertEquals(promotion01.getLevel(), PromotionLevelEnum.ORDER.getLevel());
|
||||
assertEquals(promotion01.getOriginalPrice(), 350);
|
||||
assertEquals(promotion01.getTotalPrice(), 350);
|
||||
assertEquals(promotion01.getDiscountPrice(), 70);
|
||||
assertTrue(promotion01.getMeet());
|
||||
assertEquals(promotion01.getMeetTip(), "满减送:省 0.70 元");
|
||||
@@ -287,7 +284,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion02.getName(), "活动 2000 号");
|
||||
assertEquals(promotion02.getType(), PromotionTypeEnum.REWARD_ACTIVITY.getType());
|
||||
assertEquals(promotion02.getLevel(), PromotionLevelEnum.ORDER.getLevel());
|
||||
assertEquals(promotion02.getOriginalPrice(), 120);
|
||||
assertEquals(promotion02.getTotalPrice(), 120);
|
||||
assertEquals(promotion02.getDiscountPrice(), 60);
|
||||
assertTrue(promotion02.getMeet());
|
||||
assertEquals(promotion02.getMeetTip(), "满减送:省 0.60 元");
|
||||
@@ -323,8 +320,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
PriceCalculateRespDTO priceCalculate = priceService.calculatePrice(calculateReqDTO);
|
||||
// 断言 Order 部分
|
||||
PriceCalculateRespDTO.Order order = priceCalculate.getOrder();
|
||||
assertEquals(order.getOriginalPrice(), 350);
|
||||
assertEquals(order.getOrderPrice(), 350);
|
||||
assertEquals(order.getTotalPrice(), 350);
|
||||
assertEquals(order.getDiscountPrice(), 0);
|
||||
assertEquals(order.getPointPrice(), 0);
|
||||
assertEquals(order.getDeliveryPrice(), 0);
|
||||
@@ -357,7 +353,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion01.getName(), "活动 1000 号");
|
||||
assertEquals(promotion01.getType(), PromotionTypeEnum.REWARD_ACTIVITY.getType());
|
||||
assertEquals(promotion01.getLevel(), PromotionLevelEnum.ORDER.getLevel());
|
||||
assertEquals(promotion01.getOriginalPrice(), 350);
|
||||
assertEquals(promotion01.getTotalPrice(), 350);
|
||||
assertEquals(promotion01.getDiscountPrice(), 0);
|
||||
assertFalse(promotion01.getMeet());
|
||||
assertEquals(promotion01.getMeetTip(), "TODO"); // TODO 芋艿:后面再想想
|
||||
@@ -396,8 +392,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
PriceCalculateRespDTO priceCalculate = priceService.calculatePrice(calculateReqDTO);
|
||||
// 断言 Order 部分
|
||||
PriceCalculateRespDTO.Order order = priceCalculate.getOrder();
|
||||
assertEquals(order.getOriginalPrice(), 470);
|
||||
assertEquals(order.getOrderPrice(), 470);
|
||||
assertEquals(order.getTotalPrice(), 470);
|
||||
assertEquals(order.getDiscountPrice(), 0);
|
||||
assertEquals(order.getPointPrice(), 0);
|
||||
assertEquals(order.getDeliveryPrice(), 0);
|
||||
@@ -440,7 +435,7 @@ public class PriceServiceTest extends BaseMockitoUnitTest {
|
||||
assertEquals(promotion01.getName(), "程序员节");
|
||||
assertEquals(promotion01.getType(), PromotionTypeEnum.COUPON.getType());
|
||||
assertEquals(promotion01.getLevel(), PromotionLevelEnum.COUPON.getLevel());
|
||||
assertEquals(promotion01.getOriginalPrice(), 350);
|
||||
assertEquals(promotion01.getTotalPrice(), 350);
|
||||
assertEquals(promotion01.getDiscountPrice(), 70);
|
||||
assertTrue(promotion01.getMeet());
|
||||
assertEquals(promotion01.getMeetTip(), "优惠劵:省 0.70 元");
|
||||
|
Reference in New Issue
Block a user