116 lines
3.1 KiB
PHP
116 lines
3.1 KiB
PHP
<?php
|
|
|
|
|
|
namespace app\api\logic;
|
|
|
|
|
|
use app\common\basics\Logic;
|
|
use app\common\model\community\CommunityArticle;
|
|
use app\common\model\community\CommunityFollow;
|
|
use app\common\model\community\CommunityUser;
|
|
use app\common\model\user\User;
|
|
use app\common\server\ConfigServer;
|
|
use app\common\server\UrlServer;
|
|
|
|
|
|
/**
|
|
* 社区用户相关
|
|
* Class CommunityArticleLogic
|
|
* @package app\api\logic
|
|
*/
|
|
class CommunityUserLogic extends Logic
|
|
{
|
|
|
|
/**
|
|
* @notes 获取个人中心信息
|
|
* @param $user_id
|
|
* @return mixed
|
|
* @author 段誉
|
|
* @date 2022/5/5 18:00
|
|
*/
|
|
public static function getCenterInfo($user_id, $get)
|
|
{
|
|
// 是否获取当前登录者信息
|
|
$is_self = true;
|
|
// 当前登录者是否关注需获取信息的$get['user_id']
|
|
$is_follow = false;
|
|
if (!empty($get['user_id']) && $get['user_id'] != $user_id) {
|
|
// 校验是否关注
|
|
$relation = CommunityFollow::where([
|
|
'user_id' => $user_id,
|
|
'follow_id' => $get['user_id'],
|
|
'status' => 1
|
|
])->findOrEmpty();
|
|
if (!$relation->isEmpty()) {
|
|
$is_follow = true;
|
|
}
|
|
|
|
$user_id = $get['user_id'];
|
|
$is_self = false;
|
|
}
|
|
|
|
$user = User::field(['id', 'sn', 'nickname', 'avatar'])->findOrEmpty($user_id)->toArray();
|
|
$community = CommunityUser::getUserInfo($user_id);
|
|
|
|
$user['avatar'] = !empty($user['avatar']) ? UrlServer::getFileUrl($user['avatar']) : '';
|
|
$user['image'] = !empty($community['image']) ? UrlServer::getFileUrl($community['image']) : '';
|
|
$user['signature'] = $community['signature'];
|
|
|
|
$user['follow'] = CommunityFollow::where(['user_id' => $user_id, 'status' => 1])->count();
|
|
$user['fans'] = CommunityFollow::where(['follow_id' => $user_id, 'status' => 1])->count();
|
|
$user['like'] = CommunityArticle::where(['user_id' => $user_id])->sum('like');
|
|
|
|
// 是否为当前登录者
|
|
$user['is_self'] = $is_self ? 1 : 0;
|
|
// 是否关注
|
|
$user['is_follow'] = $is_follow ? 1 : 0;
|
|
|
|
return $user;
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取设置
|
|
* @param $user_id
|
|
* @return array|\think\Model
|
|
* @author 段誉
|
|
* @date 2022/5/5 18:39
|
|
*/
|
|
public static function getSetting($user_id)
|
|
{
|
|
$user = CommunityUser::getUserInfo($user_id);
|
|
|
|
if (empty($user['image'])) {
|
|
$user['image'] = ConfigServer::get('community', 'user_bg');
|
|
}
|
|
|
|
return $user->toArray();
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* @notes 个人设置
|
|
* @param $user_id
|
|
* @param $post
|
|
* @return CommunityUser|false
|
|
* @author 段誉
|
|
* @date 2022/5/5 18:34
|
|
*/
|
|
public static function setSetting($user_id, $post)
|
|
{
|
|
$user = CommunityUser::getUserInfo($user_id);
|
|
if (empty($user)) {
|
|
self::$error = '系统错误';
|
|
return false;
|
|
}
|
|
return CommunityUser::where(['user_id' => $user_id])->update([
|
|
'signature' => $post['signature'] ?? '',
|
|
'image' => $post['image'] ?? '',
|
|
]);
|
|
}
|
|
|
|
|
|
|
|
|
|
} |