NoticeService.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace addons\QiJuhe\common\service;
  3. use addons\QiJuhe\common\models\NoticeModel;
  4. use yii\data\Pagination;
  5. class NoticeService extends BaseService
  6. {
  7. public $mall_id;
  8. public function list($params)
  9. {
  10. $limit = $params['limit'] ?? 30;
  11. $page = $params['page'] ?? 1;
  12. $model = NoticeModel::find();
  13. !empty($params['type']) && $model->andWhere(['type' => $params['type']]);
  14. !empty($params['supply_id']) && $model->andWhere(['supply_id' => $params['supply_id']]);
  15. !empty($params['data']) && $model->andWhere(['like', 'data', $params['data']]);
  16. $model->andWhere(['mall_id' => $this->mall_id]);
  17. $pagination = new Pagination(['totalCount' => $model->count(), 'pageSize' => $limit]);
  18. $model->limit($pagination->limit)->offset($pagination->offset);
  19. $list = $model->orderBy('id desc')
  20. ->asArray()
  21. ->all();
  22. foreach ($list as $k => $v) {
  23. $list[$k]['type_text'] = NoticeModel::$type_text[$v['type']];
  24. }
  25. $data['list'] = $list;
  26. $data['page_count'] = $pagination->pageCount;
  27. $data['current_page'] = $page + 1;
  28. return $data;
  29. }
  30. }