all(); $token = isset($params['token'])? $params['token'] : ''; if(empty($token)){ return showJson(1066,false); } $tokenData = MemberService::make()->getChatToken($token, 2); $userId = isset($tokenData['user_id'])? $tokenData['user_id'] : 0; $userType = isset($tokenData['user_type']) && $tokenData['user_type']? $tokenData['user_type'] : 1; $cacheKey = "caches:members:chat_{$userId}_{$userType}"; $info = RedisService::get($cacheKey); if($info){ return $info; } if($userType == 1){ $info = MemberService::make()->getInfo($userId, 'chat',['id','username','nickname','gender','app_uuid','avatar']); }else if($userType == 2){ $info = MerchantModel::where(['user_id'=> $userId,'mark'=>1]) ->select(['user_id as id','name as nickname','mobile as username','logo as avatar']) ->first(); $info = $info? $info->toArray() :[]; }else if($userType == 3){ $info = AcceptorModel::from('acceptor as a') ->leftJoin('member as b','b.id','=','a.user_id') ->where(['a.user_id'=> $userId,'a.mark'=>1]) ->select(['a.user_id as id','a.name as nickname','b.username','b.avatar']) ->first(); $info = $info? $info->toArray() :[]; } if($info){ $info['user_type'] = $userType; $info['user_type_name'] = $userType==3?'承兑商':($userType==2?'商家':'会员'); $info['avatar'] = $info['avatar']? get_image_url($info['avatar']) : get_image_url('/images/member/logo.png'); RedisService::set($cacheKey, $info, rand(5,10)); } return showJson(1010,true, $info); } }