Advert.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\admin;
  4. use library\basic\BaseModel;
  5. use library\traits\JwtAuthModelTrait;
  6. use library\traits\ModelTrait;
  7. use think\Model;
  8. /**
  9. * @mixin \think\Model
  10. */
  11. class Advert extends BaseModel
  12. {
  13. use ModelTrait;
  14. use JwtAuthModelTrait;
  15. /**
  16. * 获取列表数据
  17. * @param $page
  18. * @param $where
  19. * @param $pageCount
  20. * @param $desc
  21. */
  22. public function getList($page,$where = [],$pageCount = 20,$filed = '*',$desc = ''){
  23. if(empty($where['sassid'])){
  24. return self::setErrorInfo('站点不存在');
  25. }
  26. $data = $this
  27. ->field("p.*,ap.cate_name,ap.json")
  28. ->alias("p")
  29. ->join("adver_page ap",'ap.id=p.page_id')
  30. ->when(!empty($where),function ($query) use($where){
  31. if(!empty($where['page_id'])) {
  32. $query->where('p.page_id',$where['page_id']);
  33. }
  34. if(!empty($where['title'])) {
  35. $query->wherelike('p.title','%' . $where['title'] . '%');
  36. }
  37. $query->where('p.sassid',$where['sassid']);
  38. })
  39. ->order($desc)
  40. ->paginate(['list_rows'=>$pageCount,'page'=>$page])
  41. ->toArray();
  42. foreach ($data['data'] as $k=>$v) {
  43. $data['data'][$k]['time'] = date('Y-m-d',$v['time']);
  44. $data['data'][$k]['jsonAr'] = json_decode($v['data'],true);
  45. }
  46. return [$data['total'],$data['data']];
  47. }
  48. /**
  49. * 保存广告
  50. * @param $post
  51. * @return bool
  52. */
  53. public function savePage($post){
  54. if(!empty($post['id'])) {
  55. $this->where('id',$post['id'])->save($post);
  56. return true;
  57. } else {
  58. unset($post['id']);
  59. $post['time'] = time();
  60. $bool = $this->insert($post);
  61. return $bool;
  62. }
  63. }
  64. //
  65. }