$mysql_conf['host'], 'port' => $mysql_conf['port'], 'user' => $mysql_conf['user'], 'passwd' => $mysql_conf['passwd'], 'dbname' => 'gamedb2003_' . $mysql_conf['instance_id'] )); return $conn; } public function roleInfo() { $account_id = $_REQUEST['account_id']; $user_name = $_REQUEST['name']; $avatar_url = $_REQUEST['avatar_url']; //登录校验() $login = loginVerify($account_id, $_REQUEST['session_id']); if (!$login) { phpcommon\sendError(ERR_USER_BASE + 1, 'session无效'); return; } $conn = $this->getMysql($account_id); if (!$conn) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } if (empty($_REQUEST['account_id'])) { phpcommon\sendError(ERR_USER_BASE + 1, 'session无效'); return; } $row = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', array( ':accountid' => $account_id )); if (!$row) { $ret = $conn->execScript('INSERT INTO user(accountid, user_name, avatar_url, coin_num, create_time, modify_time, collect_status, kefu_status, sign_sum, diamond_num, pass_status, pass, energy, buy_data, tank_data, cumul_coin, off_time, battlecount, invite_status, life_times, new_info, daily_buy_times, daily_time, pass_reward, demotank) ' . ' VALUES(:accountid, :user_name, :avatar_url, 100, :create_time, :modify_time, 0, 0, 0, 0, 0, 0, 0, :buy_data, :tank_data, 0, :off_time, 0, 0, 0, :new_info, 0, 0, :pass_reward, 0)', array( ':accountid' => $account_id, ':user_name' => $user_name, ':avatar_url' => $avatar_url, ':tank_data' => '', ':buy_data' => '', ':create_time' => time(), ':modify_time' => time(), ':off_time' => time(), ':new_info' => '', ':pass_reward' => '', )); if (!$ret) { die(); return; } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'coin_num' => 1000, 'collect_status' => 0, 'energy' => 0, 'kefu_status' => 0, 'diamond_num' => 0, 'pass_status' => 0, 'pass' => 0, 'buy_list' => '', 'tank_list' => '', 'cumul_coin' => 0, 'battlecount' => 0, 'invite_status' => 0, 'life_times' => 0, 'new_info' => '', 'daily_buy_times' => 0, 'pass_reward' => '', 'demotank' => 0, )); } else { if ($user_name != $row['user_name']) { $ret = $conn->execScript('UPDATE user SET user_name=:user_name, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':user_name' => $user_name, ':modify_time' => time() )); } if ($avatar_url != $row['avatar_url']) { $ret = $conn->execScript('UPDATE user SET avatar_url=:avatar_url, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':avatar_url' => $avatar_url, ':modify_time' => time() )); } $nowTime = phpcommon\getdayseconds(time()); $invite_status = $row['invite_status']; $life_times = $row['life_times']; $daily_buy_times = $row['daily_buy_times']; $kefu_status = $row['kefu_status']; $demotank = $row['demotank']; if ($nowTime - phpcommon\getdayseconds($row['daily_time']) > 0) { $this->updateDaily($account_id); $invite_status = 0; $life_times = 0; $daily_buy_times = 0; $kefu_status = 0; $demotank = 0; } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'coin_num' => $row['coin_num'], 'collect_status' => $row['collect_status'], 'energy' => $row['energy'], 'kefu_status' => $kefu_status, 'diamond_num' => $row['diamond_num'], 'pass_status' => $row['pass_status'], 'pass' => $row['pass'], 'buy_list' => $row['buy_data'], 'tank_list' => $row['tank_data'], 'cumul_coin' => $row['cumul_coin'], 'battlecount' => $row['battlecount'], 'invite_status' => $invite_status, 'life_times' => $life_times, 'new_info' => $row['new_info'], 'daily_buy_times' => $daily_buy_times, 'pass_reward' => $row['pass_reward'], 'demotank' => $demotank )); } } public function getOfflineTime() { $account_id = $_REQUEST['account_id']; //登录校验 $login = loginVerify($account_id, $_REQUEST['session_id']); if (!$login) { phpcommon\sendError(ERR_USER_BASE + 1, 'session无效'); return; } $conn = $this->getMysql($account_id); if (!$conn) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } if (empty($_REQUEST['account_id'])) { phpcommon\sendError(ERR_USER_BASE + 1, 'session无效'); return; } $row = $conn->execQueryOne('SELECT off_time FROM user WHERE accountid=:accountid;', array( ':accountid' => $account_id )); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'time' => time() - $row['off_time'], )); } public function getDiamondNum() { $account_id = $_REQUEST['account_id']; //登录校验 $login = loginVerify($account_id, $_REQUEST['session_id']); if (!$login) { phpcommon\sendError(ERR_USER_BASE + 1, 'session无效'); return; } $conn = $this->getMysql($account_id); if (!$conn) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } if (empty($_REQUEST['account_id'])) { phpcommon\sendError(ERR_USER_BASE + 1, 'session无效'); return; } $row = $conn->execQueryOne('SELECT diamond_num FROM user WHERE accountid=:accountid;', array( ':accountid' => $account_id )); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'diamond_num' => $row['diamond_num'], )); } protected function updateDaily($account_id) { $conn = $this->getMysql($account_id); //更新每日奖励次数 $ret = $conn->execScript('UPDATE daily_reward SET free_coin_time=0, free_jewel_time=0, free_power_time=0, ' . ' modify_time=:modify_time WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':modify_time' => time() )); if (!$ret) { die(); } //更新每日任务 $ret = $conn->execScript('DELETE FROM quest WHERE accountid=:accountid;', array( ':accountid' => $account_id, )); if (!$ret) { die(); } //更新试玩次数 $ret = $conn->execScript('DELETE FROM try_play WHERE accountid=:accountid;', array( ':accountid' => $account_id, )); if (!$ret) { die(); } //更新人物信息 $ret = $conn->execScript('UPDATE user SET invite_status=0, life_times=0, daily_buy_times=0, ' . ' modify_time=:modify_time, daily_time=:daily_time, kefu_status=0, demotank=0 WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':modify_time' => time(), ':daily_time' => time() )); if (!$ret) { die(); } } } ?>