ProjectService.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/9/20 11:29
  7. */
  8. namespace App\Http\Services\Frontend\Server\Service;
  9. use App\Enums\Common\Status;
  10. use App\Http\Services\Service;
  11. use App\Models\Coach\User;
  12. use App\Models\Service\Category;
  13. use App\Models\Service\Project;
  14. class ProjectService extends Service
  15. {
  16. public function getProjectPage(array $params): array
  17. {
  18. $category = Category::query()->find($params['category_id']);
  19. (empty($category) || $category->status === Status::DISABLE) && self::error();
  20. $user_id = 1;
  21. // 获取技师ID
  22. $coach_id = User::query()->where('user_id', $user_id)->value('id');
  23. $project_ids = $category->getProjectIds();
  24. $projectPage = Project::query()->whereIn('id', $project_ids)->where('status', Status::ENABLE)->orderByDesc('sort')->paginate($params['pageSize'], ['*'], 'page', $params['pageNo']);
  25. collect($projectPage->items())->each(fn($project) => $project->setAttribute('coachProjectStatus', $project->getCoachProjectStatus($coach_id)));
  26. return ['list' => $projectPage->items(), 'total' => $projectPage->total()];
  27. }
  28. public function updateProject(array $data): void
  29. {
  30. $user_id = 1;
  31. // 获取技师ID
  32. $coach_id = User::query()->where('user_id', $user_id)->value('id');
  33. $project = Project::query()->find($data['project_id']);
  34. $project->updateCoachProjectStatus($coach_id, $data['status']);
  35. }
  36. }