'decimal:2', 'used_giftcard_amount' => 'decimal:2', 'remaining_giftcard_amount' => 'decimal:2', 'customer_id' => 'integer', 'expirationdate' => 'date', ]; public static function setGiftCardCode($giftcard) { if (!$giftcard) { return false; } $cart = cart()->getCart(); $cart->giftcard_number = $giftcard->giftcard_number; // 计算可以使用的礼品卡金额 if ($cart->grand_total <= $giftcard->remaining_giftcard_amount) { $cart->giftcard_amount = $cart->grand_total; } else { $cart->giftcard_amount = $giftcard->remaining_giftcard_amount; } // 更新购物车总额 $cart->grand_total = max(0, $cart->grand_total - $cart->giftcard_amount); $cart->base_grand_total = max(0, $cart->base_grand_total - $cart->giftcard_amount); $cart->save(); return true; } public static function removeGiftCardCode() { $cart = cart()->getCart(); $giftcardAmount = $cart->giftcard_amount ?? 0; // 清除购物车中的礼品卡标记 $cart->giftcard_number = null; $cart->giftcard_amount = null; // 恢复购物车总额 $cart->grand_total += $giftcardAmount; $cart->base_grand_total += $giftcardAmount; $cart->save(); return true; } }