From 185578aa6aeab0e3d254eb3de89e472b7d1576b4 Mon Sep 17 00:00:00 2001 From: xiadc <251308692@qq.com> Date: Sat, 24 May 2025 22:32:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(user):=20=E4=BC=98=E5=8C=96=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=B9=B6=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BF=B1=E4=B9=90=E9=83=A8=E5=88=97=E8=A1=A8=E5=92=8C?= =?UTF-8?q?=E5=85=B3=E6=B3=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在用户详情中添加 club_list 字段,返回用户加入的俱乐部列表 - 优化俱乐部成员接口,支持分页和显示更多用户信息 - 新增关注功能,用户可以关注其他用户 --- addons/shopro/controller/user/User.php | 3 ++- addons/shopro/controller/zy/Club.php | 17 ++++++++++++----- application/admin/model/zy/link/Relation.php | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/addons/shopro/controller/user/User.php b/addons/shopro/controller/user/User.php index 232007a..5997f89 100644 --- a/addons/shopro/controller/user/User.php +++ b/addons/shopro/controller/user/User.php @@ -91,7 +91,8 @@ class User extends Common $user->hidden(['password', 'salt', 'createtime', 'updatetime', 'deletetime', 'remember_token', 'login_fail', 'login_ip', 'login_time']); $user = $user->toArray(); $user['msg_num'] = Message::where('user_id', $user['id'])->where('status', 0)->count(); - $user['club_num'] = Menber::where('user_id', $user['id'])->where('role','>', 0)->count(); + $user['club_list'] = Menber::where('user_id', $user['id'])->where('role','>', 0)->select(); + $user['club_num'] = count($user['club_list']); $user['card_num'] = 0; $this->success('个人详情', $user); diff --git a/addons/shopro/controller/zy/Club.php b/addons/shopro/controller/zy/Club.php index cf6a07e..80044cb 100644 --- a/addons/shopro/controller/zy/Club.php +++ b/addons/shopro/controller/zy/Club.php @@ -14,6 +14,7 @@ use app\admin\model\shopro\user\User; use app\admin\model\zy\game\Activity; use think\exception\ValidateException; use app\admin\model\zy\game\Participant; +use app\admin\model\zy\link\Relation; class Club extends Base { @@ -81,7 +82,7 @@ class Club extends Base $menber = Menber::alias('m') ->join([User::$tableName => 'u'], 'u.id = m.user_id') ->where('club_id', $model['id'])->field('gender,count(*) as num')->group('u.gender') - ->column('count(*) as num','gender'); + ->column('count(*) as num', 'gender'); $model['gender0'] = $menber[0] ?? 0; $model['gender1'] = $menber[1] ?? 0; $this->model->where('id', $model['id'])->setInc('attention'); @@ -118,9 +119,11 @@ class Club extends Base public function menber() { $params = $this->request->param(); + $sub = Relation::field('user_id,target_id,content')->where('user_id', $this->auth->id)->buildSql(); $query = Db::table(Menber::$tableName)->alias('m') - ->join([User::$tableName => 'u'], 'u.id = m.user_id') - ->field('m.*,u.avatar,u.gender,u.nickname'); + ->join([User::$tableName => 'u'], 'u.id = m.user_id', 'LEFT') + ->join([$sub => 'r'], 'r.target_id = m.user_id', 'LEFT') + ->field('m.*,u.avatar,u.gender,u.nickname,u.wechat,u.qq,u.mobile,r.content'); if (empty($params['id'])) { return $this->error('参数错误'); } @@ -136,9 +139,13 @@ class Club extends Base if (isset($params['order'])) { $query->order($params['order'], $params['sort'] ?? NULL); } - $res = $query->select(); + $res = $query->paginate($params['pageSize'] ?? 10); + $list = $res->items(); + foreach ($list as &$l) { + $l['content'] = json_decode($l['content'] ?? '[]', true); + } - $this->success('Success', $res); + $this->success('Success', ['list' => $list, 'count' => $res->total()]); } // 获取俱乐部活动 diff --git a/application/admin/model/zy/link/Relation.php b/application/admin/model/zy/link/Relation.php index d1a4928..a94cba6 100644 --- a/application/admin/model/zy/link/Relation.php +++ b/application/admin/model/zy/link/Relation.php @@ -13,6 +13,7 @@ class Relation extends Model // 表名 + public static $tableName = 'zy_relation'; protected $table = 'zy_relation'; // 自动写入时间戳字段