OtherRewardProcessor.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Module\Game\Logics\RewardProcessors;
  3. use App\Module\Game\Dtos\RewardItemDto;
  4. use Illuminate\Support\Facades\Log;
  5. /**
  6. * 其他奖励处理器
  7. *
  8. * 处理其他(OTHER)类型的奖励发放
  9. */
  10. class OtherRewardProcessor
  11. {
  12. /**
  13. * 处理其他类型奖励
  14. *
  15. * @param int $userId 用户ID
  16. * @param RewardItemDto $item 奖励项
  17. * @param string $sourceType 来源类型
  18. * @param int $sourceId 来源ID
  19. * @return void
  20. */
  21. public static function process(int $userId, RewardItemDto $item, string $sourceType, int $sourceId): void
  22. {
  23. // 其他类型奖励的处理逻辑
  24. // 这里可以根据具体需求实现,比如称号、成就等
  25. Log::info("其他类型奖励处理", [
  26. 'userId' => $userId,
  27. 'rewardType' => $item->rewardType,
  28. 'targetId' => $item->targetId,
  29. 'quantity' => $item->quantity,
  30. 'param1' => $item->param1,
  31. 'param2' => $item->param2,
  32. 'extraData' => $item->extraData,
  33. 'sourceType' => $sourceType,
  34. 'sourceId' => $sourceId
  35. ]);
  36. // 目前只记录日志,具体实现可以根据业务需求扩展
  37. // 例如:
  38. // - 称号奖励:更新用户称号
  39. // - 成就奖励:解锁成就
  40. // - 特殊权限:更新用户权限
  41. }
  42. }