ProjectService.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/9/10 16:07
  7. */
  8. namespace App\Http\Services\Frontend\Client\Service;
  9. use App\Enums\Common\Status;
  10. use App\Http\Services\Service;
  11. use App\Models\Service\Category;
  12. use App\Models\Service\Project;
  13. use Illuminate\Support\Facades\DB;
  14. class ProjectService extends Service
  15. {
  16. protected $select_column = ['id','title','sub_title as subTitle','cover','price','init_price as InitPrice','total_sale as totalSale','time_long as timeLong','introduce','explain','notice','is_store as isStore','is_door as isDoor'];
  17. public function getProjectPage($params): array
  18. {
  19. $project = Project::query();
  20. $category_id = $params['categoryId'] ?? 1;
  21. $project_ids = DB::table('service_project_has_category')->where('category_id', $category_id)->pluck('project_id');
  22. // !$project_ids->isEmpty() &&
  23. $project->whereIn('id', $project_ids);
  24. $where['status'] = Status::ENABLE;
  25. $projectPage = $project->where($where)->select($this->select_column)->paginate();
  26. return ['list' => $projectPage->items(), 'total' => $projectPage->total()];
  27. }
  28. public function getProject(array $params, int $id)
  29. {
  30. return Project::query()->select($this->select_column)->find($id);
  31. }
  32. }