数据缓存处理

This commit is contained in:
2025-12-24 16:21:07 +08:00
parent 0dfccdd617
commit f3e692f3fc
9 changed files with 650 additions and 46 deletions

View File

@@ -2,6 +2,7 @@
namespace app\api\model;
use think\Cache;
use think\Db;
use think\Model;
@@ -189,36 +190,44 @@ class User extends Model
//获取用户基础信息
public function get_user_base_info($uid)
{
$user_info = db::name('user')
->field('id as user_id,nickname,avatar,sex,mobile,market_value,user_code as code')
->where('id', $uid)->find();
//先从缓存中获取
$cache_key = 'user_base_info_'.$uid;
$user_info = Cache::get($cache_key);
if (empty($user_info)) {
return ['code' => 0, 'msg' => '用户不存在', 'data' => null];
}
$user_info['dress'] = model('api/Decorate')->user_decorate_detail($uid,1);//头像装扮
$user_info['user_code'] = model('api/Decorate')->user_decorate_detail($uid,6);//靓号
$user_info['is_special_code'] = 0;//是否是靓号:0-普通1-靓号
if($user_info['user_code'] != $user_info['code']){
$user_info['is_special_code'] = 1;//是靓号:0-普通1-靓号
}
$user_info['mic_cycle'] = model('api/Decorate')->user_decorate_detail($uid,3);//麦圈
$user_info['chat_bubble'] = model('api/Decorate')->user_decorate_detail($user_info['user_id'],9);//聊天气泡
$user_info['auth'] = db::name('user_auth')->where(['mobile' => $user_info['mobile'],'is_real' => 1])->find() ? 1 : 0;//是否实名0-未实名1-实名
if($user_info){
$user_info = db::name('user')
->field('id as user_id,nickname,avatar,sex,mobile,market_value,user_code as code')
->where('id', $uid)->find();
$Nobility = model('api/Nobility')->getUserNobilityInfo($uid);//爵位
$user_info['nobility_image'] = $Nobility['play_image'];//爵位图标
$user_info['nickname_color'] = $Nobility['nick_name_color'];//昵称颜色
if (empty($user_info)) {
return ['code' => 0, 'msg' => '用户不存在', 'data' => null];
}
$user_info['dress'] = model('api/Decorate')->user_decorate_detail($uid,1);//头像装扮
$user_info['user_code'] = model('api/Decorate')->user_decorate_detail($uid,6);//靓号
$user_info['is_special_code'] = 0;//是否是靓号:0-普通1-靓号
if($user_info['user_code'] != $user_info['code']){
$user_info['is_special_code'] = 1;//是靓号:0-普通1-靓号
}
$user_info['mic_cycle'] = model('api/Decorate')->user_decorate_detail($uid,3);//麦圈
$user_info['chat_bubble'] = model('api/Decorate')->user_decorate_detail($user_info['user_id'],9);//聊天气泡
$user_info['is_hide'] = 0;//是否可以设置隐身0-不可以1-可以
if($Nobility['power_list']){
foreach ($Nobility['power_list'] as $key => $value){
if($value['id'] == 8){
$user_info['is_hide'] = 1;//隐身
$Nobility = model('api/Nobility')->getUserNobilityInfo($uid);//爵位
$user_info['nobility_image'] = $Nobility['play_image'];//爵位图标
$user_info['nickname_color'] = $Nobility['nick_name_color'];//昵称颜色
$user_info['enter_image'] = $Nobility['enter_image'];//入场特效
$user_info['nobility_name'] = $Nobility['nobility_name'];//入场特效
$user_info['is_hide'] = 0;//是否可以设置隐身0-不可以1-可以
if($Nobility['power_list']){
foreach ($Nobility['power_list'] as $key => $value){
if($value['id'] == 8){
$user_info['is_hide'] = 1;//隐身
}
}
}
}
$user_info['auth'] = db::name('user_auth')->where(['mobile' => $user_info['mobile'],'is_real' => 1])->find() ? 1 : 0;//是否实名0-未实名1-实名
$user_info['icon'][0] = model('api/UserData')->user_wealth_icon($uid);//财富图标
$user_info['icon'][1] = model('api/UserData')->user_charm_icon($uid);//魅力图标
//判断是否是歌手 如果是 返回等级图标
@@ -228,6 +237,8 @@ class User extends Model
if($singer['status'] == 1){
$user_info['icon'][2] = db::name('vs_singer_level')->where(['level' =>$singer['level'],'deletetime' => 0])->value('image');//等级图标
}
//设置缓存
Cache::set($cache_key, $user_info, 3600);
return $user_info;
}