feat(user): 优化个人详情接口并添加俱乐部列表和关注功能
- 在用户详情中添加 club_list 字段,返回用户加入的俱乐部列表 - 优化俱乐部成员接口,支持分页和显示更多用户信息 - 新增关注功能,用户可以关注其他用户
This commit is contained in:
@@ -91,7 +91,8 @@ class User extends Common
|
|||||||
$user->hidden(['password', 'salt', 'createtime', 'updatetime', 'deletetime', 'remember_token', 'login_fail', 'login_ip', 'login_time']);
|
$user->hidden(['password', 'salt', 'createtime', 'updatetime', 'deletetime', 'remember_token', 'login_fail', 'login_ip', 'login_time']);
|
||||||
$user = $user->toArray();
|
$user = $user->toArray();
|
||||||
$user['msg_num'] = Message::where('user_id', $user['id'])->where('status', 0)->count();
|
$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;
|
$user['card_num'] = 0;
|
||||||
|
|
||||||
$this->success('个人详情', $user);
|
$this->success('个人详情', $user);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ use app\admin\model\shopro\user\User;
|
|||||||
use app\admin\model\zy\game\Activity;
|
use app\admin\model\zy\game\Activity;
|
||||||
use think\exception\ValidateException;
|
use think\exception\ValidateException;
|
||||||
use app\admin\model\zy\game\Participant;
|
use app\admin\model\zy\game\Participant;
|
||||||
|
use app\admin\model\zy\link\Relation;
|
||||||
|
|
||||||
class Club extends Base
|
class Club extends Base
|
||||||
{
|
{
|
||||||
@@ -118,9 +119,11 @@ class Club extends Base
|
|||||||
public function menber()
|
public function menber()
|
||||||
{
|
{
|
||||||
$params = $this->request->param();
|
$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')
|
$query = Db::table(Menber::$tableName)->alias('m')
|
||||||
->join([User::$tableName => 'u'], 'u.id = m.user_id')
|
->join([User::$tableName => 'u'], 'u.id = m.user_id', 'LEFT')
|
||||||
->field('m.*,u.avatar,u.gender,u.nickname');
|
->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'])) {
|
if (empty($params['id'])) {
|
||||||
return $this->error('参数错误');
|
return $this->error('参数错误');
|
||||||
}
|
}
|
||||||
@@ -136,9 +139,13 @@ class Club extends Base
|
|||||||
if (isset($params['order'])) {
|
if (isset($params['order'])) {
|
||||||
$query->order($params['order'], $params['sort'] ?? NULL);
|
$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()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取俱乐部活动
|
// 获取俱乐部活动
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ class Relation extends Model
|
|||||||
|
|
||||||
|
|
||||||
// 表名
|
// 表名
|
||||||
|
public static $tableName = 'zy_relation';
|
||||||
protected $table = 'zy_relation';
|
protected $table = 'zy_relation';
|
||||||
|
|
||||||
// 自动写入时间戳字段
|
// 自动写入时间戳字段
|
||||||
|
|||||||
Reference in New Issue
Block a user