aiarmada/filament-vouchers 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aiarmada/filament-vouchers

Composer 安装命令:

composer require aiarmada/filament-vouchers

包简介

A Filament v5 plugin for administering vouchers provided by the AIArmada vouchers package

README 文档

README

Filament v5 admin panel plugin for managing vouchers powered by the aiarmada/vouchers package.

Features

  • Complete Voucher Management – create, edit, view, and delete vouchers with a rich Filament UI
  • Usage Tracking – monitor redemptions, discounts applied, and user activity
  • Wallet System – allow users to save vouchers for later use
  • Dashboard Widgets – stats overview, redemption trends, and usage timelines
  • Cart Integration – seamless voucher application when aiarmada/filament-cart is installed
  • Multi-Tenant Support – owner-scoped resources for marketplace scenarios
  • Targeting Configuration – define preset targeting rules for vouchers
  • Stacking Rules – configure how vouchers combine with each other

Installation

composer require aiarmada/filament-vouchers

Register the plugin in your panel provider:

use AIArmada\FilamentVouchers\FilamentVouchersPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentVouchersPlugin::make(),
        ]);
}

Publish the configuration:

php artisan vendor:publish --tag=filament-vouchers-config

Configuration

// config/filament-vouchers.php
return [
    // Navigation group for resources
    'navigation_group' => 'E-commerce',

    // Default currency for monetary displays
    'default_currency' => 'MYR',

    // Table polling interval (seconds or null to disable)
    'polling_interval' => 60,

    // Resource navigation ordering
    'resources' => [
        'navigation_sort' => [
            'vouchers' => 40,
            'voucher_usage' => 41,
        ],
    ],

    // Order resource for linking (set class-string or null)
    'order_resource' => null,

    // Owner types for multi-tenant voucher assignment
    'owners' => [],
];

Resources

Voucher Resource

Manage vouchers with full CRUD operations:

  • Code & Name – unique voucher identifier and display name
  • Type – percentage, fixed amount, or free shipping
  • Value – discount amount with currency support
  • Usage Limits – global and per-user redemption limits
  • Scheduling – start and expiry dates
  • Conditions – target rules via DSL presets
  • Owner Assignment – multi-tenant voucher ownership

Voucher Usage Resource

Track all voucher redemptions:

  • User/redeemer information
  • Discount amounts applied
  • Redemption channel (automatic, manual, API)
  • Order linking when configured

Widgets

The plugin provides these dashboard widgets:

Widget Description
VoucherStatsWidget Overview stats (total, active, upcoming, redemptions)
RedemptionTrendChart Redemption trends over time
VoucherCartStatsWidget Cart-specific voucher metrics
VoucherWalletStatsWidget Wallet entry statistics
VoucherUsageTimelineWidget Redemption timeline for a voucher
AppliedVouchersWidget Shows applied vouchers on a cart (table view)
QuickApplyVoucherWidget Inline voucher application form
VoucherSuggestionsWidget Smart voucher suggestions for carts
AppliedVouchersWidget Table of applied vouchers on a cart

Cart Integration

When aiarmada/filament-cart is installed, the plugin automatically enables:

  • Deep linking from usage records to cart views
  • Voucher application actions on cart pages
  • Applied voucher widgets on cart detail pages

Using Cart Actions

Add voucher actions to your cart resource pages:

use AIArmada\FilamentVouchers\Extensions\CartVoucherActions;

protected function getHeaderActions(): array
{
    return [
        CartVoucherActions::applyVoucher(),
        CartVoucherActions::showAppliedVouchers(),
    ];
}

Available actions:

  • applyVoucher() – modal form to enter and apply a voucher code
  • showAppliedVouchers() – modal displaying currently applied vouchers
  • removeVoucher($code) – remove a specific voucher from cart

Multi-Tenant Ownership

Configure owner types to enable voucher assignment to specific entities:

// config/filament-vouchers.php
'owners' => [
    [
        'label' => 'Store',
        'model' => App\Models\Store::class,
        'title_attribute' => 'name',
        'subtitle_attribute' => 'email',      // Optional
        'search_attributes' => ['name', 'code'],
    ],
    [
        'label' => 'Vendor',
        'model' => App\Models\Vendor::class,
        'title_attribute' => 'company_name',
        'search_attributes' => ['company_name', 'email'],
    ],
],

When configured, a searchable owner selector appears in the voucher form.

Global vouchers keep both owner_type and owner_id set to null; empty strings are not used as sentinels.

Documentation

License

MIT License. See LICENSE for details.

aiarmada/filament-vouchers 适用场景与选型建议

aiarmada/filament-vouchers 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 124 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 11 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 aiarmada/filament-vouchers 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 aiarmada/filament-vouchers 我们能提供哪些服务?
定制开发 / 二次开发

基于 aiarmada/filament-vouchers 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 124
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 18
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-06