FundTempService.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Module\Game\Services;
  3. use App\Module\Game\Dtos\FundChangeTempDto;
  4. use App\Module\Game\Logics\FundTemp;
  5. use Illuminate\Support\Facades\Log;
  6. /**
  7. * 资金临时数据服务类
  8. *
  9. * 提供资金临时数据相关的服务方法,用于外部调用
  10. */
  11. class FundTempService
  12. {
  13. /**
  14. * 获取用户的资金变更临时数据
  15. *
  16. * @param int $userId 用户ID
  17. * @return FundChangeTempDto[] 用户的资金变更数据
  18. */
  19. public function getUserFundChanges(int $userId): array
  20. {
  21. try {
  22. return FundTemp::getUserFundChanges($userId);
  23. } catch (\Exception $e) {
  24. Log::error('获取用户资金变更临时数据失败', [
  25. 'error' => $e->getMessage(),
  26. 'user_id' => $userId,
  27. ]);
  28. return [];
  29. }
  30. }
  31. /**
  32. * 获取用户特定资金类型的变更临时数据
  33. *
  34. * @param int $userId 用户ID
  35. * @param int $fundId 资金类型ID
  36. * @return FundChangeTempDto|null 资金变更数据,不存在时返回null
  37. */
  38. public function getUserFundChange(int $userId, int $fundId): ?FundChangeTempDto
  39. {
  40. try {
  41. return FundTemp::getUserFundChange($userId, $fundId);
  42. } catch (\Exception $e) {
  43. Log::error('获取用户特定资金变更临时数据失败', [
  44. 'error' => $e->getMessage(),
  45. 'user_id' => $userId,
  46. 'fund_id' => $fundId,
  47. ]);
  48. return null;
  49. }
  50. }
  51. /**
  52. * 清除用户的资金变更临时数据
  53. *
  54. * @param int $userId 用户ID
  55. * @return bool 操作是否成功
  56. */
  57. public function clearUserFundChanges(int $userId): bool
  58. {
  59. try {
  60. FundTemp::clearUserFundChanges($userId);
  61. return true;
  62. } catch (\Exception $e) {
  63. Log::error('清除用户资金变更临时数据失败', [
  64. 'error' => $e->getMessage(),
  65. 'user_id' => $userId,
  66. ]);
  67. return false;
  68. }
  69. }
  70. }