NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Coupons for Laravel

Artisan príkazy

# Immediately expire coupons (admin kill-switch) — Coupons::expireAll(). --code limits it to
# one coupon. Each one is revoked like Coupons::revoke(): CouponRevoked fires per coupon.
php artisan coupons:expire
php artisan coupons:expire --code=SAVE20

# Prune coupons expired more than N days ago — Coupons::prune(). Soft deletes (the code is free
# to issue again, the history stays); --force deletes permanently, including coupons an earlier
# prune soft-deleted. A --days that is negative or not a whole number (thirty, 1.5) is refused.
php artisan coupons:prune --days=30
php artisan coupons:prune --days=30 --force
SignatúraČo robí
coupons:expire {--code=}Núdzový vypínač, spúšťa Coupons::expireAll(): odvolá každý platný kupón (alebo len --code) — expires_at = teraz a jedna udalosť CouponRevoked na kupón. Vypíše počet.
coupons:prune {--days=30} {--force}Spúšťa Coupons::prune(): soft-delete kupónov, ktorým platnosť uplynula pred aspoň --days dňami — kód sa dá vydať znova a história zostane; --force ich zmaže natrvalo vrátane tých, ktoré skoršie čistenie už zmazalo mäkko. Záporné alebo neceločíselné --days (thirty, 1.5) príkaz odmietne.

Každý príkaz je jedno volanie manažéra, takže rovnakú prácu spustíte aj z kódu — a pod Coupons::fake() sa len zaznamená, nevykoná:

use RoundlyConsulting\Coupons\Facades\Coupons;

Coupons::expireAll();                    // what coupons:expire runs; returns the count
Coupons::expireAll(code: 'SAVE20');      // coupons:expire --code=SAVE20
Coupons::prune(days: 30);                // coupons:prune --days=30
Coupons::prune(days: 30, force: true);   // coupons:prune --days=30 --force

Oba príkazy pracujú po dávkach po 100 a dopytujú model nastavený v coupons.model, takže udalosti a prepísané metódy vašej podtriedy sa spustia pre každý kupón, ktorého sa dotknú.

Plánovanie

Príkaz na čistenie spúšťajte cez plánovač Laravelu:

// routes/console.php
use Illuminate\Support\Facades\Schedule;

Schedule::command('coupons:prune --days=90')->weekly();

Vyčistené kupóny sa zmažú len mäkko (soft delete), zachovajú si históriu uplatnení a ich kódy sa dajú vydať znova. S --force sa riadky zmažú natrvalo a cudzí kľúč kaskádovo odstráni aj ich riadky coupon_redemptions.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.