ItemTempService.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Module\Game\Services;
  3. use App\Module\Game\Dtos\ItemChangeTempDto;
  4. use App\Module\Game\Logics\ItemTemp;
  5. use Illuminate\Support\Facades\Log;
  6. /**
  7. * 物品临时数据服务类
  8. *
  9. * 提供物品临时数据相关的服务方法,用于外部调用
  10. */
  11. class ItemTempService
  12. {
  13. /**
  14. * 获取用户的物品变更临时数据
  15. *
  16. * @param int $userId 用户ID
  17. * @return ItemChangeTempDto[] 用户的物品变更数据
  18. */
  19. public function getUserItemChanges(int $userId): array
  20. {
  21. try {
  22. return ItemTemp::getUserItemChanges($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 $itemId 物品ID
  36. * @return ItemChangeTempDto|null 物品变更数据,不存在时返回null
  37. */
  38. public function getUserItemChange(int $userId, int $itemId): ?ItemChangeTempDto
  39. {
  40. try {
  41. return ItemTemp::getUserItemChange($userId, $itemId);
  42. } catch (\Exception $e) {
  43. Log::error('获取用户特定物品变更临时数据失败', [
  44. 'error' => $e->getMessage(),
  45. 'user_id' => $userId,
  46. 'item_id' => $itemId,
  47. ]);
  48. return null;
  49. }
  50. }
  51. /**
  52. * 清除用户的物品变更临时数据
  53. *
  54. * @param int $userId 用户ID
  55. * @return bool 操作是否成功
  56. */
  57. public function clearUserItemChanges(int $userId): bool
  58. {
  59. try {
  60. ItemTemp::clearUserItemChanges($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. }