$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 getEmoji($emoji_id) { $emoji_meta_table = require('../res/emoji@emoji.php'); $emoji_meta = getEmojiConfig($emoji_meta_table, $emoji_id); $emoji = array( 'id' => $emoji_meta['id'], 'name' => $emoji_meta['emoji_name'], 'title' => $emoji_meta['emoji_title'], 'icon' => $emoji_meta['emoji_icon'], 'type' => $emoji_meta['emoji_type'], 'get_type' => $emoji_meta['get_type'], 'number' => $emoji_meta['number'], 'order_weight' => $emoji_meta['order_weight'], ); return $emoji; } public function emojiInfo() { $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; } $emoji_list = array(); $emoji_meta_table = require('../res/emoji@emoji.php'); foreach ($emoji_meta_table as $emoji_info) { $id = $emoji_info['id']; $emoji = $this->getEmoji($id); if (!$emoji) { continue; } $status = 2; $row = $conn->execQueryOne('SELECT status FROM emoji WHERE accountid=:accountid AND emojiid=:emojiid;', array( ':accountid' => $account_id, 'emojiid' => $emoji['id'] )); if (!$row && $emoji['get_type'] == 1) { //插入默认上阵的表情 $ret = $conn->execScript('INSERT INTO emoji(accountid, emojiid, status, create_time, modify_time) ' . ' VALUES(:account_id, :emojiid, 0, :create_time, :modify_time) ' . ' ON DUPLICATE KEY UPDATE accountid=:account_id, emojiid=:emojiid, status=0, modify_time=:modify_time;', array( ':account_id' => $account_id, ':emojiid' => $id, ':create_time' => time(), ':modify_time' => time(), //':type' => $emoji['type'] )); if(!$ret){ die(); } $status = 0; } if ($row) { $status = $row['status']; } array_push($emoji_list, array( 'emoji_id' => $emoji['id'], 'emoji_status' => $status, 'emoji_icon' => $emoji['icon'], 'title_icon' => $emoji['title'], 'emoji_type' => $emoji['type'], 'get_type' => $emoji['get_type'], 'coin_num' => $emoji['number'], 'order' => $emoji['order_weight'], )); } echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'emoji_list' => $emoji_list )); } public function exchageEmoji() { $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; } $emoji_list = array(); //$usingemoji_id = $_REQUEST['usingemoji_id']; $exchangeemoji_id = $_REQUEST['exchangeemoji_id']; $e = $this->getEmoji($exchangeemoji_id); $emoji_meta_table = require('../res/emoji@emoji.php'); foreach ($emoji_meta_table as $emoji_info) { $id = $emoji_info['id']; $emoji = $this->getEmoji($id); if ($emoji['type'] != $e['type']) { continue; } $row = $conn->execQueryOne('SELECT status FROM emoji WHERE accountid=:accountid AND emojiid=:emojiid;', array( ':accountid' => $account_id, ':emojiid' => $id, )); if ($row['status'] != 0 || !$row) { continue; } $using_ret = $conn->execScript('UPDATE emoji SET status=1, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND emojiid = :emojiid;', array( ':account_id' => $account_id, ':emojiid' => $id, ':modify_time' => time() )); array_push($emoji_list, array( 'emoji_id' => $id, 'emoji_status' => 1 )); } /*$row = $conn->execQueryOne('SELECT status FROM emoji WHERE accountid=:accountid AND emojiid=:emojiid;', array( ':accountid' => $account_id, ':emojiid' => $usingemoji_id, )); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个表情'); return; } if ($row['status'] != 0) { phpcommon\sendError(ERR_USER_BASE + 3, '该表情未上阵'); return; } $using_ret = $conn->execScript('UPDATE emoji SET status=1, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND emojiid = :emojiid;', array( ':account_id' => $account_id, ':emojiid' => $usingemoji_id, ':modify_time' => time() )); if(!$using_ret){ die(); return; } array_push($emoji_list, array( 'emoji_id' => $usingemoji_id, 'emoji_status' => 1 ));*/ $row = $conn->execQueryOne('SELECT status FROM emoji WHERE accountid=:accountid AND emojiid=:emojiid;', array( ':accountid' => $account_id, ':emojiid' => $exchangeemoji_id, )); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个表情'); return; } $exchange_ret = $conn->execScript('UPDATE emoji SET status=0, modify_time=:modify_time ' . ' WHERE accountid = :account_id AND emojiid = :emojiid;', array( ':account_id' => $account_id, ':emojiid' => $exchangeemoji_id, ':modify_time' => time() )); if(!$exchange_ret){ die(); return; } array_push($emoji_list, array( 'emoji_id' => $exchangeemoji_id, 'emoji_status' => 0 )); echo json_encode(array( 'errcode' => 0, 'errmsg' => '', 'emoji_list' => $emoji_list )); } public function buyEmoji() { $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; } $id = $_REQUEST['emoji_id']; $emoji = $this->getEmoji($id); if (!$emoji) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个表情'); return; } if ($emoji['get_type'] != 2 && $emoji['get_type'] != 4) { phpcommon\sendError(ERR_USER_BASE + 1, '不能用钻石购买'); return; } if ($emoji['get_type'] == 2) { //扣除钻石 $row = $conn->execQueryOne('SELECT diamond_num FROM user WHERE accountid=:accountid;', array( ':accountid' => $account_id )); if (!$row) { phpcommon\sendError(ERR_USER_BASE + 2, '没有这个玩家'); return; } if ($row['diamond_num'] < $emoji['number']) { phpcommon\sendError(ERR_USER_BASE + 3, '钻石不足'); return; } $ret = $conn->execScript('UPDATE user SET diamond_num=:diamond_num, modify_time=:modify_time ' . ' WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':diamond_num' => $row['diamond_num'] - $emoji['number'], ':modify_time' => time() )); if (!$ret) { die(); return; } } //修改状态 $addreward = new classes\AddReward(); $addreward->addReward($id, 1, $account_id); $coin_num = $addreward->getCoinNum($account_id); $diamond_num = $addreward->getDiamondNum($account_id); $item_list = array(); array_push($item_list,array( 'item_id' => $id, 'item_num' => 1, )); echo json_encode(array( 'errcode' => 0, 'errmsg'=> '', 'emoji_status' => 1, 'coin_nums' => $coin_num, 'diamond_nums' => $diamond_num, 'item_list' => $item_list )); } } ?>