love_php/app/Http/Controllers/App/ActivityController.php
2026-04-02 09:20:51 +08:00

732 lines
30 KiB
PHP

<?php
namespace App\Http\Controllers\App;
use App\Models\AccessRecord;
use App\Models\CommunityActivity;
use App\Models\Live\Anchor;
use App\Models\Live\LiveBanner;
use App\Models\Live\Viewer;
use App\Models\Server\MerchantUser;
use App\Models\TouristOrder;
use App\Models\User;
use App\Models\WangYiYunUser;
use App\Models\Wechat;
use App\Services\IMService;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Response\ResponseJson;
use App\Models\Activity;
use App\Models\ActivityMember;
use App\Models\ActivityClass;
use App\Contracts\OrderContract;
use App\Models\Order;
use App\Models\UrlLink;
use App\Services\UserService;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Redis;
class ActivityController extends Controller
{
use ResponseJson;
protected $orderCon;
public function __construct(OrderContract $orderCon)
{
$this->orderCon = $orderCon;
}
/**
* 活动列表
* @param Request $request [description]
* @return [type] [description]
*/
public function activities(Request $request)
{
$user = $this->getMyUserinfo();
$user_id = 0;
if($user){
$user_id = $user->id;
}
try {
$activities = Activity::with('sku', 'class', 'activityMember', 'activityMember')
->with(['activityMemberNotSign'=>function($query) use($user_id){
$query->where('user_id', $user_id);
$query->whereNull('sign_in');
}])
->where('is_cancel', 0)->where('is_hidden', 0)->where('theme', '<>', '测试');
$type = $request->input('type');
//类型
if ($type == '进行中') {
$now = date('Y-m-d H:i:s');
$activities = $activities->where('end_time', '>', $now)->where(function($q) use ($now){
$q->where('apply_deadline', '>', $now)
->orWhereNull('apply_deadline');
});
}elseif ($type == '已结束') {
$activities = $activities->where('is_deadline', 1);
}
//分类
$class_id = $request->input('class_id');
if ($class_id && $class_id != '不限') {
$activities = $activities->where('class_id', $class_id);
}
//价格
$price = $request->input('price');
if ($price == '免费') {
$activities = $activities->where('fee', 0);
}elseif ($price == '收费') {
$activities = $activities->where('fee','>', 0);
}
//筛选
$screen = $request->input('screen');
if ($screen == '已报名') {
$activity_ids = ActivityMember::where('user_id', $user_id)->pluck('activity_id');
$activities = $activities->whereIn('id', $activity_ids);
}elseif ($screen == '未报名') {
$activity_ids = ActivityMember::where('user_id', $user_id)->pluck('activity_id');
$activities = $activities->whereNotIn('id', $activity_ids);
}
$keyword = $request->input('keyword');
if ($keyword) {
$keyword = trim($keyword);
$activities = $activities->where("theme", 'like', '%'.$keyword.'%');
}
$activities = $activities->select('id','can_repeat_sign','is_deadline', 'apply_deadline','theme', 'class_id', 'is_top', 'city', 'dist', 'start_time', 'end_time', 'fee', 'poster','is_top','is_online')->orderBy('is_top', 'desc')->orderBy('start_time', 'desc')->paginate();
foreach ($activities as $activity) {
$start_time = date('Y/m/d', strtotime($activity->start_time));
$end_time = date('Y/m/d', strtotime($activity->end_time));
if ($start_time === $end_time) {
$time = $start_time;
}else{
if (empty($activity->end_time)) {
$time = $start_time.' - '.'待定';
}else{
$time = $start_time.' - '.$end_time;
}
}
//活动状态
$activity->activity_status = 0;
if($activity->start_time>now()){
$activity->activity_status = 0;
}elseif($activity->start_time<now()&&now()<$activity->end_time){
$activity->activity_status = 1;
}elseif(now()>$activity->end_time){
$activity->activity_status = 2;
}
$activity->city = $activity->city ? : '';
$activity->dist = $activity->dist ? : '';
$activity->time = $time;
//sku
$skus = [];
if ($activity->sku) {
$skus = $activity->sku->skus;
if (!is_array($skus)) {
$skus = json_decode($activity->sku->skus,true);
}
}
$activity->skus = $skus;
//价格区间
// $activity->fee = $this->getPriceRange($skus, $activity);
if (count($skus)>=1) {
$activity->fee = $skus[0]['price'];
}
if($activity->fee == 0){
$activity->fee = 0;
}else{
$activity->fee = \CommonUtilsService::moneyFormat($activity->fee,0);
}
$activity->class_name= $activity->class?$activity->class->title:null;
$activity->poster = $activity->poster.'?x-oss-process=style/scale1';
//是否报名
$activity->is_member = $activity->activityMember->where('user_id', $user_id)->first()?1:0;
// 是否可以重复报名
if($activity->can_repeat_sign == 1 && $activity->is_member = 1){
//已报名 没有签到的数量
if(count($activity->activityMemberNotSign)==0){
$activity->is_member = 0;
}else{
$activity->is_member = 1;
}
}
// 1.可以报名 。 2 .已经报名 3.截止报名 4.已结束
$apply_status = 1;
if($activity->is_member == 0){
if(!empty($activity->apply_deadline)){
$apply_deadline = strtotime($activity->apply_deadline);
if($apply_deadline<time()){
$apply_status = 3;
}
}
}else{
$apply_status = 2;
}
if($activity->is_deadline == 1){
$apply_status = 4;
}
$activity->apply_status = $apply_status;
unset($activity->sku, $activity->skus, $activity->class, $activity->activityMember,$activity->activityMemberNotSign);
}
return $this->success('ok', $activities);
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('数据获取失败,请稍后再试');
}
}
public function getPriceRange($skus, $activity)
{
if (count($skus)) {
if (count($skus) == 1) {
return \CommonUtilsService::moneyFormat($skus[0]['price'],0);
}else{
$prices = [];
foreach ($skus as $sku) {
$prices[] = $sku['price'];
}
sort($prices);
$min_price = $prices[0];
$max_price = $prices[count($prices) - 1];
if($min_price == $max_price){
return \CommonUtilsService::moneyFormat($min_price,0);
}
return \CommonUtilsService::moneyFormat($min_price,0).'~'. \CommonUtilsService::moneyFormat($max_price,0);
}
}else{
return \CommonUtilsService::moneyFormat($activity->fee,0) ;
}
}
/**
* 活动分类列表
* @param Request $request [description]
* @return [type] [description]
*/
public function activityClasses(Request $request)
{
$classes = ActivityClass::orderBy('id', 'asc')
->withCount('activity')
->get()->toArray();
$test = [
'id'=>0,
'title'=>'不限',
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s')
];
array_unshift($classes, $test);
return $this->success('ok', $classes);
}
/**
* 活动详情
* @param Request $request [description]
* @param Activity $activity [description]
* @return [type] [description]
*/
public function activity(Request $request, $activity)
{
$is_set = Activity::where('id', $activity)->count();
if(empty($is_set)){
return $this->failure('活动不存在');
}
$Logging = 0 ;
if (\Auth::guard('api')->check()) {
$user = \Auth::guard('api')->user();
$Logging = 1;
}
$activity = Activity::find($activity);
$activity = $activity->withCount('activityMember')->where('id', $activity->id)->select('id', 'can_repeat_sign','is_deadline', 'apply_deadline','theme','show_member_num', 'poster', 'fee', 'content', 'start_time', 'end_time', 'province', 'city', 'dist', 'address', 'detail_path', 'detail','location_latitude','location_longitude','activity_description','is_online')->first();
$activity->h5_link = env('APP_URL').'/h5/#/eventDetail/'.$activity->id;
$activity->skus = $activity->skus();
//价格区间
$activity->price_range = $this->getPriceRange($activity->skus, $activity);
//是否收藏
$activity->hasFavorited = 0;
//是否登录
$activity->Logging = $Logging;
//是否报名
$activity->is_member = 0;
//订单号
$activity->order_id = null;
$activity->link = null;
if($Logging){
$activity->is_member = $activity->activityMember->where('user_id', $user->id)->count()?1:0;
// 是否可以重复报名
if($activity->can_repeat_sign == 1 && $activity->is_member = 1){
$myActivityMemberNotSignCount = ActivityMember::where(['user_id'=> $user->id,'activity_id'=>$activity->id])->whereNull('sign_in')->count();
//已报名 没有签到的数量
if($myActivityMemberNotSignCount==0){
$activity->is_member = 0;
}else{
$activity->is_member = 1;
}
}
$activity->hasFavorited = $user->hasFavorited($activity)?1:0;
$activity->activityMember->where('user_id', $user->id)->first()?1:0;
//订单号
$activity->order_id = Order::where('user_id', $user->id)->where('type','activity')->where('type_id', $activity->id)->where('pay_status', 'PAID')->value('id');
//H5链接
$link = env('APP_URL')."/api/official/live/wechat/oauth?from_user_id=".$user->id."&url=https://love.ufutx.com/h5/#/activityDetail/".$activity->id;
$link = UrlLink::firstOrCreate(['url'=>$link]);
$code = $this->decb64($link->id);
$activity->link = 'ufutx.cn/s/'.$code;
}
unset($activity->sku);
//报名人数
$activity->member_num = $activity->activityMember()->with('user:id,photo,nickname')->whereHas('user', function($sql){
$sql->where('hidden_profile', 'NONE');
})->count();
//最近报名成员
$activityMembers = $activity->activityMember()->with('user:id,photo,nickname')->whereHas('user', function($sql){
$sql->where('hidden_profile', 'NONE');
})->select('user_id', 'activity_id')->orderBy('id', 'desc');
$activity->members = $activityMembers->get();
foreach ($activity->members as $member) {
$member->nickname = $member->user->nickname;
$userSer = new UserService();
$member->photo = $userSer->getUserValidPhoto($member->user);
unset($member->user);
}
//活动状态
$activity->activity_status = 0;
if($activity->start_time>now()){
$activity->activity_status = 0;
}elseif($activity->start_time<now()&&now()<$activity->end_time){
$activity->activity_status = 1;
}elseif(now()>$activity->end_time){
$activity->activity_status = 2;
}
//增加点击量
$activity->increment('click_num', 1);
// 1.可以报名 。 2 .已经报名 3.截止报名
$apply_status = 1;
if($activity->is_member == 0){
if(!empty($activity->apply_deadline)){
$apply_deadline = strtotime($activity->apply_deadline);
if($apply_deadline<time()){
$apply_status = 3;
}
}
}else{
$apply_status = 2;
}
if($activity->is_deadline == 1){
$apply_status = 4;
}
$activity->apply_status = $apply_status;
unset($activity->activityMember);
return $this->success('ok', $activity);
}
/**
* 报名活动
* @param Request $request [description]
* @param Activity $activity [description]
* @param [type] $sku_id [description]
* @return [type] [description]
*/
public function joinActivity(Request $request, Activity $activity, $sku_id)
{
\DB::beginTransaction();
try {
$user = auth()->user();
$user_id = $user->id;
$member = $user->activityMember()->where('activity_id', $activity->id)->where('is_joined', 1)->first();
if ($member) {
return $this->failure('已报名');
}
// // 该活动特殊要求
// if($activity->id==554){
// $count = $user->ProfilePhoto()->count();// 大于七张
// if($count<7)
// return $this->resp('您的照片不足七张。',null,3);
// $introduction = mb_strlen($user->profileCourtship->introduction);//大于两百字
// if($introduction<200)
// return $this->resp('您的个人介绍还不足200字。',null,3);
// $interest_hobby = mb_strlen($user->profileCourtship->interest_hobby);//大于50字
// if($interest_hobby<50)
// return $this->resp('您的兴趣爱好还不足50字。',null,3);
// $ideal_mate =mb_strlen($user->profileCourtship->ideal_mate);// 大于50字
// if($ideal_mate<50)
// return $this->resp('您的择偶需求还不足50字。',null,3);
// return $user->is_educate_approved;
// // 要求真人,实名,学历认证
// if($user->is_real_approved!=1)
// return $this->resp('您尚未完成真人认证',null,3);
// if($user->is_approved!=1)
// return $this->resp('您尚未完成实名认证',null,3);
// if($user->is_educate_approved!=1)
// return $this->resp('您尚未完成学历认证',null,3);
// }
// if(!empty($activity->apply_deadline)){
// $apply_deadline = strtotime($activity->apply_deadline);
// if($apply_deadline<time()){
// return $this->failure('当前活动,已截止报名');
// }
// }
if (empty($sku_id)) {
return $this->failure('请选择活动规格');
}
//sku
$sub_sku = ($activity->skus())[$sku_id-1];
if (empty(count($sub_sku))) {
return $this->failure('暂无活动规格');
}
$price = $sub_sku['price'];
$goods = $activity->theme.'【'.$sub_sku['name'].'】';
$linkmen = $request->input('linkmen', []);
if (empty(count($linkmen))) {
return $this->failure("请输入至少填写一位联系人");
}
if ($price == 0) {
$activity->activityMember()->create([
'user_id'=>auth()->id(),
'linkmen'=>json_encode($linkmen),
'is_joined'=>1
]);
}
//生成订单
$pay_order = $this->orderCon->makeAppOrder($request, $price, 'activity', $activity->id, $goods, $linkmen, $goods);
if (empty($pay_order)) throw new \Exception("活动订单生成失败", 1);
//发送模板通知给管理员(公众号)
// $this->sendActivityNotice($activity, $user);
\DB::commit();
return $this->success('ok', $pay_order);
} catch (\Exception $e) {
\DB::rollBack();
$this->getError($e);
return $this->failure('报名失败,请稍后再试');
}
}
/**
* 收藏活动
* @param Request $request [description]
* @param Activity $activity [description]
* @return [type] [description]
*/
public function favoriteActivity(Request $request, Activity $activity)
{
try {
$user = auth()->user();
if ($user->hasFavorited($activity)) {
$user->unfavorite($activity);
}else{
$user->favorite($activity);
}
return $this->success('ok');
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('收藏活动失败,请稍后再试');
}
}
public function decb64($dec) { //10进制转换成64进制
if ($dec < 0) {
return false;
}
$map = array(
0=>'0',1=>'1',2=>'2',3=>'3',4=>'4',5=>'5',6=>'6',7=>'7',8=>'8',9=>'9',
10=>'A',11=>'B',12=>'C',13=>'D',14=>'E',15=>'F',16=>'G',17=>'H',18=>'I',19=>'J',
20=>'K',21=>'L',22=>'M',23=>'N',24=>'O',25=>'P',26=>'Q',27=>'R',28=>'S',29=>'T',
30=>'U',31=>'V',32=>'W',33=>'X',34=>'Y',35=>'Z',36=>'a',37=>'b',38=>'c',39=>'d',
40=>'e',41=>'f',42=>'g',43=>'h',44=>'i',45=>'j',46=>'k',47=>'l',48=>'m',49=>'n',
50=>'o',51=>'p',52=>'q',53=>'r',54=>'s',55=>'t',56=>'u',57=>'v',58=>'w',59=>'x',
60=>'y',61=>'z',62=>'_',63=>'=',
);
$b64 = '';
do {
$b64 = $map[($dec % 64)] . $b64;
$dec /= 64;
} while ($dec >= 1);
return $b64;
}
//同步活动列表
public function businessActivities(Request $request)
{
$class = $request->class??'one';
$result = CommunityActivity::select('id','title','merchant_id','price','pic','class','Subtitle','start_time','apply_deadline','end_time');
if(isset($request->keyword) && $request->keyword) {
$result = $result->where('title','like','%'.$request->keyword.'%');
}
// $result = $result->where("title", 'not like', '%盲盒%');
$result = $result->where('status',1)
->where('type','business')
->where('is_love_show',1)
->where('class',$class)
->orderBy('apply_deadline','desc')
->orderBy('is_top','desc')
->orderBy('top_time','desc')->paginate();
$time = date('Y-m-d H:i:s');
foreach ($result as $key => $value) {
if($value->class == 'one'){
$is_deadline = 0;
$pay = TouristOrder::where('type','community')->where('type_id',$value->id)->where('account_id',$value->merchant_id)->whereIn('pay_status',[1,4])->first();
if($pay){
$is_deadline = 1;
}elseif($value->apply_deadline && $value->apply_deadline <= $time){
$is_deadline = 2;
}elseif($value->end_time && $value->end_time <= $time){
$is_deadline = 3;
}
$value->is_deadline = $is_deadline;
}
}
return $this->success('ok', $result);
}
//同步活动详情
public function businessActivity(Request $request,$activity_id)
{
$user = $this->getMyUserinfo();
$result = CommunityActivity::where('id',$activity_id)->first();
if(!$result) return $this->failure('该活动已下线或不存在');
$result->price = floatval($result->price);
$user_service = new UserService();
$merchant_user = $user_service->syncSaasUser($user);
Redis::zscore('love_community_pv', $activity_id);
$result->love_pv = Redis::zincrby('love_activity_pv', 1 ,$activity_id);
$banner = LiveBanner::where('class','community')->where('class_id',$activity_id)->value('icon');
$result->banner = json_decode( $banner,true);
$result->sku = json_decode($result->sku,true);
if ($merchant_user) {
$accid = 10000000+$merchant_user->id;
$token = WangYiYunUser::where('accid',$accid)->value('token');
if(!$token){
$data['nickname'] =$merchant_user->nickname;
$data['sex'] = 0;
$this->createWyyUser($data,$accid);
$token = WangYiYunUser::where('accid',$accid)->value('token');
}
$result->token = $token;
}
// 是否购买过
$pay_status = TouristOrder::where('account_id',$merchant_user->id)->where('type','community')->whereIn('pay_status',[1,4])->where('type_id',$activity_id)->exists();
$result->pay_status = $pay_status;
$reward_count = TouristOrder::where('type','reward_activity')->where('type_id', $activity_id)->whereIn('pay_status',[1,4])->get()->count();
$result->reward_count = $reward_count;
$value = TouristOrder::where('type','community')->where('type_id',$activity_id)->where('account_id',$merchant_user->id)->whereIn('pay_status',[1,4])->first();
//判断活动是否截止报名 is_deadline 0:可以报名 1:已报名 2:截止报名 3活动结束
$time = date('Y-m-d H:i:s');
if($result->class == 'one'){
$is_deadline = 0;
if($value){
$is_deadline = 1;
}elseif($result->apply_deadline && $result->apply_deadline <= $time){
$is_deadline = 2;
}elseif($result->end_time && $result->end_time <= $time){
$is_deadline = 3;
}
$result->is_deadline = $is_deadline;
}
$result->start_time = $result->start_time ? date('Y-m-d H:i',strtotime($result->start_time)) :null;
$result->end_time = $result->end_time ? date('Y-m-d H:i',strtotime($result->end_time)) :null;
$result->apply_deadline = $result->apply_deadline ? date('Y-m-d H:i',strtotime($result->apply_deadline)) :null;
$result->h5_link = env('APP_URL').'/api/official/live/wechat/oauth?url='.urlencode(env('APP_URL').'/h5/#/activityDetails/'.$result->id);
//$type = 'community';
//$key = 'love_'.$type.'_pv';
//Redis::zincrby($key,1,$activity_id);
if(config('app.env') == 'production'){
$merchant_user->addlog($result,2);
}
return $this->success('ok', $result);
}
public function joinBusinessActivity(Request $request,$activity_id)
{
\DB::beginTransaction();
try {
if (\Auth::guard('api')->check()) {
$user = \Auth::guard('api')->user();
}
$pay_type = $request->input('pay_type', 'free');
$merchant_user = MerchantUser::where('user_id',$user->id)->first();
$order = TouristOrder::where('type','community')->where('type_id',$activity_id)->where('account_id',$merchant_user->id)->whereIn('pay_status',[1,4])->first();
if ($order) {
return $this->failure('已报名');
}
$result = CommunityActivity::where('id',$activity_id)->where('status',1)->first();
//sku
$sku_id = $request->sku_id;
if(!$sku_id&&$result->pay_type =='wechat') return $this->failure('规格参数不存在,请稍后再试。');
if($sku_id){
$skus = json_decode($result->sku,true);
$skus = array_column($skus, null,'sku_id');
$sku = $skus[$sku_id];
$price = $sku['price'];
$goods = $sku['name'];
$desc = $result->title.'-'.$sku['name'].'';
}else{
$price = $result->price;
$goods = null;
$desc = $result->title;
}
if (empty($pay_type)) {
$pay_type = 'free';
}
if ($pay_type == 'free' && $price != 0) {
throw new \Exception("订单价格大于0", 1);
}
$anchor = Anchor::where('id',$result->anchor_id)->first();
$trade_no = $this->getRefundTradeNo();
$TouristOrder = new TouristOrder();
$TouristOrder->open_id = null;
$TouristOrder->price = floatval($price);
$TouristOrder->pay_type = $result->pay_type;
$TouristOrder->type = 'community';
$TouristOrder->type_id = $activity_id;
$TouristOrder->trade_no = $trade_no;
$TouristOrder->desc = $desc;
$TouristOrder->goods = $goods;
$TouristOrder->channel = 2;
//$TouristOrder->from_openid = $request->from_openid;
//$TouristOrder->share_channel_id = $request->share_channel_id;
$TouristOrder->merchant_id = $result->merchant_id??0;
$TouristOrder->account_id = $merchant_user->id;
$TouristOrder->name = $request->name?:($merchant_user->nickname?:$user->nickname);
$TouristOrder->area_code = $request->area_code;
$TouristOrder->mobile = $request->mobile?:"未获取";
$TouristOrder->withdrawal_radio = $anchor->withdrawal_radio ??100;
$TouristOrder->insurance = $result->insurance?:0;
if($request->insurance_info)
$TouristOrder->insurance_info = json_encode($request->insurance_info);
if($request->linkmen)
$TouristOrder->linkmen = json_encode($request->linkmen);
if($price==0){
$TouristOrder->pay_status = 1;
$TouristOrder->save();
$TouristOrder->pay_config = null;
$TouristOrder->wx_pay = [];
return $this->success('ok',$TouristOrder);
}
$TouristOrder->save();
//$receipt = request()->input('apple_receipt');
$ios_version = $request->header('app-version', '1.0.0');
$result = $ios_version == '1.3.17'?true:false;
if ($result && $pay_type == 'ios' and empty($receipt)) throw new \Exception("没有支付凭证", 1);
if ($price>0) {
if ($pay_type == 'wechat') {
$pay_params = [
'user_id' => auth()->id(),
'trade_no' => $trade_no,
'pay_status' => $price == 0?'PAID':'UNPAID',
'cash' => $price,
'score' => 0,
'pay_type' => $pay_type,
'receipt' => $receipt = request()->input('apple_receipt'),
];
$ios_version = request()->header('ios_version');
$and_version = request()->header('and_version');
$callback = config('app.url').'/api/app/callback/business/orders/'.$trade_no.'?ios_version='.$ios_version.'&and_version='.$and_version;
$pay_config = \WechatService::constructWXAppPay($pay_params, auth()->id(), $desc, $callback);
$TouristOrder->pay_config = $pay_config;
}elseif ($pay_type == 'alipay') {
$pay_config = \AlipayService::purchase($desc, $trade_no, $price);
$TouristOrder->pay_config = $pay_config;
}
}
$TouristOrder->order_id = $TouristOrder->id;
$TouristOrder->cash = $TouristOrder->price;
//发送模板通知给管理员(公众号)
// $this->sendActivityNotice($activity, $user);
\DB::commit();
return $this->success('ok', $TouristOrder);
} catch (\Exception $e) {
\DB::rollBack();
$this->getError($e);
return $this->failure('报名失败,请稍后再试');
}
}
public function createWyyUser($data,$accid)
{
$im_service = new IMService(env('IM_APP_KEY'), env('IM_APP_SECRET'));
$result = $im_service->createUserId($accid,$data['nickname'],$props='{}',null);
//\Log::info('创建网易云账号');
//\Log::info($result);
if ($result['code'] == 200) {
$wyyUser = new WangYiYunUser;
$wyyUser->accid = $accid;
$wyyUser->name = $data['nickname'];
$wyyUser->gender = $data['sex'];
$wyyUser->token = $result['info']['token'];
$wyyUser->save();
}elseif ($result['code'] == 414 && $result['desc'] == 'already register') {
$result = $im_service->getUinfos([$accid]);
if ($result['code'] == 200) {
$info = $result['uinfos'][0];
$accid = '';
$name = '';
$gender = '';
$icon = '';
if(array_key_exists("accid",$info)){
$accid = $info['accid'];
}
if(array_key_exists("name",$info)){
$name = $info['name'];
}
if(array_key_exists("gender",$info)){
$gender = $info['gender'];
}
if(array_key_exists("icon",$info)){
$icon = $info['icon'];
}
$wyyUser = new WangYiYunUser;
$wyyUser->accid = $accid;
$wyyUser->name = $name;
$wyyUser->gender = $gender;
$wyyUser->icon = $icon;
$wyyUser->save();
//更新网易云token
$result = $im_service->updateUserToken($accid);
if ($result['code'] == 200) {
$wyyUser->token = $result['info']['token'];
}
$wyyUser->save();
}
}
}
}