Files
youlegames/codes/games/sql/game/db/agent_db_temp.sql

645 lines
27 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
Navicat Premium Dump SQL
Source Server : agent
Source Server Type : MySQL
Source Server Version : 80036 (8.0.36)
Source Host : rm-bp1btyuwq77591x0jpo.mysql.rds.aliyuncs.com:3306
Source Schema : agent_db_temp
Target Server Type : MySQL
Target Server Version : 80036 (8.0.36)
File Encoding : 65001
Date: 15/03/2026 19:31:42
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- 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 = 18149691 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '金币变动表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for player
-- ----------------------------
DROP TABLE IF EXISTS `player`;
CREATE TABLE `player` (
`idx` int NOT NULL AUTO_INCREMENT,
`play_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
`play_playerid` int NOT NULL COMMENT '玩家id',
`play_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
`play_unionid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信unionid',
`play_nickname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '玩家昵称',
`play_avatar` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '头像',
`play_sex` tinyint(1) NULL DEFAULT NULL COMMENT '性别',
`play_province` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '',
`play_city` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市',
`play_roomcard` int NULL DEFAULT 8 COMMENT '房卡数量',
`play_bean` int NULL DEFAULT 0 COMMENT '金币',
`play_regtime` datetime NOT NULL COMMENT '注册时间',
`play_lasttime` datetime NOT NULL COMMENT '最后登录时间',
`play_logindate` int NULL DEFAULT 1 COMMENT '累积登录天数',
`play_usecard` int NULL DEFAULT 0 COMMENT '累积使用房卡数量',
`play_taskaward` int NULL DEFAULT 0 COMMENT '累积任务奖励房卡数量',
`play_type` tinyint(1) NULL DEFAULT 0 COMMENT '用户类型 0:普通用户 1:vip开房不扣房卡',
`play_score` int NULL DEFAULT 0,
`play_a_country` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_a_province` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_a_city` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_a_citycode` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_a_district` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_a_street` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_a_address` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_longitude` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_latitude` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_invitecode` int NULL DEFAULT NULL,
`play_inviteid` int NULL DEFAULT NULL,
`play_state` tinyint(1) NULL DEFAULT 0,
`play_advanced` tinyint NULL DEFAULT 0,
`play_shortcode` int NULL DEFAULT NULL,
`play_roomcodes` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_desone` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_destwo` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_whitelist` varchar(6000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_limit` int NULL DEFAULT NULL,
`play_notice` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_bankpower` tinyint(1) NULL DEFAULT 1,
`play_bank` int NULL DEFAULT 0,
`play_bankpwd` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_tel` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_wechat` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_marketid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_phoneinfo` varchar(8000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`play_sign` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`idx`) USING BTREE,
UNIQUE INDEX `player_index2`(`play_agentid` ASC, `play_unionid` ASC) USING BTREE,
UNIQUE INDEX `player_index1`(`play_agentid` ASC, `play_playerid` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 136111 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 = 33678017 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家战绩表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for sales_transferbill
-- ----------------------------
DROP TABLE IF EXISTS `sales_transferbill`;
CREATE TABLE `sales_transferbill` (
`idx` int NOT NULL AUTO_INCREMENT,
`satr_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
`satr_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
`channel_id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '渠道id',
`from_sales` int NULL DEFAULT NULL COMMENT '来源代理号',
`satr_salesid` int NOT NULL COMMENT '个人代理id',
`satr_amount` int NOT NULL COMMENT '转卡数量',
`satr_transfertime` datetime NOT NULL COMMENT '转卡时间',
PRIMARY KEY (`idx`) USING BTREE,
INDEX `nk_transferbill_agent`(`satr_agentid` ASC, `channel_id` ASC) USING BTREE,
INDEX `nk_transferbill_openid`(`satr_agentid` ASC, `channel_id` ASC, `satr_openid` ASC) USING BTREE,
INDEX `nk_transferbill_salesid`(`satr_agentid` ASC, `channel_id` ASC, `satr_salesid` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18554 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '个人代理转卡记录表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sales_user
-- ----------------------------
DROP TABLE IF EXISTS `sales_user`;
CREATE TABLE `sales_user` (
`idx` int NOT NULL AUTO_INCREMENT,
`user_id` int NULL DEFAULT NULL COMMENT '用户号',
`saus_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
`saus_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`saus_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
`saus_unionid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '微信unionid',
`saus_nickname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '昵称',
`saus_avatar` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '头像',
`saus_sex` tinyint(1) NULL DEFAULT NULL COMMENT '性别',
`saus_province` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '',
`saus_city` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市',
`saus_firsttime` datetime NOT NULL COMMENT '第一次登登录时间',
`saus_lasttime` datetime NOT NULL COMMENT '最后一次登录时间',
`saus_salesman` tinyint(1) NULL DEFAULT 0 COMMENT '0:普通用户 1:个人代理',
`saus_salesid` int NULL DEFAULT NULL COMMENT '个人代理id',
`saus_level` int NULL DEFAULT 0,
`saus_parentid` int NULL DEFAULT NULL COMMENT '上级个人代理id',
`saus_salestype` tinyint(1) NULL DEFAULT 1,
`saus_roomcard` int NULL DEFAULT 0 COMMENT '房卡数量',
`saus_bean` decimal(18, 4) NULL DEFAULT 0.0000 COMMENT '金币数',
`saus_saletime` datetime NULL DEFAULT NULL COMMENT '成为个人代理时间',
`saus_tel` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`saus_wechat` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`saus_invitecode` int NULL DEFAULT NULL,
`saus_power` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`saus_pushrate1` int NULL DEFAULT 33,
`saus_pushrate2` int NULL DEFAULT 8,
`saus_pushmoney1` decimal(10, 2) NULL DEFAULT 0.00,
`saus_pushmoney2` decimal(10, 2) NULL DEFAULT 0.00,
`saus_status` int NULL DEFAULT 0 COMMENT '0、正常1、封禁',
`password` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户密码',
`global_power` tinyint(1) NULL DEFAULT 0 COMMENT '0、没有权限1、有封禁权限',
`club_precent` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '俱乐部抽成',
`is_send_star` tinyint(1) NULL DEFAULT 0 COMMENT '0、未赠送1、已赠送',
`currency_total` int UNSIGNED NULL DEFAULT 0 COMMENT '总计分成游戏币',
`currency_withdraw` int UNSIGNED NULL DEFAULT 0 COMMENT '可提现游戏币',
`currency_freeze` int UNSIGNED NULL DEFAULT 0 COMMENT '被冻结的游戏币',
`saus_realname` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '真实姓名',
`saus_alipay` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '支付宝账户',
`saus_kaihu_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '开户人姓名',
`saus_kaihu_bank` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '开户银行',
`saus_kaihu_zhihang` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '开户支行',
`saus_kaihu_count` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '银行账号',
`saus_commit_auth` int NULL DEFAULT 2 COMMENT '提现权限1、开启 2、关闭',
`statistic_type` int NULL DEFAULT 0 COMMENT '用户类型(-1不计入统计口径0统计为普通用户口径1统计为平台用户口径',
`player_id` int NULL DEFAULT NULL COMMENT '关联的玩家编号',
PRIMARY KEY (`idx`) USING BTREE,
UNIQUE INDEX `uk_sales_user_id`(`idx` ASC) USING BTREE,
UNIQUE INDEX `uk_sales_user_unionid`(`saus_agentid` ASC, `saus_channelid` ASC, `saus_unionid` ASC) USING BTREE,
UNIQUE INDEX `uk_sales_user_salesid`(`saus_agentid` ASC, `saus_channelid` ASC, `saus_salesid` ASC) USING BTREE,
UNIQUE INDEX `uk_sales_user_playerid`(`saus_agentid` ASC, `saus_channelid` ASC, `player_id` ASC) USING BTREE,
UNIQUE INDEX `uk_sales_user_openid`(`saus_agentid` ASC, `saus_channelid` ASC, `saus_openid` ASC) USING BTREE,
UNIQUE INDEX `uk_sales_user_userid`(`user_id` ASC) USING BTREE,
INDEX `nk_sales_user_salesid`(`saus_agentid` ASC, `saus_channelid` ASC, `saus_salesid` ASC, `saus_openid` ASC, `saus_unionid` ASC, `saus_status` ASC, `password` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25297 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '公众号用户表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for trans_star_record
-- ----------------------------
DROP TABLE IF EXISTS `trans_star_record`;
CREATE TABLE `trans_star_record` (
`id` int NOT NULL AUTO_INCREMENT,
`agent_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代理商id',
`channel_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道id',
`union_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信id',
`open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`send_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者id',
`get_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '获得者id',
`type` tinyint(1) NULL DEFAULT 0 COMMENT '0、转让星星',
`amount` int NULL DEFAULT 0 COMMENT '数量',
`op_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `pk_trans_star_record`(`id` ASC) USING BTREE,
INDEX `nk_trans_star_record_sales_to`(`agent_id` ASC, `channel_id` ASC, `get_id` ASC) USING BTREE,
INDEX `nk_trans_star_record_sales_from`(`agent_id` ASC, `channel_id` ASC, `send_id` ASC) USING BTREE,
INDEX `nk_trans_star_record_agent`(`agent_id` ASC, `channel_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 696 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Procedure structure for cp_SynchronizeSettle
-- ----------------------------
DROP PROCEDURE IF EXISTS `cp_SynchronizeSettle`;
delimiter ;;
CREATE PROCEDURE `cp_SynchronizeSettle`()
SQL SECURITY INVOKER
begin
declare nErrorCode integer default 0;
declare continue handler for sqlexception set nErrorCode = 1;
start transaction;
-- 同步战绩数据
insert into
ct_grade_temp
(
agent_id,
channel_id,
game_id,
player_id,
room_code,
room_type,
owner_id,
room_card,
owner_card,
create_time,
makewar_time,
over_time,
short_number,
deduct_type,
deduct_card,
aset_count,
room_mode,
out_id
)
select
plgr_agentid,
null,
plgr_gameid,
plgr_playerid,
plgr_roomcode,
plgr_roomtype,
plgr_ownerid,
plgr_roomcard,
plgr_ownercard,
plgr_createtime,
plgr_makewartime,
plgr_overtime,
plgr_shortcode,
plgr_deducttype,
plgr_deductcard,
plgr_asetcount,
plgr_roommode,
idx
from
game_db_temp.player_grade
where
idx not in (select out_id from ct_grade_temp);
-- 同步并计算分成数据
insert into
ct_user_commission
(
agent_id,
channel_id,
game_id,
room_id,
player_id,
user_id,
parent_user_id,
room_code,
short_number,
used_card,
owner_id,
room_type,
room_mode,
commission_type,
grade,
source_mode,
target_mode,
target_id,
mode,
type,
commission_total,
commission_system,
commission_user,
commission_parent_user,
commission_user_rate,
commission_parent_user_rate,
create_time,
is_robot,
out_id
)
select
agent_id,
channel_id,
game_id,
room_id,
player_id,
user_id,
parent_user_id,
room_code,
short_number,
used_card,
owner_id,
room_type,
room_mode,
commission_type,
grade,
source_mode,
target_mode,
target_id,
mode,
type,
ifnull(commission_total, 0) commission_total,
ifnull(commission_total, 0) - floor(ifnull(commission_total, 0) * ifnull(user_rate, 0)) - floor(ifnull(commission_total, 0) * ifnull(parent_user_rate, 0)) commission_system,
floor(ifnull(commission_total, 0) * ifnull(user_rate, 0)) commission_user,
floor(ifnull(commission_total, 0) * ifnull(parent_user_rate, 0)) commission_parent_user,
ifnull(user_rate, 0) commission_user_rate,
ifnull(parent_user_rate, 0) commission_parent_user_rate,
create_time,
is_robot,
out_id
from
(
select
a.agent_id,
a.channel_id,
a.game_id,
a.room_id,
a.player_id,
a.user_id,
a.parent_user_id,
a.room_code,
a.short_number,
a.used_card,
a.owner_id,
a.room_type,
a.room_mode,
a.commission_type,
a.grade,
a.source_mode,
a.target_mode,
a.target_id,
a.mode,
a.type,
a.commission_total,
case ifnull(target_mode, 0)
when 0 then
case
when (0 = a.user_id) or (0 != a.user_is_admin) then 0
else case ifnull(c.is_custom, 0)
when 0 then b.user_commission_rate
else c.commission_rate
end
end
+
case
when ((0 != a.user_id) and (0 = a.user_is_admin)) and ((0 = a.parent_user_id) or (0 != a.parent_user_is_admin)) then case ifnull(c.is_custom, 0)
when 0 then b.parent_user_commission_rate
else c.parent_commission_rate
end
else 0
end
else 0
end user_rate,
case ifnull(target_mode, 0)
when 0 then
case
when (0 = a.parent_user_id) or (0 != a.parent_user_is_admin) then 0
else case ifnull(c.is_custom, 0)
when 0 then b.parent_user_commission_rate
else c.parent_commission_rate
end
end
else 0
end parent_user_rate,
a.user_is_admin,
a.parent_user_is_admin,
a.create_time,
a.is_robot,
a.out_id
from
(
select
a.goac_agentid agent_id,
b.play_channelid channel_id,
a.goac_gameid game_id,
a.goac_id room_id,
a.goac_playerid player_id,
ifnull(b.play_invitecode, 0) user_id,
ifnull(c.global_power, 0) user_is_admin,
ifnull(c.saus_parentid, 0) parent_user_id,
ifnull(d.global_power, 0) parent_user_is_admin,
a.goac_roomcode room_code,
a.goac_shortcode short_number,
a.goac_roomcard used_card,
a.goac_ownerid owner_id,
null room_type,
a.goac_roommode room_mode,
case a.goac_roommode
when 0 then '001'
when 1 then '002'
else '001'
end commission_type,
a.goac_grade grade,
a.goac_rebatefrom source_mode,
a.goac_rebateto target_mode,
a.goac_toplayerid target_id,
a.goac_rebatemode mode,
a.goac_datatype type,
a.goac_rebatevalue commission_total,
a.goac_time create_time,
a.goac_isrobot is_robot,
a.idx out_id
from
game_db_temp.gold_account a left join
player b on a.goac_agentid = b.play_agentid and a.goac_playerid = b.play_playerid left join
sales_user c on b.play_agentid = c.saus_agentid and b.play_channelid = c.saus_channelid and b.play_invitecode = c.saus_salesid left join
sales_user d on c.saus_agentid = d.saus_agentid and c.saus_channelid = d.saus_channelid and c.saus_parentid = d.saus_salesid
) a left join
ct_agent_commission b on a.agent_id = b.agent_id and a.channel_id = b.channel_id and a.commission_type = b.type_id left join
ct_agent_commission_user c on a.agent_id = c.agent_id and a.channel_id = c.channel_id and b.type_id = c.type_id and a.user_id = c.user_id
) t
where
t.out_id not in (select out_id from ct_user_commission);
-- 转移指定了接收代理编号的抽水金币数
update
sales_user a,
(
select
a.agent_id,
a.channel_id,
b.saus_salesid sales_id,
sum(a.commission_total) total
from
ct_user_commission a inner join
ct_sales_player b on a.agent_id = b.agent_id and a.channel_id = b.channel_id and a.target_id = b.play_playerid
where
ifnull(a.target_mode, 0) = 3 and a.is_settle = 0
group by
a.agent_id,
a.channel_id,
b.saus_salesid
) b
set
a.saus_bean = a.saus_bean + b.total
where
a.saus_agentid = b.agent_id and
a.saus_channelid = b.channel_id and
a.saus_salesid = b.sales_id;
-- 增加玩家绑定的代理的总计抽水金币数
update
sales_user a,
(
select
agent_id, channel_id, user_id, sum(ifnull(commission_user, 0)) commission_user
from
ct_user_commission
where
is_settle = 0
group by
agent_id, channel_id, user_id
) b
set
a.currency_total = ifnull(a.currency_total, 0) + b.commission_user
where
a.saus_agentid = b.agent_id and
a.saus_channelid = b.channel_id and
a.saus_salesid = b.user_id;
-- 增加玩家绑定的代理的上级代理的总计抽水金币数
update
sales_user a,
(
select
agent_id, channel_id, parent_user_id user_id, sum(ifnull(commission_parent_user, 0)) commission_user
from
ct_user_commission
where
is_settle = 0
group by
agent_id, channel_id, parent_user_id
) b
set
a.currency_total = ifnull(a.currency_total, 0) + b.commission_user
where
a.saus_agentid = b.agent_id and
a.saus_channelid = b.channel_id and
a.saus_salesid = b.user_id;
-- 计算可提现金币数
update
sales_user a,
(
select
agent_id, channel_id, user_id
from
ct_user_commission
where
is_settle = 0
union all
select
agent_id, channel_id, parent_user_id
from
ct_user_commission
) b
set
a.currency_withdraw = ifnull(a.currency_total, 0) - ifnull(a.currency_freeze, 0)
where
a.saus_agentid = b.agent_id and
a.saus_channelid = b.channel_id and
a.saus_salesid = b.user_id;
-- 变更状态
update
ct_user_commission
set
is_settle = 1
where
ifnull(is_settle, 0) = 0;
-- 更新表(player)
update
player a,
game_db_temp.player b
set
a.play_nickname = b.play_nickname,
a.play_bean = b.play_bean,
a.play_roomcard = b.play_roomcard
where
a.play_agentid = b.play_agentid and
a.play_channelid = b.play_channelid and
a.play_playerid = b.play_playerid;
-- 重建索引(ct_grade_temp)
alter table ct_grade_temp
drop index pk_grade_temp,
drop index uk_grade_temp,
drop index nk_grade_temp_player_id,
drop index nk_grade_temp_create_time,
drop index nk_grade_temp_group_data,
add unique index pk_grade_temp (id) using hash,
add unique index uk_grade_temp (out_id) using hash,
add index nk_grade_temp_player_id (agent_id,channel_id,game_id,player_id) using btree,
add index nk_grade_temp_create_time (agent_id,channel_id,game_id,create_time,short_number) using btree,
add index nk_grade_temp_group_data (agent_id,channel_id,player_id,create_time,short_number) using btree;
-- 重建索引(ct_user_commission)
alter table ct_user_commission
drop index pk_user_commission,
drop index uk_user_commission_out_id,
drop index nk_user_commission,
add unique index pk_user_commission (id) using hash,
add unique index uk_user_commission_out_id (out_id) using hash,
add index nk_user_commission (agent_id,channel_id,game_id,player_id,user_id) using btree;
-- 重建索引(sales_user)
alter table sales_user
drop index uk_sales_user_openid,
drop index uk_sales_user_unionid,
drop index nk_sales_user_salesid,
add unique index uk_sales_user_openid (saus_agentid,saus_channelid,saus_openid) using hash,
add unique index uk_sales_user_unionid (saus_agentid,saus_channelid,saus_unionid) using hash,
add index nk_sales_user_salesid (saus_agentid,saus_channelid,saus_salesid,saus_openid,saus_unionid,saus_status,password) using btree;
-- 重建索引(player)
alter table player
drop index player_index1,
drop index player_index2,
drop index nk_player,
add unique index player_index1 (play_agentid,play_channelid,play_playerid) using hash,
add unique index player_index2 (play_agentid,play_channelid,play_unionid) using hash,
add index nk_player (play_agentid,play_playerid,play_channelid,play_openid,play_unionid,play_status) using btree;
-- 判断是否成功
if 1 = nErrorCode then
rollback;
select 'error';
else
commit;
select 'success';
end if;
end
;;
delimiter ;
SET FOREIGN_KEY_CHECKS = 1;