| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- namespace addons\QiJuhe\common\service;
- use addons\QiJuhe\common\models\NoticeModel;
- use yii\data\Pagination;
- class NoticeService extends BaseService
- {
- public $mall_id;
- public function list($params)
- {
- $limit = $params['limit'] ?? 30;
- $page = $params['page'] ?? 1;
- $model = NoticeModel::find();
- !empty($params['type']) && $model->andWhere(['type' => $params['type']]);
- !empty($params['supply_id']) && $model->andWhere(['supply_id' => $params['supply_id']]);
- !empty($params['data']) && $model->andWhere(['like', 'data', $params['data']]);
- $model->andWhere(['mall_id' => $this->mall_id]);
- $pagination = new Pagination(['totalCount' => $model->count(), 'pageSize' => $limit]);
- $model->limit($pagination->limit)->offset($pagination->offset);
- $list = $model->orderBy('id desc')
- ->asArray()
- ->all();
- foreach ($list as $k => $v) {
- $list[$k]['type_text'] = NoticeModel::$type_text[$v['type']];
- }
- $data['list'] = $list;
- $data['page_count'] = $pagination->pageCount;
- $data['current_page'] = $page + 1;
- return $data;
- }
- }
|