|
@@ -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()];
|
|
|
}
|
|
}
|