ListNav.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: LYY
  5. * Date: 2020.10.22
  6. */
  7. namespace common\models;
  8. //use yii\db\ActiveRecord;
  9. class ListNav extends Common
  10. {
  11. public function rules()
  12. {
  13. return [
  14. ['list_id', 'in', 'range' => [1, 2, 3, 4]],
  15. [['sort', 'state', 'information', 'title', 'city', 'news','brand','knowledgelabel', 'url'], 'safe']
  16. ];
  17. /**
  18. * list_id:[
  19. * 1:pc端首页区域推送位
  20. * 2:pc端首页资讯栏目推送
  21. * 3:首页房产资讯下热搜楼盘词
  22. * 4:首页房产资讯下团购优惠看房团
  23. * ]
  24. */
  25. }
  26. //+++++++++++++++++++++++++++++++++++++++++++++区域类型推送=============================================================
  27. //获取推送区域数据列表
  28. public function getListCity($input)
  29. {
  30. $select = [
  31. 'pfg_list_nav.*',
  32. 'pfg_category_city.city_name'
  33. ];
  34. $query = self::find();
  35. $query->select($select);
  36. $query->where(['pfg_list_nav.list_id' => $input['list_id']]);
  37. $query->leftJoin('pfg_category_city', 'pfg_category_city.id = pfg_list_nav.city');
  38. $count = $query->count();
  39. if (!empty($input['page'])) {
  40. $query->offset(--$input['page'] * $input['limit']);
  41. }
  42. if (!empty($input['limit'])) {
  43. $query->limit($input['limit']);
  44. }
  45. $data = $query->orderBy(['pfg_list_nav.state' => SORT_ASC, 'pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
  46. foreach ($data as &$val) {
  47. $val['create_at'] = date('Y-m-d H:i:s');
  48. }
  49. return ['msg' => '成功', 'count' => $count, 'data' => $data];
  50. }
  51. //获取前端区域推送数据
  52. public function getPcPushCityList($list_id, $limit = null)
  53. {
  54. $select = [
  55. 'pfg_list_nav.*',
  56. 'pfg_category_city.city_name'
  57. ];
  58. $query = self::find();
  59. $query->select($select);
  60. $query->where(['pfg_list_nav.list_id' => $list_id, 'pfg_list_nav.state' => 1]);
  61. $query->leftJoin('pfg_category_city', 'pfg_category_city.id = pfg_list_nav.city');
  62. if (!empty($limit)) {
  63. $query->limit($limit);
  64. }
  65. $data = $query->orderBy(['pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
  66. return $data;
  67. }
  68. //++++++++++++++++++++++++++++++栏目类型推送========================================================================
  69. // 获取推送栏目数据列表
  70. public function getListNews($input)
  71. {
  72. $select = [
  73. 'pfg_list_nav.*',
  74. 'pfg_category_news.news_name'
  75. ];
  76. $query = self::find();
  77. $query->select($select);
  78. $query->where(['pfg_list_nav.list_id' => $input['list_id']]);
  79. $query->leftJoin('pfg_category_news', 'pfg_category_news.id = pfg_list_nav.news');
  80. $count = $query->count();
  81. if (!empty($input['page'])) {
  82. $query->offset(--$input['page'] * $input['limit']);
  83. }
  84. if (!empty($input['limit'])) {
  85. $query->limit($input['limit']);
  86. }
  87. $data = $query->orderBy(['pfg_list_nav.state' => SORT_ASC, 'pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
  88. foreach ($data as &$val) {
  89. $val['create_at'] = date('Y-m-d H:i:s');
  90. }
  91. return ['msg' => '成功', 'count' => $count, 'data' => $data];
  92. }
  93. public function getPcListNews($list_id, $limit = null)
  94. {
  95. $select = [
  96. 'pfg_category_news.id',
  97. 'pfg_category_news.news_name'
  98. ];
  99. $query = self::find();
  100. $query->select($select);
  101. $query->where(['pfg_list_nav.list_id' => $list_id, 'pfg_list_nav.state' => 1]);
  102. $query->leftJoin('pfg_category_news', 'pfg_category_news.id = pfg_list_nav.news');
  103. if (!empty($limit)) {
  104. $query->limit($limit);
  105. }
  106. return $query->orderBy(['pfg_list_nav.sort' => SORT_DESC])->asArray()->all();
  107. }
  108. //++++++++++++++++++++++++++++++自定义导航推送信息==================================================================
  109. public function getListTitle($input)
  110. {
  111. $select = [
  112. '*',
  113. ];
  114. $query = self::find();
  115. $query->select($select);
  116. $query->where(['list_id' => $input['list_id']]);
  117. $count = $query->count();
  118. if (!empty($input['page'])) {
  119. $query->offset(--$input['page'] * $input['limit']);
  120. }
  121. if (!empty($input['limit'])) {
  122. $query->limit($input['limit']);
  123. }
  124. $data = $query->orderBy(['state' => SORT_ASC, 'sort' => SORT_DESC])->asArray()->all();
  125. foreach ($data as &$val) {
  126. $val['create_at'] = date('Y-m-d H:i:s');
  127. }
  128. return ['msg' => '成功', 'count' => $count, 'data' => $data];
  129. }
  130. public function getPcPushTitle($list_id,$limit=null)
  131. {
  132. $select = [
  133. 'title',
  134. 'url'
  135. ];
  136. $query = self::find();
  137. $query->select($select);
  138. $query->where(['list_id' => $list_id, 'state' => 1]);
  139. if (!empty($limit)) {
  140. $query->limit($limit);
  141. }
  142. return $query->orderBy(['sort' => SORT_DESC])->asArray()->all();
  143. }
  144. }