AdService.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Services\Content;
  3. use App\Models\AdCategory;
  4. use App\Repositories\AdCategoryRepository;
  5. use App\Repositories\AdRepository;
  6. class AdService
  7. {
  8. /**
  9. * @var AdCategoryRepository
  10. */
  11. protected $adCategoryRepository;
  12. protected $adRepository;
  13. public function __construct(AdCategoryRepository $adCategoryRepository, AdRepository $adRepository)
  14. {
  15. $this->adCategoryRepository = $adCategoryRepository;
  16. $this->adRepository = $adRepository;
  17. }
  18. public function getAds($data)
  19. {
  20. $where = array();
  21. $theme = 'default';
  22. if (array_key_exists('theme', $data)) {
  23. $theme = $data['theme'];
  24. }
  25. $where['c.theme'] = $theme;
  26. $org = 'Home';
  27. if (array_key_exists('org', $data)) {
  28. $org = $data['org'];
  29. }
  30. $where['c.org'] = $org;
  31. //错误提示
  32. if (!in_array($org, array('Home','Mobile','Apk'))) {
  33. throw new \Exception('参数不正确');
  34. }
  35. if (array_key_exists('alias', $data)) {
  36. $alias = $data['alias'];
  37. $where['c.alias'] = $alias;
  38. }
  39. $where['is_display'] = 1;
  40. $limit = $data['num'];
  41. //获取广告信息
  42. $ads = $this->adRepository->getAds($where, $limit);
  43. return $ads;
  44. }
  45. }