<?php namespace App\Http\Dao; use App\Models\GameUser; use App\Utils\CommonFunc; class GameUserDao extends GameUser { public function addUserInfo(array $params,array $userInfo) { $gameUserObj = $this->getFirstRecord(['app_id'=>$params['app_id'],'channel_id'=>$params['channel_id'],‘channel_user_id’=>$userInfo['user_id']]); //生成token $token = CommonFunc::generateToken((int)$userInfo['user_id'], (int)$params['app_id'], (int)$params['channel_id']); if (!$gameUserObj) { $gameUserArr = [ 'name' => '', 'app_id' => $params['app_id'], 'channel_id' => $params['channel_id'], 'channel_user_id' => $userInfo['user_id'], 'channel_user_name' => '', 'channel_user_nick' => '', 'token' => $token, 'last_login_time' => date('Y-m-d H:i:s'), 'created_at' => date('Y-m-d H:i:s'), ]; $this->insertDataGetId($gameUserArr); } else { //存在用户记录则更新最后一次登录时间 $this->updateById(['app_id'=>$params,'channel_id'=>$params['channel_id'],'channel_user_id'=>$userInfo['user_id']], ['last_login_time' => date('Y-m-d H:i:s'),'token'=>$token]); } return $token; } /** * 获取单条数据 * @return mixed */ public function getFirstRecord(array $where) { return self::where($where) ->first(); } /** * 插入记录并获取插入记录的id * * @param array $insertData * @return mixed */ public function insertDataGetId(array $insertData) { return self::insertGetId($insertData); } /** * 通过id进行记录更新 * * @param int $id * @param array $updateData * @return mixed */ public function updateById(array $where,array $updateData) { return self::where($where)->update($updateData); } }