TaskUserProgressRepository.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Module\Task\Repositorys;
  3. use App\Module\Task\Models\TaskUserProgress;
  4. use Dcat\Admin\Repositories\EloquentRepository;
  5. /**
  6. * 用户任务进度数据仓库类
  7. *
  8. * 提供用户任务进度数据的访问和操作功能。
  9. * 该类是用户任务进度模块与后台管理系统的桥梁,用于处理用户任务进度数据的CRUD操作。
  10. */
  11. class TaskUserProgressRepository extends EloquentRepository
  12. {
  13. /**
  14. * 关联的Eloquent模型类
  15. *
  16. * @var string
  17. */
  18. protected $eloquentClass = TaskUserProgress::class;
  19. /**
  20. * 获取用户任务进度
  21. *
  22. * @param int $userId 用户ID
  23. * @param int $achievementConditionId 达成条件ID
  24. * @return TaskUserProgress|null
  25. */
  26. public function getUserProgress(int $userId, int $achievementConditionId)
  27. {
  28. return TaskUserProgress::where('user_id', $userId)
  29. ->where('achievement_condition_id', $achievementConditionId)
  30. ->first();
  31. }
  32. /**
  33. * 创建用户任务进度
  34. *
  35. * @param array $data 进度数据
  36. * @return TaskUserProgress
  37. */
  38. public function createUserProgress(array $data)
  39. {
  40. return TaskUserProgress::create($data);
  41. }
  42. }