价格查询,待处理订单内容

This commit is contained in:
2025-08-14 10:48:59 +08:00
parent 41269572c7
commit 9c932b6ba8
41 changed files with 2371 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
package com.ycwl.basic.pricing.service;
import com.ycwl.basic.pricing.dto.CouponInfo;
import com.ycwl.basic.pricing.dto.CouponUseRequest;
import com.ycwl.basic.pricing.dto.CouponUseResult;
import com.ycwl.basic.pricing.dto.ProductItem;
import com.ycwl.basic.pricing.entity.PriceCouponConfig;
import java.math.BigDecimal;
import java.util.List;
/**
* 优惠券服务接口
*/
public interface ICouponService {
/**
* 自动选择最优优惠券
*
* @param userId 用户ID
* @param products 商品列表
* @param totalAmount 总金额
* @return 最优优惠券信息,如果没有可用优惠券则返回null
*/
CouponInfo selectBestCoupon(Long userId, List<ProductItem> products, BigDecimal totalAmount);
/**
* 计算优惠券优惠金额
*
* @param coupon 优惠券配置
* @param products 商品列表
* @param totalAmount 总金额
* @return 优惠金额
*/
BigDecimal calculateCouponDiscount(PriceCouponConfig coupon, List<ProductItem> products, BigDecimal totalAmount);
/**
* 验证优惠券是否可用
*
* @param coupon 优惠券配置
* @param products 商品列表
* @param totalAmount 总金额
* @return 是否可用
*/
boolean isCouponApplicable(PriceCouponConfig coupon, List<ProductItem> products, BigDecimal totalAmount);
/**
* 使用优惠券
*
* @param request 优惠券使用请求
* @return 使用结果
*/
CouponUseResult useCoupon(CouponUseRequest request);
/**
* 查询用户可用优惠券
*
* @param userId 用户ID
* @return 可用优惠券列表
*/
List<CouponInfo> getUserAvailableCoupons(Long userId);
}