From d3fa770bfaca1bb58cbbad20b1ae7d16db44ee3c Mon Sep 17 00:00:00 2001 From: Jing Li Date: Sun, 12 May 2024 17:00:19 +0800 Subject: [PATCH] Update --- app/Http/Controllers/Api/LedgerController.php | 28 ++++++++++++------- app/Http/Resources/KeywordResource.php | 1 + app/Models/Keyword.php | 4 +++ database/seeders/KeywordSeeder.php | 16 ++++++++++- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Api/LedgerController.php b/app/Http/Controllers/Api/LedgerController.php index 812824a..2a13cbe 100644 --- a/app/Http/Controllers/Api/LedgerController.php +++ b/app/Http/Controllers/Api/LedgerController.php @@ -27,19 +27,27 @@ class LedgerController extends Controller throw new RuntimeException('非店长不可上报数据'); } + $rules = [ + 'date' => ['bail', 'required', 'date_format:Y-m-d'], + 'items' => ['bail', 'array'], + 'new_customers' => ['bail', 'required', 'int', 'min:0'], + 'sales' => ['bail', 'required', 'numeric', 'min:0'], + 'expenditure' => ['bail', 'required', 'numeric', 'min:0'], + 'handover_amount' => ['bail', 'required', 'numeric', 'min:0'], + 'photos' => ['bail', 'required', 'array'], + ]; + // 是否是彩票店数据上报 - $isLotteryLedger = $user->store?->isLotteryStore(); + if ($isLotteryLedger = $user->store?->isLotteryStore()) { + $rules = array_merge($rules, [ + 'items' => ['bail', 'required', 'array'], + 'sales' => ['bail', 'required', 'numeric'], + 'expenditure' => ['bail', 'required', 'numeric'], + ]); + } $validated = $request->validate( - rules: [ - 'date' => ['bail', 'required', 'date_format:Y-m-d'], - 'items' => $isLotteryLedger ? ['bail', 'required', 'array'] : ['bail', 'array'], - 'new_customers' => ['bail', 'required', 'int', 'min:0'], - 'sales' => ['bail', 'required', 'numeric', 'min:0'], - 'expenditure' => ['bail', 'required', 'numeric', 'min:0'], - 'handover_amount' => ['bail', 'required', 'numeric', 'min:0'], - 'photos' => ['bail', 'required', 'array'], - ], + rules: $rules, attributes: [ 'date' => '日期', 'items' => '彩种数据', diff --git a/app/Http/Resources/KeywordResource.php b/app/Http/Resources/KeywordResource.php index 2ecb230..f8da623 100644 --- a/app/Http/Resources/KeywordResource.php +++ b/app/Http/Resources/KeywordResource.php @@ -17,6 +17,7 @@ class KeywordResource extends JsonResource return [ 'id' => $this->key, 'name' => $this->name, + 'value' => $this->value, ]; } } diff --git a/app/Models/Keyword.php b/app/Models/Keyword.php index 8383f43..cfa4505 100644 --- a/app/Models/Keyword.php +++ b/app/Models/Keyword.php @@ -15,6 +15,10 @@ class Keyword extends Model use Filterable; use HasFactory; + protected $casts = [ + 'value' => 'json', + ]; + protected $fillable = ['name', 'key', 'value', 'parent_id', 'parent_key', 'path', 'sort', 'lv']; protected function serializeDate(\DateTimeInterface $date) diff --git a/database/seeders/KeywordSeeder.php b/database/seeders/KeywordSeeder.php index d5b716b..e27c48c 100644 --- a/database/seeders/KeywordSeeder.php +++ b/database/seeders/KeywordSeeder.php @@ -62,7 +62,21 @@ class KeywordSeeder extends Seeder [ 'key' => 'lottery_type', 'name' => '彩种类型', - 'children' => ['七星彩', '排列三', '排列五', '大乐透', '传统足彩', '竞彩', '顶呱刮', '福彩', '合买', '电彩分票+', '即开分票+', '电彩分票-', '即开分票-'], + 'children' => [ + '七星彩', + '排列三', + '排列五', + '大乐透', + '传统足彩', + '竞彩', + '顶呱刮', + '福彩', + '合买', + '电彩分票+', + '即开分票+', + ['name' => '电彩分票-', 'value' => '-'], + ['name' => '即开分票-', 'value' => '-'], + ], ], [ 'key' => 'ledger_item_type',