state !== 'enable', 400, '用户状态异常'); // 获取钱包交易记录 $records = $user->wallet->transRecords() ->where('state', 'enable') ->orderBy('created_at', 'desc') ->paginate($perPage); return $records; } catch (\Exception $e) { // 记录错误日志 \Log::error('获取钱包明细失败', [ 'userId' => $userId, 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString(), ]); throw $e; } } /** * 获取用户钱包 */ public function getUserWallet($userId) { try { $user = MemberUser::find($userId); abort_if(! $user, 400, '用户不存在'); abort_if($user->state !== 'enable', 400, '用户状态异常'); $wallet = $user->wallet; if (! $wallet) { Log::warning('用户钱包不存在', ['user_id' => $user->id]); throw new \Exception('钱包不存在'); } return $wallet; } catch (\Exception $e) { Log::error('获取用户钱包失败', ['error' => $e->getMessage()]); throw $e; } } }