WechatNewsCategory.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\admin\model\wechat;
  3. use crmeb\traits\ModelTrait;
  4. use crmeb\basic\BaseModel;
  5. use app\admin\model\article\Article as ArticleModel;
  6. /**
  7. * 图文消息 model
  8. * Class WechatNewsCategory
  9. * @package app\admin\model\wechat
  10. */
  11. class WechatNewsCategory extends BaseModel
  12. {
  13. /**
  14. * 数据表主键
  15. * @var string
  16. */
  17. protected $pk = 'id';
  18. /**
  19. * 模型名称
  20. * @var string
  21. */
  22. protected $name = 'wechat_news_category';
  23. use ModelTrait;
  24. /**
  25. * 获取配置分类
  26. * @param array $where
  27. * @return array
  28. */
  29. public static function getAll($where = array())
  30. {
  31. $model = new self;
  32. // if($where['status'] !== '') $model = $model->where('status',$where['status']);
  33. // if($where['access'] !== '') $model = $model->where('access',$where['access']);
  34. if ($where['cate_name'] !== '') $model = $model->where('cate_name', 'LIKE', "%$where[cate_name]%");
  35. $model = $model->where('status', 1);
  36. return self::page($model, function ($item) use ($where) {
  37. $new = ArticleModel::where('id', 'in', $item['new_id'])->where('status', 1)->where('hide', 0)->select();
  38. if ($new) $new = $new->toArray();
  39. $item['new'] = $new;
  40. });
  41. }
  42. /**
  43. * 获取一条图文
  44. * @param int $id
  45. * @return array|false|\PDOStatement|string|\think\Model
  46. */
  47. public static function getWechatNewsItem($id = 0, $new_id = 0)
  48. {
  49. if (!$id) return [];
  50. $list = self::where('id', $id)->where('status', 1)->field('cate_name as title,new_id')->find();
  51. if ($list) {
  52. $list = $list->toArray();
  53. $new = ArticleModel::where('id', $new_id)->where('status', 1)->where('hide', 0)->select();
  54. $new = $new->toArray();
  55. if ($new) {
  56. $temp = [];
  57. $temp[] = $new[0];
  58. $list['new'] = $temp;
  59. } else {
  60. $list['new'] = $new;
  61. }
  62. }
  63. return $list;
  64. }
  65. /**
  66. * 获取发送图文
  67. * @param array $where
  68. * @return array
  69. */
  70. public static function getSendAll($where = array())
  71. {
  72. $model = new self();
  73. if ($where['cate_name'] !== '') $model = $model->where('cate_name', 'LIKE', "%$where[cate_name]%");
  74. $new_ids = $model->where('status', 1)->column('new_id');
  75. $new_ids = array_values($new_ids);
  76. $new_ids = implode(',', $new_ids);
  77. $model = ArticleModel::where('status', 1)->where('hide', 0)->where('id', 'in', $new_ids)->field('id,title,image_input,add_time');
  78. return ArticleModel::page($model, function ($item) use ($where) {
  79. $new = self::where('status', 1)->whereFindInSet('new_id', $item['id'])->find();
  80. $item['cate_name'] = $new['cate_name'];
  81. $temp[0]['title'] = $item['title'];
  82. $temp[0]['image_input'] = $item['image_input'];
  83. $temp[0]['id'] = $item['id'];
  84. $temp[0]['add_time'] = $item['add_time'];
  85. $item['id'] = $new['id'];
  86. $item['new'] = $temp;
  87. });
  88. }
  89. }