generated from liutk/owl-admin-base
Update
parent
125a6538a2
commit
93d745fc9f
|
|
@ -71,13 +71,13 @@ class SalesStatisticController extends AdminController
|
||||||
DB::raw('SUM(expenditure) as expenditure'),
|
DB::raw('SUM(expenditure) as expenditure'),
|
||||||
])
|
])
|
||||||
->filter($request->input(), LedgerItemFilter::class)
|
->filter($request->input(), LedgerItemFilter::class)
|
||||||
->whereIn('ledger_item_type_id', $lotteryTypes->pluck('value'))
|
->whereIn('ledger_item_type_id', $lotteryTypes->pluck('key'))
|
||||||
->groupBy('ledger_item_type_id')
|
->groupBy('ledger_item_type_id')
|
||||||
->get()
|
->get()
|
||||||
->keyBy('ledger_item_type_id');
|
->keyBy('ledger_item_type_id');
|
||||||
|
|
||||||
return $lotteryTypes->map(function ($lotteryType) use ($statistics) {
|
return $lotteryTypes->map(function ($lotteryType) use ($statistics) {
|
||||||
$statistic = $statistics->get($lotteryType->value);
|
$statistic = $statistics->get($lotteryType->key);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'name' => $lotteryType->name,
|
'name' => $lotteryType->name,
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers\Api\Ledger;
|
|
||||||
|
|
||||||
use App\Http\Controllers\Api\Controller;
|
|
||||||
use App\Models\Keyword;
|
|
||||||
|
|
||||||
class LotteryTypeController extends Controller
|
|
||||||
{
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
/** @var \Illuminate\Database\Eloquent\Collection */
|
|
||||||
$lotteryTypes = Keyword::filter(['parent_key' => 'lottery_type'])->oldest('sort')->get();
|
|
||||||
|
|
||||||
return $lotteryTypes
|
|
||||||
->filter(fn (Keyword $type) => (string) $type->value !== '')
|
|
||||||
->map(fn ($item) => [
|
|
||||||
'id' => $item->value,
|
|
||||||
'name' => $item->name,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Api\Ledger;
|
namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
use App\Exceptions\RuntimeException;
|
use App\Exceptions\RuntimeException;
|
||||||
use App\Http\Controllers\Api\Controller;
|
use App\Http\Controllers\Api\Controller;
|
||||||
|
|
@ -50,9 +50,7 @@ class LedgerController extends Controller
|
||||||
/** @var \Illuminate\Database\Eloquent\Collection */
|
/** @var \Illuminate\Database\Eloquent\Collection */
|
||||||
$lotteryTypes = Keyword::filter(['parent_key' => 'lottery_type'])
|
$lotteryTypes = Keyword::filter(['parent_key' => 'lottery_type'])
|
||||||
->oldest('sort')
|
->oldest('sort')
|
||||||
->get()
|
->get();
|
||||||
// 过滤未绑定上报数据类型的彩种
|
|
||||||
->filter(fn (Keyword $type) => (string) $type->value !== '');
|
|
||||||
|
|
||||||
// 上报数据项的格式:
|
// 上报数据项的格式:
|
||||||
// [
|
// [
|
||||||
|
|
@ -65,7 +63,7 @@ class LedgerController extends Controller
|
||||||
|
|
||||||
/** @var \App\Models\Keyword */
|
/** @var \App\Models\Keyword */
|
||||||
foreach ($lotteryTypes as $lotteryType) {
|
foreach ($lotteryTypes as $lotteryType) {
|
||||||
$item = $items->get($lotteryType->value);
|
$item = $items->get($lotteryType->key);
|
||||||
|
|
||||||
if (is_null($item)) {
|
if (is_null($item)) {
|
||||||
throw new RuntimeException("{$lotteryType->name}未填写上报数据");
|
throw new RuntimeException("{$lotteryType->name}未填写上报数据");
|
||||||
|
|
@ -155,24 +153,6 @@ class LedgerController extends Controller
|
||||||
->where('date', $date)
|
->where('date', $date)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
$data = null;
|
|
||||||
|
|
||||||
if ($ledger) {
|
|
||||||
$data = [
|
|
||||||
'date' => $ledger->date,
|
|
||||||
'items' => $ledger->items->map(fn ($item) => [
|
|
||||||
'id' => $item->ledger_item_type_id,
|
|
||||||
'sales' => $item->sales,
|
|
||||||
'expenditure' => $item->expenditure,
|
|
||||||
]),
|
|
||||||
'new_customers' => $ledger->new_customers,
|
|
||||||
'sales' => $ledger->sales,
|
|
||||||
'expenditure' => $ledger->expenditure,
|
|
||||||
'handover_amount' => $ledger->handover_amount,
|
|
||||||
'photos' => $ledger->photos,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'data' => $ledger ? $this->prepareLedger($ledger) : null,
|
'data' => $ledger ? $this->prepareLedger($ledger) : null,
|
||||||
];
|
];
|
||||||
|
|
@ -75,19 +75,12 @@ class KeywordSeeder extends Seeder
|
||||||
[
|
[
|
||||||
'key' => 'lottery_type',
|
'key' => 'lottery_type',
|
||||||
'name' => '彩种类型',
|
'name' => '彩种类型',
|
||||||
'children' => [
|
'children' => ['电彩', '竞彩', '即开'],
|
||||||
['name' => '电彩', 'value' => 'ledger_item_type_1'],
|
|
||||||
['name' => '竞彩', 'value' => 'ledger_item_type_2'],
|
|
||||||
['name' => '即开', 'value' => 'ledger_item_type_3'],
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'key' => 'ledger_item_type',
|
'key' => 'ledger_item_type',
|
||||||
'name' => '上报数据类型',
|
'name' => '上报数据类型',
|
||||||
'children' => [
|
'children' => [
|
||||||
'电彩',
|
|
||||||
'竞彩',
|
|
||||||
'即开',
|
|
||||||
['key' => 'ledger_item_type_other', 'name' => '其他']
|
['key' => 'ledger_item_type_other', 'name' => '其他']
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,7 @@ use App\Http\Controllers\Api\ComplaintController;
|
||||||
use App\Http\Controllers\Api\FeedbackController;
|
use App\Http\Controllers\Api\FeedbackController;
|
||||||
use App\Http\Controllers\Api\FileUploadController;
|
use App\Http\Controllers\Api\FileUploadController;
|
||||||
use App\Http\Controllers\Api\KeywordController;
|
use App\Http\Controllers\Api\KeywordController;
|
||||||
use App\Http\Controllers\Api\Ledger\LedgerController;
|
use App\Http\Controllers\Api\LedgerController;
|
||||||
use App\Http\Controllers\Api\Ledger\LotteryTypeController;
|
|
||||||
use App\Http\Controllers\Api\ReimbursementController;
|
use App\Http\Controllers\Api\ReimbursementController;
|
||||||
use App\Http\Controllers\Api\StatsController;
|
use App\Http\Controllers\Api\StatsController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
@ -39,9 +38,7 @@ Route::group([
|
||||||
Route::get('/stats/dashboard', [StatsController::class, 'dashboard']);
|
Route::get('/stats/dashboard', [StatsController::class, 'dashboard']);
|
||||||
|
|
||||||
// 数据上报
|
// 数据上报
|
||||||
Route::post('/ledger/ledgers', [LedgerController::class, 'store']);
|
Route::apiResource('/ledgers', LedgerController::class)->only(['store', 'show']);
|
||||||
Route::get('/ledger/ledgers/{date}', [LedgerController::class, 'show']);
|
|
||||||
Route::get('/ledger/lottery-types', [LotteryTypeController::class, 'index']);
|
|
||||||
|
|
||||||
// 举报投诉
|
// 举报投诉
|
||||||
Route::post('complaints', [ComplaintController::class, 'store']);
|
Route::post('complaints', [ComplaintController::class, 'store']);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue