| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace addons\StarChain\common\services;
- use addons\StarChain\common\enums\StarChainMessageEnum;
- use addons\StarChain\common\models\Message;
- use Exception;
- use Yii;
- use yii\data\Pagination;
- use yii\helpers\Json;
- /**
- * 商品库服务
- */
- class MessageService extends BaseService
- {
- /**
- * 获取SkuList
- *
- * @param array $params
- * @return array
- */
- public function getMessageList($params = [])
- {
- $limit = $params['limit'] ?? 10;
- $model = Message::find();
- $model->where(['mall_id' => $this->mall_id]);
- // 查询
- if (isset($params['enum_num']) && $enum_num = $params['enum_num']) {
- $model->andWhere(['enum_num' => $enum_num]);
- }
- $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]['enum_num_text'] = StarChainMessageEnum::getValue($v['enum_num']);
- $content = json_decode($v['content'], true);
- $list[$k]['content'] = static::toStr($content);
- }
- $data['enums'] = StarChainMessageEnum::getMap();
- $data['list'] = $list;
- $data['page_count'] = $pagination->pageCount;
- return $data;
- }
- protected static function toStr($arr)
- {
- foreach ($arr as $k => $v) {
- if (is_numeric($v)) {
- $arr[$k] = (string) $v;
- }
- }
- return $arr;
- }
- }
|