UserDynamic.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
  8. // +----------------------------------------------------------------------
  9. // | Author: 萤火科技 <admin@yiovo.com>
  10. // +----------------------------------------------------------------------
  11. declare (strict_types=1);
  12. namespace app\api\model;
  13. use app\common\model\UserDynamic as UserDynamicModel;
  14. /**
  15. * 用户动态模型类
  16. * Class UserDynamic
  17. * @package app\api\model
  18. */
  19. class UserDynamic extends UserDynamicModel
  20. {
  21. protected $globalScope = [''];
  22. /**
  23. * 隐藏字段
  24. * @var array
  25. */
  26. protected $hidden = [
  27. 'update_time'
  28. ];
  29. /**
  30. * 获取列表
  31. * @param array $param
  32. * @param int $listRows
  33. * @return mixed
  34. */
  35. public function getList(array $param, int $listRows = 15)
  36. {
  37. // 整理查询参数
  38. $params = array_merge($param, ['status' => 1]);
  39. // 获取商品列表
  40. $list = parent::getList($params, $listRows);
  41. if ($list->isEmpty()) {
  42. return $list;
  43. }
  44. // 隐藏冗余的字段
  45. $list->hidden(array_merge($this->hidden, ['status']));
  46. // 整理列表数据并返回
  47. return $this->setListDataFromApi($list);
  48. }
  49. /**
  50. * 设置展示的数据 api模块
  51. * @param $info
  52. * @return mixed
  53. */
  54. private function setListDataFromApi($info)
  55. {
  56. return $this->setListData($info, function ($data) {
  57. // 整理数据 api模块
  58. $this->setDataFromApi($data);
  59. });
  60. }
  61. /**
  62. * 整理数据 api模块
  63. * @param $info
  64. * @return mixed
  65. */
  66. private function setDataFromApi($info)
  67. {
  68. return $this->setData($info, function ($data) {
  69. // logo封面
  70. $data['logo'] = $data['logo']? getPreview($data['logo']) : '';
  71. $data['file_url'] = $data['file_url']? getPreview($data['file_url']) : '';
  72. // 点赞喜欢数
  73. if(!is_null($data['like_num'])){
  74. $data['like_num'] = $data['like_num']? ($data['like_num']<10000? "{$data['like_num']}" : round($data['like_num']/10000,1).'w') :'';
  75. }
  76. // 收藏数
  77. if(!is_null($data['collect_num'])){
  78. $data['collect_num'] = $data['collect_num']? ($data['collect_num']<10000? "{$data['collect_num']}" : round($data['collect_num']/10000,1).'w') :'';
  79. }
  80. // 浏览数
  81. if(!is_null($data['views'])){
  82. $data['views'] = $data['views']? ($data['views']<10000? "{$data['views']}" : round($data['views']/10000,1).'w') :'';
  83. }
  84. });
  85. }
  86. /**
  87. * 获取详情信息
  88. * @param $where
  89. * @param array $with
  90. * @return static|array|false|null
  91. */
  92. public static function detail($where, array $with = [])
  93. {
  94. $filter = [];
  95. if (is_array($where)) {
  96. $filter = array_merge($filter, $where);
  97. } else {
  98. $filter['id'] = (int)$where;
  99. }
  100. return static::get($filter, $with);
  101. }
  102. public static function getListByUserSchool($userId){
  103. }
  104. }