|
|
@@ -0,0 +1,49 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace App\Http\Controllers\admin;
|
|
|
+
|
|
|
+use App\Constants\HttpStatus;
|
|
|
+use App\Http\Controllers\Controller;
|
|
|
+use App\Models\PaymentOrder;
|
|
|
+use App\Services\PaymentOrderService;
|
|
|
+use Illuminate\Validation\ValidationException;
|
|
|
+use Exception;
|
|
|
+
|
|
|
+class Home extends Controller
|
|
|
+{
|
|
|
+ public function index()
|
|
|
+ {
|
|
|
+
|
|
|
+ try {
|
|
|
+ request()->validate([
|
|
|
+ 'start_date' => ['nullable', 'date_format:Y-m-d'],
|
|
|
+ 'end_date' => ['nullable', 'date_format:Y-m-d', 'after:start_date'],
|
|
|
+ ]);
|
|
|
+ $start = request()->input('start_date', date('Y-m-d'));
|
|
|
+ $end = request()->input('end_date', date('Y-m-d'));
|
|
|
+ $query = PaymentOrder::query();
|
|
|
+ $params['type'] = 2;
|
|
|
+ $where = PaymentOrderService::getWhere($params);
|
|
|
+
|
|
|
+ $totalAmount = (float)$query->where($where)
|
|
|
+ ->whereDate('created_at', date('Y-m-d'))->sum('amount');
|
|
|
+ $totalSuccess = (float)$query->where($where)->whereDate('created_at', date('Y-m-d'))
|
|
|
+ ->whereIn('status', [1, 2])->sum('amount');
|
|
|
+ $totalFail = (float)$query->where($where)->whereDate('created_at', date('Y-m-d'))
|
|
|
+ ->where('status', 3)->sum('amount');
|
|
|
+ $result = [
|
|
|
+ 'withdraw_rmb' => [
|
|
|
+ 'total_fail' => $totalFail,
|
|
|
+ 'total_success' => $totalSuccess,
|
|
|
+ 'total_amount' => $totalAmount,
|
|
|
+ ]
|
|
|
+
|
|
|
+ ];
|
|
|
+ } catch (ValidationException $e) {
|
|
|
+ return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first());
|
|
|
+ } catch (Exception $e) {
|
|
|
+ return $this->error($e->getCode(), $e->getmessage());
|
|
|
+ }
|
|
|
+ return $this->success($result);
|
|
|
+ }
|
|
|
+}
|