diff --git a/app/Admin/Controllers/Draw/DrawActivityPrizeController.php b/app/Admin/Controllers/Draw/DrawActivityPrizeController.php index e1528926..101e7285 100644 --- a/app/Admin/Controllers/Draw/DrawActivityPrizeController.php +++ b/app/Admin/Controllers/Draw/DrawActivityPrizeController.php @@ -197,6 +197,9 @@ class DrawActivityPrizeController extends Controller } })->ajax(admin_route('api.coupons'))->help("仅奖品类型是 ".DrawPrizeType::Coupon->label()." 可用"); + $form->color("other.textColor", "字体颜色")->default("#FFFFFF"); + $form->color("other.bgColor", "背景色"); + $form->saving(function (Form $form) use ($drawActivity) { if (! $form->isCreating()) { $form->deleteInput('draw_activity_id'); diff --git a/app/Endpoint/Api/Http/Controllers/DrawActivityController.php b/app/Endpoint/Api/Http/Controllers/DrawActivityController.php index fe501797..558fe3f9 100644 --- a/app/Endpoint/Api/Http/Controllers/DrawActivityController.php +++ b/app/Endpoint/Api/Http/Controllers/DrawActivityController.php @@ -21,7 +21,7 @@ class DrawActivityController extends Controller public function show($id, Request $request) { $drawActivity = DrawActivity::with(['prizes' => function ($builder) { - $builder->latest('sort'); + $builder->orderBy('sort'); }])->onlyPublished()->findOrFail($id); $drawTicket = null; diff --git a/app/Endpoint/Api/Http/Resources/DrawActivityPrizeResource.php b/app/Endpoint/Api/Http/Resources/DrawActivityPrizeResource.php index 0d59422d..d28eb0b2 100644 --- a/app/Endpoint/Api/Http/Resources/DrawActivityPrizeResource.php +++ b/app/Endpoint/Api/Http/Resources/DrawActivityPrizeResource.php @@ -20,6 +20,7 @@ class DrawActivityPrizeResource extends JsonResource 'icon' => $this->icon, 'type' => $this->type, 'amount' => trim_trailing_zeros($this->amount), + 'other' => $this->other ]; } } diff --git a/app/Models/DrawActivityPrize.php b/app/Models/DrawActivityPrize.php index 116b0df7..95f91585 100644 --- a/app/Models/DrawActivityPrize.php +++ b/app/Models/DrawActivityPrize.php @@ -27,6 +27,7 @@ class DrawActivityPrize extends Model protected $casts = [ 'type' => DrawPrizeType::class, 'limited' => 'bool', + 'other' => 'json' ]; /** @@ -44,7 +45,8 @@ class DrawActivityPrize extends Model 'winnings', 'sort', 'auto_send', - 'price_type_id' + 'price_type_id', + 'other' ]; public static function booted() diff --git a/database/migrations/2022_05_17_113925_create_draw_activity_prizes_table.php b/database/migrations/2022_05_17_113925_create_draw_activity_prizes_table.php index 2b6c8e73..30e3e8f6 100644 --- a/database/migrations/2022_05_17_113925_create_draw_activity_prizes_table.php +++ b/database/migrations/2022_05_17_113925_create_draw_activity_prizes_table.php @@ -26,7 +26,8 @@ class CreateDrawActivityPrizesTable extends Migration $table->unsignedInteger('winnings')->default(0)->comment('中奖数量'); $table->integer('sort')->default(0)->comment('排序'); $table->integer('auto_send')->default(0)->comment('奖品是否自动发放'); - $table->unsignedBigInteger('price_type_id')->nullable()->comment('奖品关联记录id(例如: 奖品是优惠券, 保存 coupons.id)'); + $table->unsignedBigInteger('price_type_id')->nullable()->comment('奖品关联记录id(例如: 奖品是优惠券, 保存 coupons.id)'); + $table->json('other')->nullable()->comment("奖品其它配置项{textColor: 字体颜色, bgColor: 背景色}"); $table->timestamps(); }); }