| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?php
- // +----------------------------------------------------------------------
- // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
- // +----------------------------------------------------------------------
- // | Author: 萤火科技 <admin@yiovo.com>
- // +----------------------------------------------------------------------
- declare (strict_types=1);
- namespace app\api\model;
- use app\common\model\UserDynamic as UserDynamicModel;
- /**
- * 用户动态模型类
- * Class UserDynamic
- * @package app\api\model
- */
- class UserDynamic extends UserDynamicModel
- {
- protected $globalScope = [''];
- /**
- * 隐藏字段
- * @var array
- */
- protected $hidden = [
- 'update_time'
- ];
- /**
- * 获取列表
- * @param array $param
- * @param int $listRows
- * @return mixed
- * @throws \think\db\exception\DbException
- */
- public function getList(array $param = [], int $listRows = 15)
- {
- // 整理查询参数
- $params = array_merge($param, ['status' => 1]);
- // 获取商品列表
- $list = parent::getList($params, $listRows);
- if ($list->isEmpty()) {
- return $list;
- }
- // 隐藏冗余的字段
- $list->hidden(array_merge($this->hidden, ['status']));
- // 整理列表数据并返回
- return $this->setListDataFromApi($list);
- }
- /**
- * 设置展示的数据 api模块
- * @param $info
- * @return mixed
- */
- private function setListDataFromApi($info)
- {
- return $this->setListData($info, function ($data) {
- // 整理数据 api模块
- $this->setDataFromApi($data);
- });
- }
- /**
- * 整理数据 api模块
- * @param $info
- * @return mixed
- */
- private function setDataFromApi($info)
- {
- return $this->setData($info, function ($data) {
- // logo封面
- $data['logo'] = $data['logo']? getPreview($data['logo']) : '';
- $data['file_url'] = $data['file_url']? getPreview($data['file_url']) : '';
- // 点赞喜欢数
- if(!is_null($data['like_num'])){
- $data['like_num'] = $data['like_num']? ($data['like_num']<10000? "{$data['like_num']}" : round($data['like_num']/10000,1).'w') :'';
- }
- // 收藏数
- if(!is_null($data['collect_num'])){
- $data['collect_num'] = $data['collect_num']? ($data['collect_num']<10000? "{$data['collect_num']}" : round($data['collect_num']/10000,1).'w') :'';
- }
- // 浏览数
- if(!is_null($data['views'])){
- $data['views'] = $data['views']? ($data['views']<10000? "{$data['views']}" : round($data['views']/10000,1).'w') :'';
- }
- });
- }
- /**
- * 获取详情信息
- * @param $where
- * @param array $with
- * @return static|array|false|null
- */
- public static function detail($where, array $with = [])
- {
- $filter = [];
- if (is_array($where)) {
- $filter = array_merge($filter, $where);
- } else {
- $filter['id'] = (int)$where;
- }
- return static::get($filter, $with);
- }
- /**
- * 获取学校动态列表
- * @param int $schoolId
- * @param array $param
- * @param int $listRows
- * @return mixed
- */
- public function getListBySchool(int $schoolId,int $userId = 0, array $param = [], int $listRows = 15)
- {
- // 整理查询参数
- $params = array_merge($param, [$this->name.'.status' => 1, 'ui.school_id'=> $schoolId]);
- // 获取商品列表
- $list = parent::getListBySchool($schoolId, $userId, $params, $listRows);
- if ($list->isEmpty()) {
- return $list;
- }
- // 隐藏冗余的字段
- $list->hidden(array_merge($this->hidden, ['status']));
- // 整理列表数据并返回
- return $this->setListDataFromApi($list);
- }
- }
|