SmsTemplateRepository.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Repositories;
  3. use App\Models\SmsTemplate;
  4. use Prettus\Repository\Eloquent\BaseRepository;
  5. use Prettus\Repository\Criteria\RequestCriteria;
  6. /**
  7. * Class SmsTemplateRepository.
  8. *
  9. * @package namespace App\Repositories;
  10. */
  11. class SmsTemplateRepository extends BaseRepository
  12. {
  13. /**
  14. * Specify Model class name
  15. *
  16. * @return string
  17. */
  18. public function model()
  19. {
  20. return SmsTemplate::class;
  21. }
  22. /**
  23. * Boot up the repository, pushing criteria
  24. */
  25. public function boot()
  26. {
  27. $this->pushCriteria(app(RequestCriteria::class));
  28. }
  29. /**
  30. * 获得短信模板
  31. * @param string $alias
  32. * @param array $params
  33. * @return SmsTemplate
  34. */
  35. public function getTemplate(string $alias, string $type, array $params = [])
  36. {
  37. $template=$this->model->where('alias', $alias)->where('type', $type)->first();
  38. if (!empty($params)) {
  39. $template->value=render_template($template->value, $params);
  40. }
  41. return $template;
  42. }
  43. /**
  44. * 获得短信模板
  45. * @param string $alias
  46. * @param array $params
  47. * @return SmsTemplate
  48. */
  49. public function getTemplateByCL(string $alias, string $type)
  50. {
  51. $template=$this->model->where('alias', $alias)->where('type', $type)->first();
  52. return $template;
  53. }
  54. }