803 lines
38 KiB
SQL
803 lines
38 KiB
SQL
/*
|
||
Navicat Premium Dump SQL
|
||
|
||
Source Server : game_grade
|
||
Source Server Type : MySQL
|
||
Source Server Version : 80036 (8.0.36)
|
||
Source Host : rm-bp1749tfxu2rpq670lo.mysql.rds.aliyuncs.com:3306
|
||
Source Schema : grade_db
|
||
|
||
Target Server Type : MySQL
|
||
Target Server Version : 80036 (8.0.36)
|
||
File Encoding : 65001
|
||
|
||
Date: 15/03/2026 19:29:34
|
||
*/
|
||
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for coin_rebate
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `coin_rebate`;
|
||
CREATE TABLE `coin_rebate` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`core_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`core_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`core_playerid` int NOT NULL COMMENT '玩家id',
|
||
`core_isrobot` tinyint(1) NULL DEFAULT 0,
|
||
`core_roomcode` int NOT NULL COMMENT '房号',
|
||
`core_createtime` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||
`core_roomtype` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '房间类型',
|
||
`core_roommode` tinyint(1) NOT NULL COMMENT '0-普通星星场房间 1-短号星星场房间 2-系统无限局星星场房间',
|
||
`core_ownerid` int NOT NULL COMMENT '房主id',
|
||
`core_deduct` tinyint(1) NULL DEFAULT NULL COMMENT '0-房主扣卡 1-每人扣卡 2-免房卡',
|
||
`core_roomcard` int NULL DEFAULT NULL COMMENT '扣的房卡数量',
|
||
`core_datatype` tinyint(1) NULL DEFAULT NULL COMMENT '0-大局系统抽成数据 1-小局系统抽成数据',
|
||
`core_asetcount` int NULL DEFAULT NULL COMMENT '总局数',
|
||
`core_asetnum` int NULL DEFAULT NULL COMMENT '当前小局号 从1开始计数',
|
||
`core_grade` int NOT NULL COMMENT '玩家得分',
|
||
`core_mode` tinyint NOT NULL COMMENT '抽成模式 1-按比例 2-按固定值',
|
||
`core_setting` int NOT NULL COMMENT '抽成设置的值',
|
||
`core_value` int NOT NULL COMMENT '实际抽成数量',
|
||
`core_time` datetime NOT NULL COMMENT '抽成时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `coin_rebate`(`core_agentid` ASC, `core_playerid` ASC, `core_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 93059 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '金币抽成表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for error
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `error`;
|
||
CREATE TABLE `error` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`erro_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`erro_playerid` int NOT NULL COMMENT '玩家id',
|
||
`erro_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`erro_msg` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '错误信息',
|
||
`erro_packet` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '收到的包',
|
||
`erro_time` datetime NULL DEFAULT NULL COMMENT '时间',
|
||
PRIMARY KEY (`idx`) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 772430 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '错误日志表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for gold_account
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `gold_account`;
|
||
CREATE TABLE `gold_account` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`goac_id` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT 'id,时间戳+房号+4位随机码',
|
||
`goac_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`goac_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`goac_roomcode` int NOT NULL COMMENT '房间号',
|
||
`goac_roommode` tinyint(1) NOT NULL COMMENT '0-星星场玩家房间 1-星星场系统房间 2-非星星场(星星限进)',
|
||
`goac_createtime` datetime NOT NULL COMMENT '房间的创建时间',
|
||
`goac_beanmult` int NOT NULL COMMENT '倍数',
|
||
`goac_ownerid` int NULL DEFAULT NULL COMMENT '房主的玩家id',
|
||
`goac_shortcode` int NULL DEFAULT NULL COMMENT '短号',
|
||
`goac_deduct` tinyint(1) NULL DEFAULT NULL COMMENT '0-房主扣卡 1-每人扣卡 2-大赢家扣卡',
|
||
`goac_roomcard` int NULL DEFAULT NULL COMMENT '扣的房卡数量',
|
||
`goac_datatype` tinyint(1) NOT NULL COMMENT '0-大局结算数据 1-小局结算数据',
|
||
`goac_asetcount` int NULL DEFAULT NULL COMMENT '总局数',
|
||
`goac_asetnum` int NULL DEFAULT NULL COMMENT '当前小局号,从1开始计数',
|
||
`goac_playerid` int NULL DEFAULT NULL COMMENT '玩家id',
|
||
`goac_isrobot` tinyint(1) NULL DEFAULT 0 COMMENT '0-真实玩家 1-机器人',
|
||
`goac_grade` int NOT NULL COMMENT '玩家得分',
|
||
`goac_rebatefrom` tinyint(1) NOT NULL COMMENT '0-不抽成 1-对大赢家进行抽成 2-对所有赢家抽成 3-对所有玩家抽成',
|
||
`goac_rebateto` tinyint(1) NULL DEFAULT NULL COMMENT '0-抽成给系统 1-抽成给房主 2-抽成给指定玩家 3-抽成给指定玩家的代理账号',
|
||
`goac_toplayerid` int NULL DEFAULT NULL COMMENT '抽成给到的玩家id',
|
||
`goac_rebatemode` tinyint(1) NULL DEFAULT NULL COMMENT '1-按得分的百分比抽成 2-按倍数的百分比抽成 3-按固定值抽成',
|
||
`goac_setvalue` int NULL DEFAULT NULL COMMENT '抽成设置的值',
|
||
`goac_rebatevalue` int NULL DEFAULT NULL COMMENT '实际抽成数量',
|
||
`goac_time` datetime NOT NULL COMMENT '发生时间',
|
||
`goac_state` tinyint(1) NULL DEFAULT 0 COMMENT '代理后台处理状态 0:未处理 1:已处理',
|
||
`goac_statetime` datetime NULL DEFAULT NULL COMMENT '代理后台处理时间',
|
||
`goac_invitecode` int NULL DEFAULT NULL,
|
||
`goac_inviteid` int NULL DEFAULT NULL,
|
||
`goac_marketid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
|
||
`goac_i1` int NULL DEFAULT NULL,
|
||
`goac_i2` int NULL DEFAULT NULL,
|
||
`goac_i3` int NULL DEFAULT NULL,
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `gold_account_index2`(`goac_agentid` ASC, `goac_playerid` ASC) USING BTREE,
|
||
INDEX `gold_account_index1`(`goac_id` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 20865676 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '金币变动表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for match
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `match`;
|
||
CREATE TABLE `match` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`matc_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`matc_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`matc_matchid` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '比赛id',
|
||
`matc_matchidx` tinyint NOT NULL COMMENT '比赛循环号',
|
||
`matc_matchname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '比赛名称',
|
||
`matc_beginTime` datetime NOT NULL COMMENT '开始时间',
|
||
`matc_endTime` datetime NOT NULL COMMENT '结束时间',
|
||
`matc_roomtype` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '房间类型',
|
||
`matc_imageurl` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '比赛图片地址',
|
||
`matc_playercount` int NOT NULL,
|
||
`matc_playercount2` int NOT NULL,
|
||
`matc_bean` int NOT NULL,
|
||
`matc_roomcard` int NOT NULL,
|
||
`matc_topcount` int NOT NULL,
|
||
`matc_circulation` int NOT NULL,
|
||
`matc_interval` int NOT NULL,
|
||
`matc_gradename` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||
`matc_memo1` varchar(800) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||
`matc_memo2` varchar(800) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||
`matc_memo3` varchar(800) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||
`matc_ranking` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `match_index`(`matc_agentid` ASC, `matc_gameid` ASC, `matc_matchid` ASC, `matc_matchidx` ASC) USING BTREE
|
||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '比赛表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for match_ranking
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `match_ranking`;
|
||
CREATE TABLE `match_ranking` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`mara_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`mara_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`mara_matchid` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '比赛id',
|
||
`mara_matchidx` tinyint NOT NULL COMMENT '比赛循环号',
|
||
`mara_playerid` int NOT NULL COMMENT '玩家id',
|
||
`mara_nickname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '玩家昵称',
|
||
`mara_avatar` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '玩家头像',
|
||
`mara_roomcode` int NOT NULL COMMENT '房间号',
|
||
`mara_overtime` datetime NOT NULL COMMENT '房间结束时间',
|
||
`mara_grade` int NOT NULL COMMENT '得分',
|
||
`mara_isrobot` tinyint(1) NULL DEFAULT 0 COMMENT '0-玩家 1-机器人',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `match_ranking_index`(`mara_agentid` ASC, `mara_gameid` ASC, `mara_matchid` ASC, `mara_matchidx` ASC, `mara_playerid` ASC) USING BTREE
|
||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '比赛排行表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for player_grade
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `player_grade`;
|
||
CREATE TABLE `player_grade` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`plgr_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`plgr_playerid` int NOT NULL COMMENT '玩家id',
|
||
`plgr_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`plgr_roomcode` int NOT NULL COMMENT '房号',
|
||
`plgr_ownerid` int NULL DEFAULT NULL COMMENT '房主id',
|
||
`plgr_roomtype` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '房间类型',
|
||
`plgr_createtime` datetime NOT NULL COMMENT '开房时间',
|
||
`plgr_makewartime` datetime NOT NULL COMMENT '开战时间',
|
||
`plgr_overtime` datetime NOT NULL COMMENT '结束时间',
|
||
`plgr_roomcard` int NULL DEFAULT NULL,
|
||
`plgr_ownercard` int NULL DEFAULT NULL,
|
||
`plgr_gameinfo1` varchar(10000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '一局游戏的完整数据 json格式',
|
||
`plgr_gameinfo2` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '一局游戏的完整数据 json格式',
|
||
`plgr_shortcode` int NULL DEFAULT NULL,
|
||
`plgr_deducttype` tinyint(1) NULL DEFAULT NULL,
|
||
`plgr_deductcard` int NULL DEFAULT NULL,
|
||
`plgr_asetcount` int NULL DEFAULT NULL,
|
||
`plgr_roommode` tinyint(1) NULL DEFAULT NULL,
|
||
`plgr_winner` tinyint(1) NOT NULL DEFAULT 0 COMMENT '大赢家',
|
||
`plgr_score` int NOT NULL DEFAULT 0 COMMENT '得分',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `player_grade2_index`(`plgr_agentid` ASC, `plgr_playerid` ASC, `plgr_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 36393310 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家战绩表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for process_log
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `process_log`;
|
||
CREATE TABLE `process_log` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`prlo_optid` int NOT NULL COMMENT '代理后台接口数据optid',
|
||
`prlo_result` tinyint(1) NOT NULL COMMENT '-1:处理失败 1:处理成功',
|
||
`prlo_time` datetime NOT NULL COMMENT '处理时间',
|
||
`prlo_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '子游戏服务器IP和端口',
|
||
`prlo_error` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '错误信息',
|
||
PRIMARY KEY (`idx`) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 4924417 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代理后台接口数据处理日志表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_del
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_del`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_del`()
|
||
SQL SECURITY INVOKER
|
||
COMMENT '删除超时战绩'
|
||
begin
|
||
-- 删除24小时之前的战绩记录
|
||
delete from player_grade
|
||
where (unix_timestamp(now()) - unix_timestamp(plgr_makewartime)) > 24 * 60 * 60;
|
||
|
||
-- 删除72小时之前的金币记录
|
||
delete from gold_account
|
||
where (unix_timestamp(now()) - unix_timestamp(goac_time)) > 8 * 24 * 60 * 60;
|
||
|
||
-- 删除72小时之前的代理后台接口数据处理日志
|
||
delete from process_log
|
||
where (unix_timestamp(now()) - unix_timestamp(prlo_time)) > 72 * 60 * 60;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_get1
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_get1`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_get1`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `ownertype` tinyint(1) ,IN `direction` tinyint(1) ,IN `gradeidx` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取战绩gameinfo1'
|
||
begin
|
||
if ifnull(ownertype, 0) = 0 then
|
||
-- 获取最近10条战绩记录
|
||
select idx, plgr_roomcode as roomcode, plgr_roomtype as roomtype,
|
||
DATE_FORMAT(plgr_createtime, "%m.%d %H:%i") as createtime,
|
||
DATE_FORMAT(plgr_makewartime,"%m.%d %H:%i") as makewartime,
|
||
DATE_FORMAT(plgr_overtime,"%m.%d %H:%i") as overtime,
|
||
plgr_roomcard as roomcard, plgr_gameinfo1 as gameinfo1
|
||
from player_grade
|
||
where plgr_agentid = agentid
|
||
and plgr_playerid = playerid
|
||
and plgr_gameid = gameid
|
||
order by idx desc
|
||
limit 10;
|
||
elseif isnull(direction) or isnull(gradeidx) then
|
||
select idx, plgr_roomcode as roomcode, plgr_roomtype as roomtype,
|
||
DATE_FORMAT(plgr_createtime, "%m.%d %H:%i") as createtime,
|
||
DATE_FORMAT(plgr_makewartime,"%m.%d %H:%i") as makewartime,
|
||
DATE_FORMAT(plgr_overtime,"%m.%d %H:%i") as overtime,
|
||
plgr_ownercard as roomcard, plgr_gameinfo1 as gameinfo1
|
||
from player_grade
|
||
where plgr_agentid = agentid
|
||
and plgr_ownerid = playerid
|
||
and plgr_gameid = gameid
|
||
and plgr_ownercard is not null
|
||
and (unix_timestamp(now()) - unix_timestamp(plgr_overtime)) < 24 * 60 * 60
|
||
order by idx desc
|
||
limit 10;
|
||
elseif direction = 1 then
|
||
-- 上一页
|
||
select idx, plgr_roomcode as roomcode, plgr_roomtype as roomtype,
|
||
DATE_FORMAT(plgr_createtime, "%m.%d %H:%i") as createtime,
|
||
DATE_FORMAT(plgr_makewartime,"%m.%d %H:%i") as makewartime,
|
||
DATE_FORMAT(plgr_overtime,"%m.%d %H:%i") as overtime,
|
||
plgr_ownercard as roomcard, plgr_gameinfo1 as gameinfo1
|
||
from player_grade
|
||
where plgr_agentid = agentid
|
||
and plgr_ownerid = playerid
|
||
and plgr_gameid = gameid
|
||
and plgr_ownercard is not null
|
||
and (unix_timestamp(now()) - unix_timestamp(plgr_overtime)) < 24 * 60 * 60
|
||
and idx > gradeidx
|
||
order by idx desc
|
||
limit 10;
|
||
elseif direction = 2 then
|
||
-- 下一页
|
||
select idx, plgr_roomcode as roomcode, plgr_roomtype as roomtype,
|
||
DATE_FORMAT(plgr_createtime, "%m.%d %H:%i") as createtime,
|
||
DATE_FORMAT(plgr_makewartime,"%m.%d %H:%i") as makewartime,
|
||
DATE_FORMAT(plgr_overtime,"%m.%d %H:%i") as overtime,
|
||
plgr_ownercard as roomcard, plgr_gameinfo1 as gameinfo1
|
||
from player_grade
|
||
where plgr_agentid = agentid
|
||
and plgr_ownerid = playerid
|
||
and plgr_gameid = gameid
|
||
and plgr_ownercard is not null
|
||
and (unix_timestamp(now()) - unix_timestamp(plgr_overtime)) < 24 * 60 * 60
|
||
and idx < gradeidx
|
||
order by idx desc
|
||
limit 10;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_get2
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_get2`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_get2`(IN `agentid` varchar(32) charset utf8mb4 collate utf8mb4_unicode_ci ,IN `playerid` int(8) ,IN `gameid` varchar(32) charset utf8mb4 collate utf8mb4_unicode_ci ,IN `gradeidx` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取战绩gameinfo1'
|
||
begin
|
||
select plgr_roomtype as roomtype, plgr_gameinfo2 as gameinfo2
|
||
from player_grade
|
||
where plgr_agentid = agentid
|
||
and plgr_playerid = playerid
|
||
and plgr_gameid = gameid
|
||
and idx = gradeidx;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_save
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_save`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_save`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerids` varchar(800) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `roomcode` int(8) ,IN `roomtype` varchar(200) charset utf8 collate utf8_general_ci ,IN `createtime` datetime ,IN `makewartime` datetime ,IN `overtime` datetime ,IN `gameinfo1` varchar(10000) charset utf8 collate utf8_general_ci ,IN `gameinfo2` mediumtext charset utf8 collate utf8_general_ci ,IN `ownerid` int(8) ,IN `grades` varchar(800) charset utf8 collate utf8_general_ci ,IN `roommode` tinyint(1) ,IN `beanmult` int(4) ,IN `shortcode` int(8) ,IN `isrobots` varchar(800) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '保存战绩'
|
||
begin
|
||
declare ary_playerid varchar(800);
|
||
declare ary_grade varchar(800);
|
||
declare ary_isrobot varchar(800);
|
||
declare pos_playerid int(10);
|
||
declare pos_grade int(10);
|
||
declare pos_isrobot int(10);
|
||
declare playerid varchar(8);
|
||
declare grade varchar(8);
|
||
declare isrobot varchar(8);
|
||
|
||
-- 如果出现异常,自动退出并rollback
|
||
declare exit handler for sqlexception ROLLBACK;
|
||
|
||
-- 启动事务
|
||
start transaction;
|
||
|
||
set ary_playerid = playerids;
|
||
set ary_grade = grades;
|
||
set ary_isrobot = isrobots;
|
||
|
||
while ary_playerid <> '' do
|
||
set pos_playerid = instr(ary_playerid, ',');
|
||
set pos_grade = instr(ary_grade, ',');
|
||
set pos_isrobot = instr(ary_isrobot, ',');
|
||
if pos_playerid = 0 then
|
||
set playerid = ary_playerid;
|
||
set grade = ary_grade;
|
||
set isrobot = ary_isrobot;
|
||
set ary_playerid = '';
|
||
set ary_grade = '';
|
||
set ary_isrobot = '';
|
||
else
|
||
set playerid = left(ary_playerid, pos_playerid - 1);
|
||
set grade = left(ary_grade, pos_grade - 1);
|
||
set isrobot = left(ary_isrobot, pos_isrobot - 1);
|
||
set ary_playerid = right(ary_playerid, length(ary_playerid) - pos_playerid);
|
||
set ary_grade = right(ary_grade, length(ary_grade) - pos_grade);
|
||
set ary_isrobot = right(ary_isrobot, length(ary_isrobot) - pos_isrobot);
|
||
end if;
|
||
|
||
-- 累计游戏局数(大局)
|
||
if roommode = 0 then
|
||
-- 非星星场
|
||
if isrobot = '0' then
|
||
update agent_game_player
|
||
set agpl_playset = agpl_playset + 1,
|
||
agpl_winlose = agpl_winlose + grade
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
end if;
|
||
else
|
||
-- 星星场
|
||
if isrobot = '0' then
|
||
update agent_game_player
|
||
set agpl_playset_xx = agpl_playset_xx + 1,
|
||
agpl_winlose_xx = agpl_winlose_xx + (grade div beanmult),
|
||
agpl_winlose_x2 = agpl_winlose_x2 + grade
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
else
|
||
call cp_game_grade_robot(agentid, gameid, grade, beanmult);
|
||
end if;
|
||
end if;
|
||
|
||
-- 统计房主的邀请新人奖励
|
||
if ownerid <> playerid then
|
||
if exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid
|
||
and agpl_playset = 1) then
|
||
call cp_game_task_finish(agentid, ownerid, 'ZVlpZweovbeQ68g8xdjcxaXHfbfIvvu7', 1, 0);
|
||
end if;
|
||
|
||
-- 累加积分(玩一局积分加1)
|
||
/*
|
||
update player set play_score = play_score + 1
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
else
|
||
-- 累加积分(开房积分加2)
|
||
update player set play_score = play_score + 3
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
*/
|
||
end if;
|
||
end while;
|
||
|
||
-- 按日期统计玩家一共玩了多少游戏局(大局)
|
||
call cp_report_game_day(agentid, gameid, now(), 2, 1, null);
|
||
|
||
-- 运行没有异常,提交事务
|
||
commit;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_save2
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_save2`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_save2`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerids` varchar(800) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `roomcode` int(8) ,IN `roomtype` varchar(200) charset utf8 collate utf8_general_ci ,IN `createtime` datetime ,IN `makewartime` datetime ,IN `overtime` datetime ,IN `gameinfo1` varchar(10000) charset utf8 collate utf8_general_ci ,IN `gameinfo2` mediumtext charset utf8 collate utf8_general_ci ,IN `ownerid` int(8) ,IN `grades` varchar(800) charset utf8 collate utf8_general_ci ,IN `roomcards` varchar(100) charset utf8 collate utf8_general_ci ,IN `ownercard` int(8) ,IN `shortcode` int(8) ,IN `deducttype` tinyint(1) ,IN `deductcard` int(8) ,IN `asetcount` int(11) ,IN `roommode` tinyint(1) ,IN `isrobots` varchar(800) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '保存战绩'
|
||
begin
|
||
declare ary_playerid varchar(800);
|
||
declare ary_roomcard varchar(800);
|
||
declare ary_isrobot varchar(800);
|
||
declare pos_playerid int(10);
|
||
declare pos_roomcard int(10);
|
||
declare pos_isrobot int(10);
|
||
declare playerid varchar(8);
|
||
declare roomcard int(10);
|
||
declare isrobot int(10);
|
||
declare pos_ownerid int(10);
|
||
declare ownerplay tinyint(1);
|
||
declare ownertype int(11);
|
||
|
||
set ary_playerid = playerids;
|
||
set ary_roomcard = roomcards;
|
||
set ary_isrobot = isrobots;
|
||
|
||
set pos_ownerid = instr(ary_playerid, ownerid);
|
||
if pos_ownerid = 0 then
|
||
set ownerplay = 0;
|
||
else
|
||
set ownerplay = 1;
|
||
end if;
|
||
|
||
while ary_playerid <> '' do
|
||
set pos_playerid = instr(ary_playerid, ',');
|
||
set pos_isrobot = instr(ary_isrobot, ',');
|
||
if pos_playerid = 0 then
|
||
set playerid = ary_playerid;
|
||
set isrobot = ary_isrobot;
|
||
-- if ownerplay = 0 then
|
||
set ownertype = ownercard;
|
||
-- else
|
||
-- set ownertype = null;
|
||
-- end if;
|
||
set ary_playerid = '';
|
||
set ary_isrobot = '';
|
||
else
|
||
set playerid = left(ary_playerid, pos_playerid - 1);
|
||
set isrobot = left(ary_isrobot, pos_isrobot - 1);
|
||
set ownertype = null;
|
||
set ary_playerid = right(ary_playerid, length(ary_playerid) - pos_playerid);
|
||
set ary_isrobot = right(ary_isrobot, length(ary_isrobot) - pos_isrobot);
|
||
end if;
|
||
|
||
set pos_roomcard = instr(ary_roomcard, ',');
|
||
if pos_roomcard = 0 then
|
||
set roomcard = ary_roomcard;
|
||
set ary_roomcard = '';
|
||
else
|
||
set roomcard = left(ary_roomcard, pos_roomcard - 1);
|
||
set ary_roomcard = right(ary_roomcard, length(ary_roomcard) - pos_roomcard);
|
||
end if;
|
||
|
||
if isrobot = '0' then
|
||
-- 保存当前战绩
|
||
insert into player_grade(plgr_agentid, plgr_playerid, plgr_gameid,
|
||
plgr_roomcode, plgr_ownerid, plgr_roomtype, plgr_createtime, plgr_makewartime,
|
||
plgr_overtime, plgr_roomcard, plgr_gameinfo1, plgr_gameinfo2, plgr_ownercard,
|
||
plgr_shortcode, plgr_deducttype, plgr_deductcard, plgr_asetcount, plgr_roommode)
|
||
values(agentid, playerid, gameid, roomcode, ownerid, roomtype, createtime, makewartime,
|
||
overtime, roomcard, gameinfo1, gameinfo2, ownertype,
|
||
shortcode, deducttype, deductcard, asetcount, roommode);
|
||
end if;
|
||
end while;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_save3
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_save3`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_save3`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerids` varchar(800) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `roomcode` int(8) ,IN `roomtype` varchar(200) charset utf8 collate utf8_general_ci ,IN `createtime` datetime ,IN `makewartime` datetime ,IN `overtime` datetime ,IN `gameinfo1` varchar(10000) charset utf8 collate utf8_general_ci ,IN `gameinfo2` mediumtext charset utf8 collate utf8_general_ci ,IN `ownerid` int(8) ,IN `grades` varchar(800) charset utf8 collate utf8_general_ci ,IN `roomcards` varchar(100) charset utf8 collate utf8_general_ci ,IN `ownercard` int(8) ,IN `shortcode` int(8) ,IN `deducttype` tinyint(1) ,IN `deductcard` int(8) ,IN `asetcount` int(11) ,IN `roommode` tinyint(1) ,IN `isrobots` varchar(800) charset utf8 collate utf8_general_ci ,IN `iswinners` varchar(800) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '保存战绩'
|
||
begin
|
||
declare ary_playerid varchar(800);
|
||
declare ary_roomcard varchar(800);
|
||
declare ary_isrobot varchar(800);
|
||
declare ary_iswinner varchar(800);
|
||
declare pos_playerid int(10);
|
||
declare pos_roomcard int(10);
|
||
declare pos_isrobot int(10);
|
||
declare pos_iswinner int(10);
|
||
declare playerid varchar(8);
|
||
declare roomcard int(10);
|
||
declare isrobot int(10);
|
||
declare iswinner int(10);
|
||
declare pos_ownerid int(10);
|
||
declare ownerplay tinyint(1);
|
||
declare ownertype int(11);
|
||
|
||
set ary_playerid = playerids;
|
||
set ary_roomcard = roomcards;
|
||
set ary_isrobot = isrobots;
|
||
set ary_iswinner = iswinners;
|
||
|
||
set pos_ownerid = instr(ary_playerid, ownerid);
|
||
if pos_ownerid = 0 then
|
||
set ownerplay = 0;
|
||
else
|
||
set ownerplay = 1;
|
||
end if;
|
||
|
||
while ary_playerid <> '' do
|
||
set pos_playerid = instr(ary_playerid, ',');
|
||
set pos_isrobot = instr(ary_isrobot, ',');
|
||
set pos_iswinner = instr(ary_iswinner, ',');
|
||
if pos_playerid = 0 then
|
||
set playerid = ary_playerid;
|
||
set isrobot = ary_isrobot;
|
||
set iswinner = ary_iswinner;
|
||
-- if ownerplay = 0 then
|
||
set ownertype = ownercard;
|
||
-- else
|
||
-- set ownertype = null;
|
||
-- end if;
|
||
set ary_playerid = '';
|
||
set ary_isrobot = '';
|
||
set ary_iswinner = '';
|
||
else
|
||
set playerid = left(ary_playerid, pos_playerid - 1);
|
||
set isrobot = left(ary_isrobot, pos_isrobot - 1);
|
||
set iswinner = left(ary_iswinner, pos_iswinner - 1);
|
||
set ownertype = null;
|
||
set ary_playerid = right(ary_playerid, length(ary_playerid) - pos_playerid);
|
||
set ary_isrobot = right(ary_isrobot, length(ary_isrobot) - pos_isrobot);
|
||
set ary_iswinner = right(ary_iswinner, length(ary_iswinner) - pos_iswinner);
|
||
end if;
|
||
|
||
set pos_roomcard = instr(ary_roomcard, ',');
|
||
if pos_roomcard = 0 then
|
||
set roomcard = ary_roomcard;
|
||
set ary_roomcard = '';
|
||
else
|
||
set roomcard = left(ary_roomcard, pos_roomcard - 1);
|
||
set ary_roomcard = right(ary_roomcard, length(ary_roomcard) - pos_roomcard);
|
||
end if;
|
||
|
||
if isrobot = '0' then
|
||
-- 保存当前战绩
|
||
insert into player_grade(plgr_agentid, plgr_playerid, plgr_gameid,
|
||
plgr_roomcode, plgr_ownerid, plgr_roomtype, plgr_createtime, plgr_makewartime,
|
||
plgr_overtime, plgr_roomcard, plgr_gameinfo1, plgr_gameinfo2, plgr_ownercard,
|
||
plgr_shortcode, plgr_deducttype, plgr_deductcard, plgr_asetcount, plgr_roommode,plgr_winner)
|
||
values(agentid, playerid, gameid, roomcode, ownerid, roomtype, createtime, makewartime,
|
||
overtime, roomcard, gameinfo1, gameinfo2, ownertype,
|
||
shortcode, deducttype, deductcard, asetcount, roommode,iswinner);
|
||
end if;
|
||
end while;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_save4
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_save4`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_save4`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerids` varchar(800) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `roomcode` int(8) ,IN `roomtype` varchar(200) charset utf8 collate utf8_general_ci ,IN `createtime` datetime ,IN `makewartime` datetime ,IN `overtime` datetime ,IN `gameinfo1` varchar(10000) charset utf8 collate utf8_general_ci ,IN `gameinfo2` mediumtext charset utf8 collate utf8_general_ci ,IN `ownerid` int(8) ,IN `grades` varchar(800) charset utf8 collate utf8_general_ci ,IN `roomcards` varchar(100) charset utf8 collate utf8_general_ci ,IN `ownercard` int(8) ,IN `shortcode` int(8) ,IN `deducttype` tinyint(1) ,IN `deductcard` int(8) ,IN `asetcount` int(11) ,IN `roommode` tinyint(1) ,IN `isrobots` varchar(800) charset utf8 collate utf8_general_ci ,IN `iswinners` varchar(800) charset utf8 collate utf8_general_ci ,IN `scores` varchar(800) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '保存战绩'
|
||
begin
|
||
declare ary_playerid varchar(800);
|
||
declare ary_roomcard varchar(800);
|
||
declare ary_isrobot varchar(800);
|
||
declare ary_iswinner varchar(800);
|
||
declare ary_score varchar(800);
|
||
declare pos_playerid int(10);
|
||
declare pos_roomcard int(10);
|
||
declare pos_isrobot int(10);
|
||
declare pos_iswinner int(10);
|
||
declare pos_score int(10);
|
||
declare playerid varchar(8);
|
||
declare roomcard int(10);
|
||
declare isrobot int(10);
|
||
declare iswinner int(10);
|
||
declare score int(10);
|
||
declare pos_ownerid int(10);
|
||
declare ownerplay tinyint(1);
|
||
declare ownertype int(11);
|
||
|
||
set ary_playerid = playerids;
|
||
set ary_roomcard = roomcards;
|
||
set ary_isrobot = isrobots;
|
||
set ary_iswinner = iswinners;
|
||
set ary_score = scores;
|
||
|
||
set pos_ownerid = instr(ary_playerid, ownerid);
|
||
if pos_ownerid = 0 then
|
||
set ownerplay = 0;
|
||
else
|
||
set ownerplay = 1;
|
||
end if;
|
||
|
||
while ary_playerid <> '' do
|
||
set pos_playerid = instr(ary_playerid, ',');
|
||
set pos_isrobot = instr(ary_isrobot, ',');
|
||
set pos_iswinner = instr(ary_iswinner, ',');
|
||
set pos_score = instr(ary_score, ',');
|
||
if pos_playerid = 0 then
|
||
set playerid = ary_playerid;
|
||
set isrobot = ary_isrobot;
|
||
set iswinner = ary_iswinner;
|
||
set score = ary_score;
|
||
-- if ownerplay = 0 then
|
||
set ownertype = ownercard;
|
||
-- else
|
||
-- set ownertype = null;
|
||
-- end if;
|
||
set ary_playerid = '';
|
||
set ary_isrobot = '';
|
||
set ary_iswinner = '';
|
||
set ary_score = '';
|
||
else
|
||
set playerid = left(ary_playerid, pos_playerid - 1);
|
||
set isrobot = left(ary_isrobot, pos_isrobot - 1);
|
||
set iswinner = left(ary_iswinner, pos_iswinner - 1);
|
||
set score = left(ary_score, pos_score - 1);
|
||
set ownertype = null;
|
||
set ary_playerid = right(ary_playerid, length(ary_playerid) - pos_playerid);
|
||
set ary_isrobot = right(ary_isrobot, length(ary_isrobot) - pos_isrobot);
|
||
set ary_iswinner = right(ary_iswinner, length(ary_iswinner) - pos_iswinner);
|
||
set ary_score = right(ary_score, length(ary_score) - pos_score);
|
||
end if;
|
||
|
||
set pos_roomcard = instr(ary_roomcard, ',');
|
||
if pos_roomcard = 0 then
|
||
set roomcard = ary_roomcard;
|
||
set ary_roomcard = '';
|
||
else
|
||
set roomcard = left(ary_roomcard, pos_roomcard - 1);
|
||
set ary_roomcard = right(ary_roomcard, length(ary_roomcard) - pos_roomcard);
|
||
end if;
|
||
|
||
if isrobot = '0' then
|
||
-- 保存当前战绩
|
||
insert into player_grade(plgr_agentid, plgr_playerid, plgr_gameid,
|
||
plgr_roomcode, plgr_ownerid, plgr_roomtype, plgr_createtime, plgr_makewartime,
|
||
plgr_overtime, plgr_roomcard, plgr_gameinfo1, plgr_gameinfo2, plgr_ownercard,
|
||
plgr_shortcode, plgr_deducttype, plgr_deductcard, plgr_asetcount, plgr_roommode,plgr_winner,plgr_score)
|
||
values(agentid, playerid, gameid, roomcode, ownerid, roomtype, createtime, makewartime,
|
||
overtime, roomcard, gameinfo1, gameinfo2, ownertype,
|
||
shortcode, deducttype, deductcard, asetcount, roommode,iswinner,score);
|
||
end if;
|
||
end while;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_save_matchranking
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_save_matchranking`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_save_matchranking`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `matchid` varchar(10) charset utf8 collate utf8_general_ci ,IN `matchidx` tinyint(2) ,IN `matchname` varchar(100) charset utf8 collate utf8_general_ci ,IN `beginTime` varchar(20) charset utf8 collate utf8_general_ci ,IN `endTime` varchar(20) charset utf8 collate utf8_general_ci ,IN `roomtype` varchar(200) charset utf8 collate utf8_general_ci ,IN `imageurl` varchar(200) charset utf8 collate utf8_general_ci ,IN `playercount` int(8) ,IN `playercount2` int(8) ,IN `bean` int(8) ,IN `roomcard` int(8) ,IN `topcount` int(8) ,IN `circulation` int(8) ,IN `iinterval` int(8) ,IN `gradename` varchar(20) charset utf8 collate utf8_general_ci ,IN `memo1` varchar(800) charset utf8 collate utf8_general_ci ,IN `memo2` varchar(800) charset utf8 collate utf8_general_ci ,IN `memo3` varchar(800) charset utf8 collate utf8_general_ci ,IN `ranking` mediumtext charset utf8 collate utf8_general_ci ,IN `playeridlist` varchar(1000) charset utf8 collate utf8_general_ci ,IN `nicknamelist` varchar(4000) charset utf8 collate utf8_general_ci ,IN `avatarlist` varchar(20000) charset utf8 collate utf8_general_ci ,IN `roomcodelist` varchar(1000) charset utf8 collate utf8_general_ci ,IN `overtimelist` varchar(4000) charset utf8 collate utf8_general_ci ,IN `gradelist` varchar(4000) charset utf8 collate utf8_general_ci ,IN `isrobotlist` varchar(400) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '保存比赛排行榜'
|
||
begin
|
||
declare ary_playerid varchar(1000);
|
||
declare ary_nickname varchar(4000);
|
||
declare ary_avatar varchar(20000);
|
||
declare ary_roomcode varchar(1000);
|
||
declare ary_overtime varchar(4000);
|
||
declare ary_grade varchar(4000);
|
||
declare ary_isrobot varchar(400);
|
||
|
||
declare pos_playerid int(8);
|
||
declare pos_nickname int(8);
|
||
declare pos_avatar int(8);
|
||
declare pos_roomcode int(8);
|
||
declare pos_overtime int(8);
|
||
declare pos_grade int(8);
|
||
declare pos_isrobot int(8);
|
||
|
||
declare s_playerid varchar(8);
|
||
declare s_nickname varchar(100);
|
||
declare s_avatar varchar(200);
|
||
declare s_roomcode varchar(8);
|
||
declare s_overtime varchar(30);
|
||
declare s_grade varchar(10);
|
||
declare s_isrobot varchar(1);
|
||
|
||
delete from `match`
|
||
where matc_agentid = agentid
|
||
and matc_gameid = gameid
|
||
and matc_matchid = matchid
|
||
and matc_matchidx = matchidx;
|
||
|
||
insert into `match`(matc_agentid, matc_gameid, matc_matchid, matc_matchidx,
|
||
matc_matchname, matc_beginTime, matc_endTime, matc_roomtype,
|
||
matc_imageurl, matc_playercount, matc_playercount2, matc_bean,
|
||
matc_roomcard, matc_topcount, matc_circulation, matc_interval,
|
||
matc_gradename, matc_memo1, matc_memo2, matc_memo3, matc_ranking)
|
||
values(agentid, gameid, matchid, matchidx,
|
||
matchname, beginTime, endTime, roomtype,
|
||
imageurl, playercount, playercount2, bean,
|
||
roomcard, topcount, circulation, iinterval,
|
||
gradename, memo1, memo2, memo3, ranking);
|
||
|
||
delete from match_ranking
|
||
where mara_agentid = agentid
|
||
and mara_gameid = gameid
|
||
and mara_matchid = matchid
|
||
and mara_matchidx = matchidx;
|
||
|
||
set ary_playerid = playeridlist;
|
||
set ary_nickname = nicknamelist;
|
||
set ary_avatar = avatarlist;
|
||
set ary_roomcode = roomcodelist;
|
||
set ary_overtime = overtimelist;
|
||
set ary_grade = gradelist;
|
||
set ary_isrobot = isrobotlist;
|
||
|
||
while ary_playerid <> '' do
|
||
set pos_playerid = instr(ary_playerid, ',');
|
||
set pos_nickname = instr(ary_nickname, ',');
|
||
set pos_avatar = instr(ary_avatar, ',');
|
||
set pos_roomcode = instr(ary_roomcode, ',');
|
||
set pos_overtime = instr(ary_overtime, ',');
|
||
set pos_grade = instr(ary_grade, ',');
|
||
set pos_isrobot = instr(ary_isrobot, ',');
|
||
if pos_playerid = 0 then
|
||
set s_playerid = ary_playerid;
|
||
set s_nickname = ary_nickname;
|
||
set s_avatar = ary_avatar;
|
||
set s_roomcode = ary_roomcode;
|
||
set s_overtime = ary_overtime;
|
||
set s_grade = ary_grade;
|
||
set s_isrobot = ary_isrobot;
|
||
set ary_playerid = '';
|
||
set ary_nickname = '';
|
||
set ary_avatar = '';
|
||
set ary_roomcode = '';
|
||
set ary_overtime = '';
|
||
set ary_grade = '';
|
||
set ary_isrobot = '';
|
||
else
|
||
set s_playerid = left(ary_playerid, pos_playerid - 1);
|
||
set s_nickname = left(ary_nickname, pos_nickname - 1);
|
||
set s_avatar = left(ary_avatar, pos_avatar - 1);
|
||
set s_roomcode = left(ary_roomcode, pos_roomcode - 1);
|
||
set s_overtime = left(ary_overtime, pos_overtime - 1);
|
||
set s_grade = left(ary_grade, pos_grade - 1);
|
||
set s_isrobot = left(ary_isrobot, pos_isrobot - 1);
|
||
set ary_playerid = substring(ary_playerid, 1 + pos_playerid);
|
||
set ary_nickname = substring(ary_nickname, 1 + pos_nickname);
|
||
set ary_avatar = substring(ary_avatar, 1 + pos_avatar);
|
||
set ary_roomcode = substring(ary_roomcode, 1 + pos_roomcode);
|
||
set ary_overtime = substring(ary_overtime, 1 + pos_overtime);
|
||
set ary_grade = substring(ary_grade, 1 + pos_grade);
|
||
set ary_isrobot = substring(ary_isrobot, 1 + pos_isrobot);
|
||
end if;
|
||
|
||
insert into match_ranking(mara_agentid, mara_gameid, mara_matchid, mara_matchidx,
|
||
mara_playerid, mara_nickname, mara_avatar, mara_roomcode,
|
||
mara_overtime, mara_grade, mara_isrobot)
|
||
values (agentid, gameid, matchid, matchidx, s_playerid, s_nickname,
|
||
s_avatar, s_roomcode, s_overtime, s_grade, s_isrobot);
|
||
end while;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|