Ken 1 săptămână în urmă
părinte
comite
1d2e4ae808
2 a modificat fișierele cu 18 adăugiri și 38 ștergeri
  1. 9 38
      app/Http/Controllers/admin/Balance.php
  2. 9 0
      app/Services/BalanceLogService.php

+ 9 - 38
app/Http/Controllers/admin/Balance.php

@@ -8,61 +8,32 @@ use App\Constants\HttpStatus;
 use App\Http\Controllers\Controller;
 use App\Models\BalanceLog;
 use App\Services\BalanceLogService;
+use Carbon\Carbon;
 use Illuminate\Validation\ValidationException;
 use Exception;
 
 class Balance extends Controller
 {
-
-    /**
-     * @api {get} /admin/balance/log 钱包记录
-     * @apiGroup 钱包相关
-     *
-     * @apiUse result
-     * @apiUse header
-     * @apiVersion 1.0.0
-     *
-     * @apiParam {int} [page=1]
-     * @apiParam {int} [limit=10]
-     * @apiParam {string} [member_id] tg会员ID
-     *
-     *
-     * @apiSuccess (data) {Object} data
-     * @apiSuccess (data) {int} data.total 数量
-     * @apiSuccess (data) {Object[]} data.data 列表
-     * @apiSuccess (data) {int} data.data.id
-     * @apiSuccess (data) {string} data.data.room_id 房间号,如果是结算
-     * @apiSuccess (data) {string} data.data.member_id  tg会员id
-     * @apiSuccess (data) {string} data.data.amount 变动金额
-     * @apiSuccess (data) {string} data.data.before_balance 变动前余额
-     * @apiSuccess (data) {string} data.data.after_balance 变动后余额
-     * @apiSuccess (data) {string} data.data.change_type 变动类型,如 "充值"、"提现"、"结算" 等
-     * @apiSuccess (data) {int} data.data.related_id 相关ID
-     * @apiSuccess (data) {string} data.data.updated_at
-     * @apiSuccess (data) {string} data.data.created_at
-     */
     public function log()
     {
         try {
-            request()->validate([
+            $params = request()->validate([
+                'page' => ['nullable', 'integer', 'min:1'],
+                'limit' => ['nullable', 'integer', 'min:1'],
                 'member_id' => ['nullable', 'string', 'min:1'],
                 'change_type' => ['nullable', 'string'],
+                'start_time' => ['nullable', 'date', 'date_format:Y-m-d', 'required_with:end_time'],
+                'end_time' => ['nullable', 'date', 'date_format:Y-m-d', 'required_with:start_time'],
             ]);
             $page = request()->input('page', 1);
             $limit = request()->input('limit', 10);
-            $memberId = request()->input('member_id');
-            $changeType= request()->input('change_type');
-            $query = BalanceLog::query();
-            if($changeType){
-                $query->where('change_type', $changeType);
-            }
-            if ($memberId) {
-                $query->where('member_id', $memberId);
-            }
+            $query = BalanceLog::where(BalanceLogService::getWhere($params));
             $data['total'] = $query->count();
             $data['data'] = $query->orderByDesc('id')
                 ->forPage($page, $limit)->with(['member'])
                 ->get()->toArray();
+
+
             $data['change_types'] = BalanceLogService::$RW;
 
 

+ 9 - 0
app/Services/BalanceLogService.php

@@ -59,6 +59,15 @@ class BalanceLogService extends BaseService
             $where[] = ['member_id', '=', $search['member_id']];
         }
 
+        if (isset($search['change_type']) && !empty($search['change_type'])) {
+            $where[] = ['change_type', '=', $search['change_type']];
+        }
+
+        if (isset($search['start_time']) && !empty($search['start_time'])) {
+            $where[] = ['created_at', '>=', "{$search['start_time']} 00:00:00"];
+            $where[] = ['created_at', '<=', "{$search['end_time']} 23:59:59"];
+        }
+
         return $where;
     }