$mysql_conf['host'], 'port' => $mysql_conf['port'], 'user' => $mysql_conf['user'], 'passwd' => $mysql_conf['passwd'], 'dbname' => 'gamedb2001_' . $mysql_conf['instance_id'] )); return $conn; } protected function getParameter($para_id) { $g_conf_para_cluster = require('../config/game2001api.parameter.cluster.php'); $para_conf = getParameterConfig($g_conf_para_cluster, $para_id); $p = array( 'id' => $para_conf['id'], 'param_name' => $para_conf['param_name'], 'param_value' => $para_conf['param_value'], ); return $p; } public function getHangReward() { $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); $item_id = 0; $num = 0; $weight = $_REQUEST['weight']; if (!$conn) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } $row = $conn->execQueryOne('SELECT * FROM hang WHERE accountid=:accountid;', array( ':accountid' => $account_id )); if ($row) { $ret = $conn->execScript('UPDATE hang SET hang_time=:hang_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':hang_time' => time(), )); if (!$ret) { die(); return; } $item_id = 10001; $p_num = $this->getParameter(GOLD); $p_time_limit = $this->getParameter(TIME_LIMIT); $num = time() - $row['hang_time'] / 5 * $p_num['param_value']; if ($num >= $p_time_limit['param_value']) { $num = $p_time_limit['param_value'] / 5 * $p_num['param_value']; } if ($weight != 0) { $num = $num * 3; } $row = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;', array( ':accountid' => $account_id )); $ret = $conn->execScript('UPDATE user SET coin_num=:coin_num ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':coin_num' => $num + $row['coin_num'] )); } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'item_id' => $item_id, 'num' => $num, 'time' => time() )); } public function getTime() { $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; } $num = 0; $row = $conn->execQueryOne('SELECT * FROM hang WHERE accountid=:accountid;', array( ':accountid' => $account_id )); if (!$row) { $ret = $conn->execScript('INSERT INTO hang(accountid, hang_time) ' . ' VALUES(:accountid, :hang_time);', array( ':accountid' => $account_id, ':hang_time' => time() )); if (!$ret) { die(); return; } } else { $num = time() - $row['hang_time']; } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'time' => time(), 'num' => $num )); } } ?>