You've already forked FrameTour-BE
feat(pricing): 新增打包购买优惠功能
- 添加打包购买优惠信息类 BundleDiscountInfo - 实现打包购买优惠提供者 BundleDiscountProvider - 添加打包购买优惠服务接口 IBundleDiscountService 及其实现类 BundleDiscountServiceImpl - 在 DiscountInfo 中添加 bundleDiscountInfo 字段以支持打包优惠 - 更新 CLAUDE.md 文档,详细说明打包购买优惠系统的设计和实现
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
package com.ycwl.basic.pricing.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 打包购买优惠信息
|
||||
*/
|
||||
@Data
|
||||
public class BundleDiscountInfo {
|
||||
|
||||
/**
|
||||
* 打包配置ID
|
||||
*/
|
||||
private Long bundleConfigId;
|
||||
|
||||
/**
|
||||
* 打包名称
|
||||
*/
|
||||
private String bundleName;
|
||||
|
||||
/**
|
||||
* 打包描述
|
||||
*/
|
||||
private String bundleDescription;
|
||||
|
||||
/**
|
||||
* 打包优惠类型
|
||||
* FIXED_DISCOUNT: 固定减免金额
|
||||
* PERCENTAGE_DISCOUNT: 百分比折扣
|
||||
* FIXED_PRICE: 固定价格
|
||||
*/
|
||||
private String discountType;
|
||||
|
||||
/**
|
||||
* 优惠值(根据类型不同含义不同)
|
||||
* FIXED_DISCOUNT: 减免金额
|
||||
* PERCENTAGE_DISCOUNT: 折扣百分比(如0.8表示8折)
|
||||
* FIXED_PRICE: 固定价格
|
||||
*/
|
||||
private BigDecimal discountValue;
|
||||
|
||||
/**
|
||||
* 满足条件的商品列表
|
||||
*/
|
||||
private List<ProductItem> eligibleProducts;
|
||||
|
||||
/**
|
||||
* 最低购买数量要求
|
||||
*/
|
||||
private Integer minQuantity;
|
||||
|
||||
/**
|
||||
* 最低购买金额要求
|
||||
*/
|
||||
private BigDecimal minAmount;
|
||||
|
||||
/**
|
||||
* 实际优惠金额
|
||||
*/
|
||||
private BigDecimal actualDiscountAmount;
|
||||
|
||||
/**
|
||||
* 是否可与其他优惠叠加
|
||||
*/
|
||||
private Boolean canUseWithCoupon = true;
|
||||
|
||||
/**
|
||||
* 是否可与券码叠加
|
||||
*/
|
||||
private Boolean canUseWithVoucher = true;
|
||||
|
||||
/**
|
||||
* 是否可与一口价叠加
|
||||
*/
|
||||
private Boolean canUseWithOnePrice = true;
|
||||
}
|
||||
@@ -84,4 +84,9 @@ public class DiscountInfo {
|
||||
* 一口价信息(如果是一口价优惠)
|
||||
*/
|
||||
private OnePriceInfo onePriceInfo;
|
||||
|
||||
/**
|
||||
* 打包优惠信息(如果是打包优惠)
|
||||
*/
|
||||
private BundleDiscountInfo bundleDiscountInfo;
|
||||
}
|
||||
Reference in New Issue
Block a user