| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- declare(strict_types=1);
- namespace App\Repositories;
- use App\Model\UserLevelRelationModel;
- use App\Repositories\Utils\M3u8CacheRepository;
- use Hyperf\Database\Model\Builder;
- use KZ2\Repositories\Model\Repository;
- class UserLevelRelationRepository extends Repository
- {
- public function model()
- {
- return UserLevelRelationModel::class;
- }
- /**
- * 获取邀请的用户总数
- *
- * @param $userId
- * @return int
- */
- public function getCountNum(array $where = [])
- {
- return UserLevelRelationModel::where($where)->count();
- }
- /**
- * 查询某一个人邀请直接关系(一级)分页列表.
- * @param string $userCode
- * @param int $page
- * @param int $pageSize
- * @return array
- */
- public function userInvitePages($userCode, $page = 1, $pageSize = 10)
- {
- $page = format_page($page);
- $pageSize = intval($pageSize);
- $columns = ['id', 'relation_uid', 'uid', 'created_at'];
- $arrData = $lists = UserLevelRelationModel::query()
- ->with(['childUser:id,code,nick,avatar,parent_uid'])
- ->where(['relation_uid' => $userCode, 'relation_level' => 1])
- ->orderBy('id', 'DESC')
- ->paginate($pageSize, $columns, 'page', $page)
- ->toArray();
- $arrData['data'] = [];
- if (!empty($lists['data'])) {
- foreach ($lists['data'] as $k => &$v) {
- $arrData['data'][$k] = [
- 'user_uid' => $v['child_user']['code'],
- 'nick' => $v['child_user']['nick'],
- 'avatar' => !empty($v['child_user']['avatar']) ? M3u8CacheRepository::getImageUrl($v['child_user']['avatar']) : '',
- 'invited_at' => $v['created_at'],
- ];
- }
- }
- return $arrData;
- }
- }
|