fix: 修复购物车订单计算报错问题

This commit is contained in:
2025-10-15 10:48:56 +08:00
parent 6f64dafab7
commit bb47531a2b
2 changed files with 13 additions and 10 deletions

View File

@@ -237,7 +237,8 @@ export interface OrderExtraConfig {
memberDiscountRate?: number; // 会员折扣率如0.95=95折无会员价时用
newUserDiscount?: number; // 新用户减免金额默认0
fullReductionActivities: FullReductionActivity[]; // 当前店铺的满减活动列表(后端返回结构)
currentDinnerType: "dine" | "pickup" | "deliv" | "express"; // 当前就餐类型匹配useType
currentDinnerType: "dine-in" | "take-out" | "take-away" | "post"; // 当前就餐类型匹配useType
}
/** 订单费用汇总(修改:补充商家减免类型和明细) */
@@ -312,7 +313,7 @@ export interface FullReductionActivity {
export interface OrderExtraConfig {
// ... 原有字段不变 ...
fullReductionActivities: FullReductionActivity[]; // 当前店铺的满减活动列表(后端返回结构)
currentDinnerType: "dine" | "pickup" | "deliv" | "express"; // 当前就餐类型匹配useType
currentDinnerType: "dine-in" | "take-out" | "take-away" | "post"; // 当前就餐类型匹配useType
}
@@ -398,7 +399,7 @@ export function filterOptimalFullReductionActivity(
currentDinnerType: string,
currentTime: Date = new Date()
): FullReductionActivity | undefined {
if (!activities.length) return undefined;
if (!activities || !activities.length) return undefined;
console.log("原始满减活动列表:", activities);
// 第一步:基础筛选(未删除+当前店铺+活动进行中+就餐类型匹配)
const baseEligible = activities.filter(activity => {
@@ -1060,7 +1061,6 @@ export function calculateOrderCostSummary(
let usedFullReductionActivity: FullReductionActivity | undefined;
let usedFullReductionThreshold: FullReductionThreshold | undefined;
let fullReductionAmount = 0;
// 2.1 筛选最优满减活动(后端活动列表、当前店铺、就餐类型、时间)
usedFullReductionActivity = filterOptimalFullReductionActivity(
config.fullReductionActivities,