RewardResultDto.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. namespace App\Module\Game\Dtos;
  3. /**
  4. * 奖励结果DTO
  5. */
  6. class RewardResultDto
  7. {
  8. /**
  9. * 用户ID
  10. *
  11. * @var int
  12. */
  13. public int $userId;
  14. /**
  15. * 奖励组ID
  16. *
  17. * @var int
  18. */
  19. public int $groupId;
  20. /**
  21. * 奖励组编码
  22. *
  23. * @var string
  24. */
  25. public string $groupCode;
  26. /**
  27. * 奖励组名称
  28. *
  29. * @var string
  30. */
  31. public string $groupName;
  32. /**
  33. * 来源类型
  34. *
  35. * @var string
  36. */
  37. public string $sourceType;
  38. /**
  39. * 来源ID
  40. *
  41. * @var int
  42. */
  43. public int $sourceId;
  44. /**
  45. * 发放的奖励项
  46. *
  47. * @var RewardItemDto[]
  48. */
  49. public array $items = [];
  50. /**
  51. * 是否成功
  52. *
  53. * @var bool
  54. */
  55. public bool $success = false;
  56. /**
  57. * 错误信息
  58. *
  59. * @var string|null
  60. */
  61. public ?string $errorMessage = null;
  62. /**
  63. * 创建成功的奖励结果
  64. *
  65. * @param int $userId 用户ID
  66. * @param int $groupId 奖励组ID
  67. * @param string $groupCode 奖励组编码
  68. * @param string $groupName 奖励组名称
  69. * @param string $sourceType 来源类型
  70. * @param int $sourceId 来源ID
  71. * @param array $items 发放的奖励项
  72. * @return self
  73. */
  74. public static function success(
  75. int $userId,
  76. int $groupId,
  77. string $groupCode,
  78. string $groupName,
  79. string $sourceType,
  80. int $sourceId,
  81. array $items
  82. ): self {
  83. $dto = new self();
  84. $dto->userId = $userId;
  85. $dto->groupId = $groupId;
  86. $dto->groupCode = $groupCode;
  87. $dto->groupName = $groupName;
  88. $dto->sourceType = $sourceType;
  89. $dto->sourceId = $sourceId;
  90. $dto->items = $items;
  91. $dto->success = true;
  92. return $dto;
  93. }
  94. /**
  95. * 创建失败的奖励结果
  96. *
  97. * @param string $errorMessage 错误信息
  98. * @return self
  99. */
  100. public static function fail(string $errorMessage): self
  101. {
  102. $dto = new self();
  103. $dto->success = false;
  104. $dto->errorMessage = $errorMessage;
  105. return $dto;
  106. }
  107. }