generated from liutk/owl-admin-base
Update
parent
55f562ac15
commit
7287a2bd38
|
|
@ -23,11 +23,12 @@ class LedgerFilter extends ModelFilter
|
|||
return;
|
||||
}
|
||||
|
||||
$provinceCode = Arr::get($region, 'provinceCode');
|
||||
// 区划代码 - 省份
|
||||
$provinceCode = (string) Arr::get($region, 'provinceCode');
|
||||
// 区划代码 - 城市
|
||||
$cityCode = (string) Arr::get($region, 'cityCode');
|
||||
|
||||
$cityCode = Arr::get($region, 'cityCode');
|
||||
|
||||
if (empty($provinceCode) && empty($cityCode)) {
|
||||
if ($provinceCode === '' && $cityCode === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Admin\Filters\LedgerFilter;
|
||||
use App\Models\Employee;
|
||||
use App\Models\Ledger;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Http\Request;
|
||||
|
|
@ -15,20 +17,9 @@ class StatsController extends Controller
|
|||
/** @var \App\Models\Employee */
|
||||
$user = $request->user();
|
||||
|
||||
$query = Ledger::when($user->isAdministrator(), function ($query) use ($request) {
|
||||
if ($request->filled('store_id')) {
|
||||
return $query->where('store_id', $request->input('store_id'));
|
||||
}
|
||||
|
||||
if (! $request->anyFilled(['province_code', 'city_code'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$query->whereHas('store', function ($query) use ($request) {
|
||||
$request->whenFilled('province_code', fn ($code) => $query->where('region->provinceCode', $code));
|
||||
$request->whenFilled('city_code', fn ($code) => $query->where('region->cityCode', $code));
|
||||
});
|
||||
}, fn ($query) => $query->where('store_id', $user->store_id));
|
||||
$query = Ledger::filter(
|
||||
$this->defaultInput($user, $request), LedgerFilter::class
|
||||
);
|
||||
|
||||
// 昨天
|
||||
$yesterday = Carbon::yesterday();
|
||||
|
|
@ -76,12 +67,6 @@ class StatsController extends Controller
|
|||
];
|
||||
}
|
||||
|
||||
public function test(Request $request)
|
||||
{
|
||||
/** @var \App\Models\Employee */
|
||||
$user = $request->user();
|
||||
}
|
||||
|
||||
/**
|
||||
* 准备趋势数据
|
||||
*/
|
||||
|
|
@ -105,4 +90,29 @@ class StatsController extends Controller
|
|||
|
||||
return $data->all();
|
||||
}
|
||||
|
||||
protected function defaultInput(Employee $employee, Request $request): array
|
||||
{
|
||||
$input = [];
|
||||
|
||||
if (! $employee->isAdministrator()) {
|
||||
$input['store_id'] = $employee->store_id;
|
||||
} elseif ($request->filled('store_id')) {
|
||||
$input['store_id'] = $request->input('store_id');
|
||||
} else {
|
||||
$region = [];
|
||||
|
||||
if ($request->filled('province_code')) {
|
||||
$region['provinceCode'] = $request->input('province_code');
|
||||
}
|
||||
|
||||
if ($request->filled('cityCode')) {
|
||||
$region['city_code'] = $request->input('city_code');
|
||||
}
|
||||
|
||||
$input['region'] = $region;
|
||||
}
|
||||
|
||||
return $input;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue