34 lines
927 B
PHP
34 lines
927 B
PHP
<?php
|
|
|
|
namespace App\Endpoint\Api\Http\Controllers\Order;
|
|
|
|
use App\Endpoint\Api\Http\Controllers\Controller;
|
|
use App\Models\Order;
|
|
use Illuminate\Http\Request;
|
|
|
|
class StatisticsController extends Controller
|
|
{
|
|
/**
|
|
* 订单统计
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function __invoke(Request $request)
|
|
{
|
|
$user = $request->user();
|
|
|
|
$statistics = $user->orders()
|
|
->selectRaw('count(1) as aggregate, status')
|
|
->groupBy('status')
|
|
->pluck('aggregate', 'status');
|
|
|
|
return response()->json([
|
|
// 待付款订单数
|
|
'pending_orders_count' => $statistics->get(Order::STATUS_PENDING, 0),
|
|
// 待收货订单数
|
|
'unreceived_orders_count' => $statistics->get(Order::STATUS_PAID, 0),
|
|
]);
|
|
}
|
|
}
|