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; $authTime = isset($tokenData['auth_time']) && $tokenData['auth_time']? $tokenData['auth_time'] : 0; // if($authTime && $authTime < date('YmdHis', time() - 86400)){ // return showJson(1067,false); // } $cacheKey = "caches:members:chat_{$userId}_{$userType}"; $info = RedisService::get($cacheKey); if($info){ $info['cache'] = true; return showJson(1010,true, $info); } if($userType == 1){ $info = MemberModel::where(['id'=> $userId,'mark'=>1]) ->select(['id','nickname','username','avatar','gender','app_uuid','member_level','balance']) ->first(); $info = $info? $info->toArray() :[]; if($info){ $info['avatar'] = get_image_url($info['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)); }else{ return showJson(1068,false); } return showJson(1010,true, $info); } }