Ken hace 7 horas
padre
commit
a555b79057
Se han modificado 1 ficheros con 11 adiciones y 5 borrados
  1. 11 5
      app/Services/UserService.php

+ 11 - 5
app/Services/UserService.php

@@ -17,6 +17,8 @@ use App\Http\Controllers\api\Home;
 
 
 class UserService extends BaseService
 class UserService extends BaseService
 {
 {
+    public static string $MODEL = User::class;
+
     /**
     /**
      * @description: 模型
      * @description: 模型
      * @return {string}
      * @return {string}
@@ -47,7 +49,7 @@ class UserService extends BaseService
             $where[] = ['id', '=', $search['id']];
             $where[] = ['id', '=', $search['id']];
         }
         }
 
 
-        if(isset($search['register_ip']) && !empty($search['register_ip'])){
+        if (isset($search['register_ip']) && !empty($search['register_ip'])) {
             $where[] = ['register_ip', '=', $search['register_ip']];
             $where[] = ['register_ip', '=', $search['register_ip']];
         }
         }
 
 
@@ -78,7 +80,7 @@ class UserService extends BaseService
      */
      */
     public static function findOne(array $search): ?User
     public static function findOne(array $search): ?User
     {
     {
-        return self::model()::where(self::getWhere($search))->first();
+        return static::$MODEL::where(self::getWhere($search))->first();
     }
     }
 
 
     /**
     /**
@@ -88,7 +90,7 @@ class UserService extends BaseService
      */
      */
     public static function findAll(array $search = [])
     public static function findAll(array $search = [])
     {
     {
-        return self::model()::where(self::getWhere($search))->get();
+        return static::$MODEL::where(self::getWhere($search))->get();
     }
     }
 
 
     /**
     /**
@@ -99,10 +101,14 @@ class UserService extends BaseService
     public static function paginate(array $search = [])
     public static function paginate(array $search = [])
     {
     {
         $limit = isset($search['limit']) ? $search['limit'] : 15;
         $limit = isset($search['limit']) ? $search['limit'] : 15;
-        $paginator = self::model()::where(self::getWhere($search))->with(['wallet' => function ($query) {
+        $paginator = static::$MODEL::where(self::getWhere($search))->with(['wallet' => function ($query) {
             // 使用 select 但确保包含外键
             // 使用 select 但确保包含外键
             $query->select('id', 'user_id', 'member_id', 'address', 'available_balance');
             $query->select('id', 'user_id', 'member_id', 'address', 'available_balance');
-        }])->orderByDesc('created_at')->paginate($limit);
+        }])
+            ->join('wallet', 'users.member_id', '=', 'wallet.member_id')
+            ->orderByDesc("wallet.available_balance")
+            ->select('users.*')
+            ->orderByDesc('created_at')->paginate($limit);
 
 
         return ['total' => $paginator->total(), 'data' => $paginator->items()];
         return ['total' => $paginator->total(), 'data' => $paginator->items()];
     }
     }