wesmiler 2 years ago
parent
commit
f670ed89e4

+ 1 - 1
app/Http/Controllers/Api/v1/AcceptorController.php

@@ -21,7 +21,7 @@ class AcceptorController extends webApp
      * @return array
      */
     public function info()
-    { 
+    {
         $id = request()->post('id', 0);
         $userId = request()->post('user_id', 0);
         $info = AcceptorService::make()->getInfo($id,'', $userId?$userId:$this->userId);

+ 13 - 0
app/Http/Controllers/Api/v1/MemberController.php

@@ -289,4 +289,17 @@ class MemberController extends webApp
             return showJson(MemberService::make()->getError(),true, $result);
         }
     }
+
+    /**
+     * 我的矿机
+     * @return array
+     */
+    public function machine()
+    {
+        $params =request()->post();
+        $pageSize = request()->post('pageSize', 15);
+        $userId = isset($params['user_id']) && $params['user_id']>0? $params['user_id'] : $this->userId;
+        $datas = MemberService::make()->getMechineList($userId, $params, $pageSize);
+        return showJson(1010, true, $datas);
+    }
 }

+ 41 - 0
app/Services/Api/MemberService.php

@@ -1884,4 +1884,45 @@ class MemberService extends BaseService
         return ['id'=> $id,'name'=> $machineName,'num'=> $randNum];
 
     }
+
+    /**
+     * 我的矿机(中奖记录)
+     * @param $userId
+     * @param $params
+     * @param int $pageSize
+     * @return array
+     */
+    public function getMachineList($userId, $params, $pageSize=15)
+    {
+        $page = request()->post('page',1);
+        $cacheKey = "caches:machine:list_{$userId}_{$page}";
+        $datas = RedisService::get($cacheKey);
+        if ($datas) {
+            return [
+                'pageSize' => $pageSize,
+                'total' => isset($datas['total']) ? $datas['total'] : 0,
+                'list' => isset($datas['data']) ? $datas['data'] : []
+            ];
+        }
+
+        $where = ['a.status' => 1,'a.user_id'=> $userId, 'a.mark' => 1,'b.mark'=>1];
+        $field = ['a.*','b.name'];
+        $datas = DrawLogModel::from('draw_logs as a')
+            ->leftjoin('machine as b','b.id','=','a.machine_id')
+            ->where($where)
+            ->select($field)
+            ->orderBy('a.create_time', 'desc')
+            ->orderBy('a.expired_at', 'desc')
+            ->paginate($pageSize > 0 ? $pageSize : 9999999);
+        $datas = $datas ? $datas->toArray() : [];
+        if ($datas) {
+            RedisService::set($cacheKey, $datas, rand(3, 5));
+        }
+
+        return [
+            'pageSize' => $pageSize,
+            'total' => isset($datas['total']) ? $datas['total'] : 0,
+            'list' => isset($datas['data']) ? $datas['data'] : []
+        ];
+    }
 }

+ 1 - 0
routes/api.php

@@ -112,6 +112,7 @@ Route::prefix('v1')->group(function(){
 
     // 盲盒
     Route::post('/user/draw', [\App\Http\Controllers\Api\v1\MemberController::class, 'draw']);
+    Route::post('/user/machine', [\App\Http\Controllers\Api\v1\MemberController::class, 'machine']);
 
     // 账单明细
     Route::post('/account/index', [\App\Http\Controllers\Api\v1\AccountController::class, 'index']);