6098 lines
252 KiB
SQL
6098 lines
252 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 : game_db
|
||
|
||
Target Server Type : MySQL
|
||
Target Server Version : 80036 (8.0.36)
|
||
File Encoding : 65001
|
||
|
||
Date: 15/03/2026 19:27:51
|
||
*/
|
||
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent`;
|
||
CREATE TABLE `agent` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`agen_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`agen_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商名称',
|
||
`agen_logo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '代理商logo,80*50',
|
||
`agen_parentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '上级代理商ID',
|
||
`agen_idxcode` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '代理商树状结构编码 3位一级',
|
||
`agen_state` tinyint(1) NULL DEFAULT 0 COMMENT '状态 0-启用 1-禁用',
|
||
`agen_sharingmode` tinyint(1) NULL DEFAULT 0 COMMENT '分成模式 0-普通模式 1-阶梯模式',
|
||
`agen_sharingrate` tinyint NULL DEFAULT 100 COMMENT '普通模式分成比例 正整数[0, 99],表示100元分成多少',
|
||
`agen_selftotal` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '自己的总流水',
|
||
`agen_selfsharing` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '自己的总分成',
|
||
`agen_childsharing` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '子代理的总分成',
|
||
`agen_maxplayerid` int NULL DEFAULT 100000 COMMENT '当前最大的玩家id',
|
||
`agen_maxsalesid` int NULL DEFAULT 200000 COMMENT '当前最大的个人代理id',
|
||
`agen_scrollmsg` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '滚动公告内容',
|
||
`agen_noticemsg` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '通知公告内容',
|
||
`agen_server` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '代理商服务器地址,不需要\"http\"前缀',
|
||
`agen_server_visitor` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
|
||
`agen_port_tcp` int NULL DEFAULT NULL COMMENT '代理商服务器tcp端口',
|
||
`agen_port_http` int NULL DEFAULT NULL COMMENT '代理商服务器http端口',
|
||
`agen_downloadhtml` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT 'app下载页面',
|
||
`agen_freeroom` int NULL DEFAULT 300 COMMENT '默认同意解散房间的倒计时,秒',
|
||
`agen_salespower` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '22',
|
||
`agen_managecode` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '管理码,关闭、开启服务器、发送系统消息时验证使用',
|
||
`agen_user` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '登录运营后台的用户名',
|
||
`agen_pwd` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '登录运营后台的密码',
|
||
`agen_initroomacard` int NULL DEFAULT 8,
|
||
`agen_initbean` int NULL DEFAULT 0,
|
||
`agen_rebatemode1` tinyint(1) NULL DEFAULT 0,
|
||
`agen_rebateset1` int NULL DEFAULT 0,
|
||
`agen_rebatemode2` tinyint(1) NULL DEFAULT 0,
|
||
`agen_rebateset2` int NULL DEFAULT 0,
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_index`(`agen_agentid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 133 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代理商表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_channel
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_channel`;
|
||
CREATE TABLE `agent_channel` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`agch_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`agch_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商id',
|
||
`agch_channelname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商名称',
|
||
`agch_WechatPublicNo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商微信公众号',
|
||
`agch_wechat_ewm` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '渠道商微信公众号二维码图片链接地址',
|
||
`agch_service_wechat` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商客服微信号',
|
||
`agch_service_qq` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商客服QQ号',
|
||
`agch_service_tel` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商客服电话',
|
||
`agch_sales_tel` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '渠道商售卡电话',
|
||
`agch_sales_wechat` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '渠道商售卡微信',
|
||
`agch_youle_appid` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '友乐开发平台appid',
|
||
`agch_youle_devkey` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '友乐开发平台devkey',
|
||
`agch_youle_busiid` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '友乐开发平台businessid',
|
||
`agch_youle_signkey` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '友乐开发平台signkey微信支付签名',
|
||
`agch_invitecode` int NULL DEFAULT NULL,
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_channel_index`(`agch_agentid` ASC, `agch_channelid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 88 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代理商的渠道表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_channel_city
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_channel_city`;
|
||
CREATE TABLE `agent_channel_city` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`agcc_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`agcc_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商id',
|
||
`agcc_citycode` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '城市编码',
|
||
`agcc_city` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市名称',
|
||
`agcc_WechatPublicNo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市微信公众号',
|
||
`agcc_wechat_ewm` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市微信公众号二维码图片链接地址',
|
||
`agcc_service_wechat` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市客服微信号',
|
||
`agcc_service_qq` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市客服QQ号',
|
||
`agcc_service_tel` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '城市客服电话',
|
||
`agcc_invitecode` int NULL DEFAULT NULL COMMENT '默认的邀请码',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_channel_city_index`(`agcc_agentid` ASC, `agcc_channelid` ASC, `agcc_citycode` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '城市配置表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game`;
|
||
CREATE TABLE `agent_game` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`agga_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理id',
|
||
`agga_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`agga_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道id',
|
||
`agga_aliasname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商的游戏别名',
|
||
`agga_image` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商的游戏图标',
|
||
`agga_state` tinyint(1) NULL DEFAULT 0 COMMENT '状态 0:发布中 1:测试中 2: 研发中',
|
||
`agga_gamememo` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '游戏简介',
|
||
`agga_gameversion` int NOT NULL COMMENT '游戏版本号',
|
||
`agga_android_ver` int NOT NULL COMMENT '安卓app实际版本号',
|
||
`agga_android_vername` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '安卓app版本号,显示用',
|
||
`agga_android_down` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '安卓app下载地址',
|
||
`agga_android_size` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '安卓app大小',
|
||
`agga_android_time` datetime NULL DEFAULT NULL COMMENT '安卓app发布时间',
|
||
`agga_ios_ver` int NOT NULL COMMENT '苹果app实际版本号',
|
||
`agga_ios_vername` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '苹果app版本号,显示用',
|
||
`agga_ios_down` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '苹果app下载地址',
|
||
`agga_ios_size` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '苹果app大小',
|
||
`agga_ios_time` datetime NULL DEFAULT NULL COMMENT '苹果app发布时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_game_index`(`agga_agentid` ASC, `agga_gameid` ASC, `agga_channelid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代理商游戏表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game_online
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game_online`;
|
||
CREATE TABLE `agent_game_online` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`aggo_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理id',
|
||
`aggo_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`aggo_datetime` datetime NOT NULL COMMENT '统计时间',
|
||
`aggo_onlineplayer` int NULL DEFAULT NULL COMMENT '在线玩家数量',
|
||
`aggo_onlineroom` int NULL DEFAULT NULL COMMENT '开房房间数量',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `agent_game_online`(`aggo_agentid` ASC, `aggo_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 16479965 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '在线玩家数量统计表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game_player
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game_player`;
|
||
CREATE TABLE `agent_game_player` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`agpl_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`agpl_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`agpl_playerid` int NOT NULL COMMENT '玩家id',
|
||
`agpl_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
|
||
`agpl_lasttime` datetime NOT NULL COMMENT '最后登录时间',
|
||
`agpl_logindate` int NULL DEFAULT 1 COMMENT '累积登录天数',
|
||
`agpl_usecard` int NULL DEFAULT 0 COMMENT '累积使用房卡数量',
|
||
`agpl_firsttime` datetime NULL DEFAULT NULL,
|
||
`agpl_playset` int NULL DEFAULT 0,
|
||
`agpl_winlose` int NULL DEFAULT 0,
|
||
`agpl_playset_xx` int NULL DEFAULT 0,
|
||
`agpl_winlose_xx` int NULL DEFAULT 0,
|
||
`agpl_winlose_x2` int NULL DEFAULT 0,
|
||
`agpl_playset_b` int NULL DEFAULT 0,
|
||
`agpl_winlose_b` int NULL DEFAULT 0,
|
||
`agpl_playset_xx_b` int NULL DEFAULT 0,
|
||
`agpl_winlose_xx_b` int NULL DEFAULT 0,
|
||
`agpl_winlose_x2_b` int NULL DEFAULT 0,
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_game_player_index1`(`agpl_agentid` ASC, `agpl_gameid` ASC, `agpl_playerid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 255273 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '游戏的玩家表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game_player_short
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game_player_short`;
|
||
CREATE TABLE `agent_game_player_short` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`agps_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`agps_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`agps_playerid` int NOT NULL COMMENT '玩家id',
|
||
`agps_shortcode` int NOT NULL COMMENT '房间短号',
|
||
`agps_playset` int NULL DEFAULT 0 COMMENT '累积游戏局数(大局)',
|
||
`agps_winlose` int NULL DEFAULT 0 COMMENT '累积输赢',
|
||
`agps_playset_xx` int NULL DEFAULT 0 COMMENT '累积游戏局数(大局)',
|
||
`agps_winlose_xx` int NULL DEFAULT 0 COMMENT '累积输赢',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_game_player_short_index1`(`agps_agentid` ASC, `agps_gameid` ASC, `agps_playerid` ASC, `agps_shortcode` ASC) USING BTREE
|
||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家短号输赢表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game_pond
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game_pond`;
|
||
CREATE TABLE `agent_game_pond` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`aggp_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理id',
|
||
`aggp_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`aggp_pondid` int NOT NULL COMMENT '池子id',
|
||
`aggp_value` int NULL DEFAULT 0 COMMENT '累计输赢',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `agent_game_pond_index`(`aggp_agentid` ASC, `aggp_gameid` ASC, `aggp_pondid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 66 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '系统累计输赢池子表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game_room
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game_room`;
|
||
CREATE TABLE `agent_game_room` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`aggr_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理id',
|
||
`aggr_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`aggr_minroomcode` int NOT NULL COMMENT '最小房间号 >=',
|
||
`aggr_maxroomcode` int NOT NULL COMMENT '最大房间号 <=',
|
||
`aggr_server` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '房间服务器地址,不需要\"http\"前缀',
|
||
`aggr_port_tcp` int NULL DEFAULT NULL COMMENT '房间服务器tcp端口',
|
||
`aggr_port_http` int NULL DEFAULT NULL COMMENT '房间服务器http端口',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `agent_game_room`(`aggr_agentid` ASC, `aggr_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '房间服务器表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for agent_game_version
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `agent_game_version`;
|
||
CREATE TABLE `agent_game_version` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`aggv_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理id',
|
||
`aggv_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`aggv_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道id',
|
||
`aggv_version` int NOT NULL COMMENT 'app实际版本号',
|
||
`aggv_type` int NOT NULL COMMENT '升级类型 0-整包升级(zip格式) 1-单个文件升级',
|
||
`aggv_download` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '文件下载地址',
|
||
`aggv_file` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '带文件名的存放路径,升级类型为0时此字段无意义',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `agent_game_version`(`aggv_agentid` ASC, `aggv_gameid` ASC, `aggv_channelid` ASC) USING BTREE
|
||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '游戏版本表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for ct_user_process_log
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `ct_user_process_log`;
|
||
CREATE TABLE `ct_user_process_log` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`uspl_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`uspl_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商id',
|
||
`uspl_playerid` int NOT NULL COMMENT '玩家id',
|
||
`uspl_unionid` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '玩家unionid',
|
||
`uspl_opt` tinyint NOT NULL COMMENT '操作类型 1:新增玩家 2:绑定邀请码',
|
||
`uspl_optdata` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '操作数据 1:玩家微信信息json 2:邀请码',
|
||
`uspl_opttime` datetime NULL DEFAULT NULL COMMENT '生成的时间',
|
||
`uspl_state` tinyint(1) NULL DEFAULT 0 COMMENT '代理后台处理状态 0:未处理 1:已处理',
|
||
`uspl_statetime` datetime NULL DEFAULT NULL COMMENT '代理后台处理时间',
|
||
PRIMARY KEY (`idx`) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 168473 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '游戏的操作日志表-代理后台2.0接口表' 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` varchar(10000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '错误信息',
|
||
`erro_packet` varchar(10000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '收到的包',
|
||
`erro_time` datetime NULL DEFAULT NULL COMMENT '时间',
|
||
PRIMARY KEY (`idx`) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 38845 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '错误日志表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for game
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `game`;
|
||
CREATE TABLE `game` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`game_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`game_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏名称',
|
||
`game_minroomcode` int NULL DEFAULT 100000 COMMENT '最小房号',
|
||
`game_maxroomcode` int NULL DEFAULT 999999 COMMENT '最大房号',
|
||
`game_seatcount` int NOT NULL COMMENT '房间内的座位数量',
|
||
`game_makewar` int NULL DEFAULT NULL COMMENT '达成开战条件的人数',
|
||
`game_modename` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '游戏服务器模块名称',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `game_index`(`game_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 52 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '游戏表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for game_buybill
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `game_buybill`;
|
||
CREATE TABLE `game_buybill` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`gabu_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`gabu_playerid` int NOT NULL COMMENT '玩家id',
|
||
`gabu_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '渠道商id',
|
||
`gabu_billcode` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '订单号',
|
||
`gabu_productid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '产品id',
|
||
`gabu_payid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '支付id',
|
||
`gabu_amount` int NOT NULL COMMENT '产品中的房卡数量',
|
||
`gabu_money` decimal(10, 2) NOT NULL COMMENT '产品中的所需金额',
|
||
`gabu_createtime` datetime NOT NULL COMMENT '下单时间',
|
||
`gabu_paystate` tinyint(1) NULL DEFAULT 0 COMMENT '支付状态 0-未支付 1-已支付',
|
||
`gabu_paymoney` decimal(10, 2) NULL DEFAULT NULL COMMENT '实际支付金额',
|
||
`gabu_paytime` datetime NULL DEFAULT NULL COMMENT '支付时间',
|
||
`gabu_paytype` tinyint(1) NOT NULL COMMENT '支付方式 1-苹果 2-微信 3-支付宝',
|
||
`gabu_transid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '支付流水号',
|
||
`gabu_outtradeNo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '商家订单号',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `game_buybill_index`(`gabu_agentid` ASC, `gabu_channelid` ASC, `gabu_billcode` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家购卡记录表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for game_product
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `game_product`;
|
||
CREATE TABLE `game_product` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`gapr_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`gapr_productid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '产品id',
|
||
`gapr_payid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '支付id',
|
||
`gapr_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '产品名称',
|
||
`gapr_amount` int NOT NULL COMMENT '房卡数量',
|
||
`gapr_money` decimal(10, 2) NOT NULL COMMENT '所需金额',
|
||
`gapr_memo` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '描述',
|
||
`gapr_state` tinyint(1) NULL DEFAULT 0 COMMENT '状态 0-启用 1-禁用',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `game_product_index`(`gapr_agentid` ASC, `gapr_productid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 353 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 = 137785 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for player_copy1
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `player_copy1`;
|
||
CREATE TABLE `player_copy1` (
|
||
`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 = 137552 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 COMMENT '这局结束时自己剩余房卡',
|
||
`plgr_gameinfo1` varchar(10000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '一局游戏的完整数据 json格式',
|
||
`plgr_gameinfo2` mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '一局游戏的完整数据 json格式',
|
||
`plgr_type` tinyint(1) NULL DEFAULT 0 COMMENT '类型 1-房主读取标识',
|
||
`plgr_memo1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备用1',
|
||
`plgr_memo2` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备用2',
|
||
`plgr_memo3` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备用3',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `player_grade_index`(`plgr_agentid` ASC, `plgr_playerid` ASC, `plgr_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家战绩表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for player_opinion
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `player_opinion`;
|
||
CREATE TABLE `player_opinion` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`plop_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`plop_playerid` int NOT NULL COMMENT '玩家id',
|
||
`plop_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`plop_content` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '反馈意见',
|
||
`plop_time` datetime NULL DEFAULT NULL COMMENT '反馈时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `player_opinion_index`(`plop_agentid` ASC, `plop_playerid` ASC, `plop_gameid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 9560 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家反馈意见表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for report_agent_day
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `report_agent_day`;
|
||
CREATE TABLE `report_agent_day` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`read_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`read_day` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '日期',
|
||
`read_newplayer` int NULL DEFAULT 0 COMMENT '新增玩家数量',
|
||
`read_newsalesman` int NULL DEFAULT 0 COMMENT '新增个人代理数量',
|
||
`read_playeraward` int NULL DEFAULT 0 COMMENT '玩家得到的奖励房卡数量',
|
||
`read_salesmoney` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '房卡销售金额',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `report_agent_day_index`(`read_agentid` ASC, `read_day` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 9061 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代理商的日报表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for report_game_day
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `report_game_day`;
|
||
CREATE TABLE `report_game_day` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`regd_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`regd_gameid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '游戏id',
|
||
`regd_day` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '日期',
|
||
`regd_newplayer` int NULL DEFAULT 0 COMMENT '新增玩家数量',
|
||
`regd_useroomcard` int NULL DEFAULT 0 COMMENT '消耗房卡数量',
|
||
`regd_asetcount` int NULL DEFAULT 0 COMMENT '玩家一共玩了多少游戏局(每人一大局算1)',
|
||
`regd_maxplayer` int NULL DEFAULT 0 COMMENT '最大在线玩家数量',
|
||
`regd_maxplayertime` datetime NULL DEFAULT NULL COMMENT '最大在线玩家数量出现的时间',
|
||
`regd_maxroom` int NULL DEFAULT 0 COMMENT '最大开房数量',
|
||
`regd_maxroomtime` datetime NULL DEFAULT NULL COMMENT '最大开房数量出现的时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `report_game_day_index`(`regd_agentid` ASC, `regd_gameid` ASC, `regd_day` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 43210 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '游戏的日报表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_ask_bill
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_ask_bill`;
|
||
CREATE TABLE `sales_ask_bill` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`saab_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`saab_type` tinyint(1) NOT NULL COMMENT '索取类型 0-玩家索取房卡 1-个人代理索取房卡',
|
||
`saab_askid` int NOT NULL COMMENT '发起者id(玩家id或个人代理id)',
|
||
`saab_asknickname` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '发起者昵称',
|
||
`saab_askavatar` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '发起者头像',
|
||
`saab_salesid` int NOT NULL COMMENT '受理者id(个人代理id)',
|
||
`saab_amount` int NOT NULL COMMENT '索要房卡数量',
|
||
`saab_state` tinyint(1) NOT NULL COMMENT '状态 0-等待发卡 1-已确认发卡 2-发起者已取消 3-受理者已驳回',
|
||
`saab_asktime` datetime NOT NULL COMMENT '发起索取的时间',
|
||
`saab_dealtime` datetime NULL DEFAULT NULL COMMENT '确认发卡或取消或驳回的时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_ask_bill_index`(`saab_agentid` ASC, `saab_type` ASC, `saab_askid` ASC, `saab_salesid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 10659 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '索要房卡记录表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_award
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_award`;
|
||
CREATE TABLE `sales_award` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`saaw_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`saaw_salesid` int NOT NULL COMMENT '个人代理id',
|
||
`saaw_childid` int NOT NULL COMMENT '子个人代理id',
|
||
`saaw_type` tinyint(1) NOT NULL COMMENT '奖励类型 0-发展子代理 1-子代理充值',
|
||
`saaw_buybill` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '子个人代理购卡订单号',
|
||
`saaw_award` int NOT NULL COMMENT '个人代理的奖励房卡数量',
|
||
`saaw_state` tinyint(1) NULL DEFAULT 0 COMMENT '奖励领取状态 0-未领取 1-已领取',
|
||
`saaw_createtime` datetime NULL DEFAULT NULL COMMENT '奖励的生成时间',
|
||
`saaw_gettime` datetime NULL DEFAULT NULL COMMENT '奖励的领取时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_award_index`(`saaw_agentid` ASC, `saaw_salesid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 343 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '子代理充值奖励表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_buybill
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_buybill`;
|
||
CREATE TABLE `sales_buybill` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`sabu_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`sabu_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
|
||
`sabu_channelid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
|
||
`sabu_billcode` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '订单号',
|
||
`sabu_productid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '产品id',
|
||
`sabu_amount` int NOT NULL COMMENT '产品中的房卡数量',
|
||
`sabu_money` decimal(10, 2) NOT NULL COMMENT '产品中的所需金额',
|
||
`sabu_createtime` datetime NOT NULL COMMENT '下单时间',
|
||
`sabu_paystate` tinyint(1) NULL DEFAULT 0 COMMENT '支付状态 0-未支付 1-已支付',
|
||
`sabu_paymoney` decimal(10, 2) NULL DEFAULT NULL COMMENT '实际支付金额',
|
||
`sabu_paytime` datetime NULL DEFAULT NULL COMMENT '支付时间',
|
||
`sabu_billtype` tinyint(1) NOT NULL COMMENT '订单类型 0-个人玩家购卡 1-个人代理购卡',
|
||
`sabu_playerid` int NULL DEFAULT NULL COMMENT '充值者id',
|
||
`sabu_playername` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '充值者昵称',
|
||
`sabu_transid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '微信支付流水号',
|
||
`sabu_outtradeNo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '微信支付商家订单号',
|
||
`sabu_appid` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
|
||
`sabu_devkey` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
|
||
`sabu_business_id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
|
||
`sabu_signkey` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '微信支付签名',
|
||
`sabu_pushrate1` int NULL DEFAULT NULL,
|
||
`sabu_pushmoney1` decimal(10, 2) NULL DEFAULT NULL,
|
||
`sabu_pushrate2` int NULL DEFAULT NULL,
|
||
`sabu_pushmoney2` decimal(10, 2) NULL DEFAULT NULL,
|
||
`sabu_pushstate` tinyint(1) NULL DEFAULT 0,
|
||
`sabu_pushsalesid1` int NULL DEFAULT NULL,
|
||
`sabu_pushsalesid2` int NULL DEFAULT NULL,
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_buybill_index2`(`sabu_agentid` ASC, `sabu_billcode` ASC) USING BTREE,
|
||
INDEX `sales_buybill_index1`(`sabu_agentid` ASC, `sabu_openid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 4511 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '用户购卡记录表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_notice
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_notice`;
|
||
CREATE TABLE `sales_notice` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`sano_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`sano_noticeid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '公告id',
|
||
`sano_title` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '标题',
|
||
`sano_time` datetime NOT NULL COMMENT '发布时间',
|
||
`sano_begintime` datetime NULL DEFAULT NULL COMMENT '开始显示时间',
|
||
`sano_endtime` datetime NULL DEFAULT NULL COMMENT '结束显示时间',
|
||
`sano_content` varchar(4000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '内容',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_notice_index`(`sano_agentid` ASC, `sano_noticeid` ASC) USING BTREE
|
||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '个人代理公告' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_product
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_product`;
|
||
CREATE TABLE `sales_product` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`sapr_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`sapr_productid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '产品id',
|
||
`sapr_type` tinyint(1) NOT NULL COMMENT '产品类型 0-针对个人玩家的产品 1-针对个人代理的产品',
|
||
`sapr_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '产品名称',
|
||
`sapr_amount` int NOT NULL COMMENT '房卡数量',
|
||
`sapr_money` decimal(10, 2) NOT NULL COMMENT '所需金额',
|
||
`sapr_memo` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '描述',
|
||
`sapr_state` tinyint(1) NULL DEFAULT 0 COMMENT '状态 0-启用 1-禁用',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_product_index`(`sapr_agentid` ASC, `sapr_productid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 323 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '房卡产品表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_sellbill
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_sellbill`;
|
||
CREATE TABLE `sales_sellbill` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`sase_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`sase_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
|
||
`sase_playerid` int NOT NULL COMMENT '玩家id',
|
||
`sase_amount` int NOT NULL COMMENT '售卡数量',
|
||
`sase_selltime` datetime NOT NULL COMMENT '售卡时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_sellbill_index`(`sase_agentid` ASC, `sase_openid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 59239 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '个人代理售卡记录表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for sales_sellbill_bean
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `sales_sellbill_bean`;
|
||
CREATE TABLE `sales_sellbill_bean` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`ssbe_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`ssbe_openid` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '微信openid',
|
||
`ssbe_playerid` int NOT NULL COMMENT '玩家id',
|
||
`ssbe_amount` int NOT NULL COMMENT '充值数量',
|
||
`ssbe_selltime` datetime NOT NULL COMMENT '充值时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
INDEX `sales_sellbill_bean_index`(`ssbe_agentid` ASC, `ssbe_openid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 4 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',
|
||
`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 `sales_transferbill_index`(`satr_agentid` ASC, `satr_openid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 3986 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,
|
||
`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` int NULL DEFAULT 0,
|
||
`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 '用户密码',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `salesman_index1`(`saus_agentid` ASC, `saus_openid` ASC) USING BTREE,
|
||
UNIQUE INDEX `salesman_index2`(`saus_agentid` ASC, `saus_unionid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 55084 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '公众号用户表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for task
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `task`;
|
||
CREATE TABLE `task` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`task_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`task_taskid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '任务id',
|
||
`task_type` tinyint(1) NOT NULL COMMENT '类型 0-针对玩家的每日任务 1-针对玩家的限时任务 2-针对玩家的不限时不限量任务(奖励=tapl_finish*task_award) 3-针对玩家的不限时不限量任务(奖励=tapl_finish)',
|
||
`task_title` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '标题',
|
||
`task_memo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '描述',
|
||
`task_total` int NOT NULL COMMENT '任务量',
|
||
`task_award` int NOT NULL COMMENT '完成任务的奖励房卡数量',
|
||
`task_begintime` datetime NULL DEFAULT NULL COMMENT '限时任务的开始时间',
|
||
`task_endtime` datetime NULL DEFAULT NULL COMMENT '限时任务的截止时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `task_index`(`task_agentid` ASC, `task_taskid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 294 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '任务表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for task_player
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `task_player`;
|
||
CREATE TABLE `task_player` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`tapl_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '代理商id',
|
||
`tapl_playerid` int NOT NULL COMMENT '玩家id',
|
||
`tapl_taskid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '任务id',
|
||
`tapl_finish` int NULL DEFAULT 0 COMMENT '任务完成量',
|
||
`tapl_state` tinyint(1) NULL DEFAULT 0 COMMENT '任务状态 0-待完成 1-已完成 2-奖励已领取',
|
||
`tapl_createtime` datetime NOT NULL COMMENT '任务领取时间',
|
||
`tapl_finishtime` datetime NULL DEFAULT NULL COMMENT '任务完成时间',
|
||
`tapl_awardtime` datetime NULL DEFAULT NULL COMMENT '奖励领取时间',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `task_player_index`(`tapl_agentid` ASC, `tapl_playerid` ASC, `tapl_taskid` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 2218964 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '玩家任务完成表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for test
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `test`;
|
||
CREATE TABLE `test` (
|
||
`player_id` int NULL DEFAULT NULL
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 1464 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for test2
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `test2`;
|
||
CREATE TABLE `test2` (
|
||
`player_id` int NULL DEFAULT NULL
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 5556 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
|
||
|
||
-- ----------------------------
|
||
-- Table structure for topup_card
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `topup_card`;
|
||
CREATE TABLE `topup_card` (
|
||
`idx` int NOT NULL AUTO_INCREMENT,
|
||
`toca_cardno` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '卡号 32位随机字符 + 1位卡类型 + 充值数量',
|
||
`toca_state` tinyint(1) NULL DEFAULT 0 COMMENT '0-未使用 1-已使用',
|
||
`toca_usetime` datetime NULL DEFAULT NULL COMMENT '使用时间',
|
||
`toca_agentid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '使用的代理id',
|
||
`toca_playerid` int NULL DEFAULT NULL COMMENT '使用的玩家id',
|
||
PRIMARY KEY (`idx`) USING BTREE,
|
||
UNIQUE INDEX `topup_card_index`(`toca_cardno` ASC) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 184 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '充值卡表' ROW_FORMAT = DYNAMIC;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_login
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_login`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_login`(IN `user` varchar(100) charset utf8 collate utf8_general_ci ,IN `pwd` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '运营商登录'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentid varchar(32); -- 代理商id
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare paymenttotal decimal(10,2); -- 收益总流水
|
||
declare sharingrate int(11); -- 分成比例
|
||
declare profittotal decimal(10,2); -- 收益总金额
|
||
declare playercount int(11); -- 玩家总数
|
||
declare newplayer int(11); -- 当月新增玩家数量
|
||
declare salecount int(11); -- 个人代理总数
|
||
declare newsale int(11); -- 当月新增个人代理数量
|
||
|
||
set result = 0;
|
||
|
||
-- 总流水、分成比例、总收益
|
||
select agen_agentid, agen_name, agen_selftotal, agen_sharingrate, cast(agen_selftotal * agen_sharingrate / 100 as decimal(10,2))
|
||
into agentid, agentname, paymenttotal, sharingrate, profittotal
|
||
from agent
|
||
where agen_user = user and agen_pwd = pwd;
|
||
|
||
if isnull(agentid) then
|
||
set result = 1;
|
||
set error = '账号或密码错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 玩家总人数统计
|
||
select count(1) into playercount
|
||
from player
|
||
where play_agentid = agentid;
|
||
|
||
-- 当月新增玩家人数
|
||
select count(1) into newplayer
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_regtime >= date_add(curdate(), interval - day(curdate()) + 1 day);
|
||
|
||
-- 统计个人代理总数
|
||
select count(1) into salecount
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesman = 1;
|
||
|
||
-- 统计当月新增个人代理数量
|
||
select count(1) into newsale
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesman = 1
|
||
and saus_saletime >= date_add(curdate(), interval - day(curdate()) + 1 day);
|
||
|
||
select result, error, agentid, agentname, paymenttotal, sharingrate, profittotal, playercount, newplayer, salecount, newsale;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_player_game
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_player_game`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_player_game`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '按游戏统计玩家数量和房卡消耗数量'
|
||
begin
|
||
select agpl_gameid as gameid, game_name as gamename, count(1) as playercount, sum(agpl_usecard) as useroomcard
|
||
from agent_game_player
|
||
inner join game on game_gameid = agpl_gameid
|
||
where agpl_agentid = agentid
|
||
group by gameid, gamename;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_player_max
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_player_max`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_player_max`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '按月度统计同时在线玩家数量峰值和房间峰值'
|
||
begin
|
||
-- 最近12个月按月度统计同时在线玩家数量峰值和房间峰值
|
||
select date_format(aggo_datetime, "%Y-%m") as month, max(aggo_onlineplayer) as maxplayer, max(aggo_onlineroom) as maxroom
|
||
from agent_game_online
|
||
where aggo_agentid = agentid
|
||
group by month
|
||
order by month desc limit 12;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_player_month
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_player_month`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_player_month`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '按月度统计新增玩家数量'
|
||
begin
|
||
-- 最近12个月按月度统计新增玩家数量
|
||
select date_format(play_regtime, "%Y-%m") as month, count(1) as newplayer
|
||
from player
|
||
where play_agentid = agentid
|
||
group by month
|
||
order by month desc limit 12;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_profit_month
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_profit_month`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_profit_month`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '按月度统计流水'
|
||
begin
|
||
-- 最近12个月按月度统计收益
|
||
select date_format(sabu_paytime, "%Y-%m" ) as month, sum(sabu_paymoney) as money
|
||
from sales_buybill
|
||
where sabu_agentid = agentid
|
||
and sabu_paystate = 1
|
||
group by month
|
||
order by month desc limit 12;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_profit_product
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_profit_product`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_profit_product`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '按产品统计流水'
|
||
begin
|
||
select sales_product.idx as idx, sabu_productid as productid,
|
||
concat(sapr_money, '元', sapr_amount, '张') as productname,
|
||
sum(sabu_paymoney) as money, count(1) as times
|
||
from sales_buybill
|
||
inner join sales_product on sapr_agentid = sabu_agentid
|
||
and sapr_productid = sabu_productid
|
||
where sabu_agentid = agentid
|
||
and sabu_paystate = 1
|
||
group by idx, productid, productname
|
||
order by idx;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_sale_month
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_sale_month`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_sale_month`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '按月度统计新增个人代理数量'
|
||
begin
|
||
-- 最近12个月按月度统计新增个人代理数量
|
||
select date_format(saus_saletime, "%Y-%m") as month, count(1) as newsale
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesman = 1
|
||
and saus_saletime is not null
|
||
group by month
|
||
order by month desc limit 12;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_agent_updatepwd
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_agent_updatepwd`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_agent_updatepwd`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `oldpwd` varchar(100) charset utf8 collate utf8_general_ci ,IN `newpwd` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '修改运营商登录密码'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid and agen_pwd = oldpwd) then
|
||
set result = 1;
|
||
set error = '原密码不正确';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update agent set agen_pwd = newpwd where agen_agentid = agentid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_bind_player_wechat
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_bind_player_wechat`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_bind_player_wechat`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,
|
||
IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,
|
||
IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,
|
||
IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,
|
||
IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,
|
||
IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,
|
||
IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,
|
||
IN `sex` int(11) ,
|
||
IN `province` varchar(100) charset utf8 collate utf8_general_ci ,
|
||
IN `city` varchar(100) charset utf8 collate utf8_general_ci ,
|
||
IN `marketid` varchar(100) charset utf8 collate utf8_general_ci ,
|
||
IN `telphone` varchar(20) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '绑定手机号'
|
||
begin
|
||
declare playerid int(8);
|
||
|
||
select play_playerid into playerid from player where play_agentid = agentid and play_unionid = unionid limit 1;
|
||
|
||
if not isnull(playerid) then
|
||
update player set play_tel = '' where play_agentid = agentid and play_tel = telphone and play_playerid <> playerid;
|
||
update player set play_nickname = nickname, play_avatar = avatar, play_tel = telphone
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
select 1 as result, '更新成功' as msg;
|
||
else
|
||
if exists(select 1 from player where play_agentid = agentid and play_tel = telphone) then
|
||
select -1 as result, '手机号已存在' as msg;
|
||
else
|
||
call cp_game_player_login_1121(agentid, channelid, gameid, openid, unionid, nickname, avatar, sex, province, city, marketid, telphone);
|
||
end if;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_1_agent
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_1_agent`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_1_agent`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `agentname` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '检验代理商是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set agentname = null;
|
||
|
||
select agen_name into agentname from agent where agen_agentid = agentid limit 1;
|
||
if isnull(agentname) then
|
||
set result = 1;
|
||
set error = '运营商不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_2_player
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_2_player`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_2_player`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `playername` varchar(100) charset utf8 collate utf8_general_ci ,OUT `roomcard` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '检验代理商是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set playername = null;
|
||
set roomcard = 0;
|
||
|
||
select play_nickname, play_roomcard into playername, roomcard
|
||
from player where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
|
||
if isnull(playername) then
|
||
set result = 2;
|
||
set error = '玩家不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_3_game
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_3_game`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_3_game`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `gamename` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '检验代理商是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set gamename = null;
|
||
|
||
select game_name into gamename from game where game_agentid = agentid and game_gameid = gameid limit 1;
|
||
if isnull(gamename) then
|
||
set result = 3;
|
||
set error = '游戏不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_4_salesuser
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_4_salesuser`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_4_salesuser`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `username` varchar(100) charset utf8 collate utf8_general_ci ,OUT `salesman` tinyint(1))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '微信公众号用户是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set username = null;
|
||
set salesman = null;
|
||
|
||
select saus_nickname, saus_salesman into username, salesman
|
||
from sales_user where saus_agentid = agentid and saus_openid = openid limit 1;
|
||
|
||
if isnull(username) then
|
||
set result = 4;
|
||
set error = '用户不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_5_product
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_5_product`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_5_product`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `productid` varchar(32) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `productname` varchar(100) charset utf8 collate utf8_general_ci ,OUT `productamount` int(11) ,OUT `productmoney` decimal(10,2))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '检验代理商是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set productname = null;
|
||
set productamount = 0;
|
||
set productmoney = 0;
|
||
|
||
select sapr_name, sapr_amount, sapr_money into productname, productamount, productmoney
|
||
from sales_product where sapr_agentid = agentid and sapr_productid = productid limit 1;
|
||
|
||
if isnull(productname) then
|
||
set result = 5;
|
||
set error = '房卡产品不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_6_buybill
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_6_buybill`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_6_buybill`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `billcode` varchar(50) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `billtype` tinyint(1) ,OUT `playerid` int(8) ,OUT `playername` varchar(100) charset utf8 collate utf8_general_ci ,OUT `amount` int(11) ,OUT `money` decimal(10,2) ,OUT `paystate` tinyint(1))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '检验购卡订单是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set billtype = null;
|
||
set playerid = null;
|
||
set playername = null;
|
||
set money = null;
|
||
set amount = null;
|
||
|
||
select sabu_billtype, sabu_playerid, sabu_playername, sabu_amount, sabu_money, sabu_paystate
|
||
into billtype, playerid, playername, amount, money, paystate
|
||
from sales_buybill where sabu_agentid = agentid and sabu_billcode = billcode limit 1;
|
||
|
||
if isnull(billtype) then
|
||
set result = 6;
|
||
set error = '订单不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_7_salesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_7_salesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_7_salesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `roomcard` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '微信公众号用户是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set roomcard = null;
|
||
|
||
select saus_roomcard into roomcard
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid and saus_salesman = 1 limit 1;
|
||
|
||
if isnull(roomcard) then
|
||
set result = 7;
|
||
set error = '不是个人代理';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_8_task
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_8_task`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_8_task`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `taskid` varchar(100) charset utf8 collate utf8_general_ci ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `tasktype` tinyint(1) ,OUT `total` int(8) ,OUT `award` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '任务是否存在和有效'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set award = null;
|
||
|
||
select task_type, task_total, task_award into tasktype, total, award
|
||
from task
|
||
where task_agentid = agentid
|
||
and task_taskid = taskid
|
||
and ((task_type = 0)
|
||
or ((task_type = 1) and
|
||
(task_begintime is null or now() >= task_begintime) and
|
||
(task_endtime is null or now() <= task_endtime)
|
||
)
|
||
or (task_type = 2)
|
||
or (task_type = 3)
|
||
);
|
||
|
||
if isnull(award) then
|
||
set result = 8;
|
||
set error = '任务不存在或已过期';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_check_9_salesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_check_9_salesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_check_9_salesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `salesid` int(8) ,OUT `result` tinyint(1) ,OUT `error` varchar(100) charset utf8 collate utf8_general_ci ,OUT `salesname` varchar(100) charset utf8 collate utf8_general_ci ,OUT `roomcard` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '个人代理是否存在'
|
||
begin
|
||
set result = 0;
|
||
set error = '';
|
||
set salesname = null;
|
||
set roomcard = null;
|
||
|
||
select saus_nickname, saus_roomcard into salesname, roomcard
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_salesid = salesid and saus_salesman = 1 limit 1;
|
||
|
||
if isnull(roomcard) then
|
||
set result = 9;
|
||
set error = '代理id不存在';
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_add_bean
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_add_bean`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_add_bean`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `amount` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '加豆豆(第三方接口)'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare bean int(8);
|
||
|
||
set result = 0;
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = 'agentid不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set bean = null;
|
||
select play_bean into bean from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
if isnull(bean) then
|
||
set result = 1;
|
||
set error = 'player不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_bean = play_bean + amount
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select result, agentid, playerid, amount, bean + amount as bean;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_binding_invitecode
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_binding_invitecode`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_binding_invitecode`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `invitecode` int(8) ,IN `invitecodetype` tinyint(1))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏记录地理位置'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare playerchannelid varchar(32); -- 渠道商id
|
||
declare playerunionid varchar(50); -- 玩家的unionid
|
||
declare playername varchar(100); -- 玩家昵称
|
||
declare playerroomcard int(11); -- 玩家房卡数量
|
||
declare salesid int(8); -- 邀请码对应的代理id
|
||
declare _invitecode int(8); -- 已经绑定的邀请码
|
||
|
||
declare _len int(8); -- 要绑定的邀请码的长度
|
||
declare _type tinyint(1); -- 要绑定的邀请码的类型
|
||
declare _unionid varchar(50);
|
||
declare _code int(8); -- 要绑定的个人代理id
|
||
declare _id int(8); -- 要绑定的玩家id
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 确定要绑定的邀请码是个人代理id还是玩家id
|
||
set _len = length(invitecode);
|
||
if _len < 8 then
|
||
set _type = invitecodetype;
|
||
else
|
||
set _type = 0;
|
||
end if;
|
||
|
||
-- 检验邀请码
|
||
if _type = 0 then
|
||
-- 绑定的邀请码是个人代理id
|
||
select saus_unionid into _unionid
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_salesid = invitecode and saus_salesman = 1 limit 1;
|
||
|
||
if isnull(_unionid) then
|
||
set result = 10;
|
||
set error = '邀请码不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set _code = invitecode;
|
||
|
||
select play_playerid into _id
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = _unionid limit 1;
|
||
else
|
||
-- 绑定的邀请码是玩家id
|
||
select play_unionid into _unionid
|
||
from player
|
||
where play_agentid = agentid and play_playerid = invitecode limit 1;
|
||
|
||
if isnull(_unionid) then
|
||
set result = 10;
|
||
set error = '邀请码不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set _id = invitecode;
|
||
|
||
select saus_salesid into _code
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_unionid = _unionid limit 1;
|
||
end if;
|
||
|
||
-- 检查是否已经绑定了邀请码
|
||
select play_invitecode into _invitecode
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
if isnull(_invitecode) then
|
||
update player set play_invitecode = _code, play_inviteid = _id
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select play_channelid, play_unionid into playerchannelid, playerunionid
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
insert into ct_user_process_log(uspl_agentid, uspl_channelid, uspl_playerid, uspl_unionid, uspl_opt, uspl_optdata, uspl_opttime)
|
||
values(agentid, playerchannelid, playerid, playerunionid, 2, _code, now());
|
||
|
||
-- 完成绑定邀请码任务
|
||
call cp_game_task_finish(agentid, playerid, 'UEFsfbv29YnlacKLo0mjomK48Bv82hGv', 1, 0);
|
||
|
||
set result = 0;
|
||
set error = '绑定邀请码成功';
|
||
else
|
||
set result = 21;
|
||
set error = '已经绑定过邀请码,不能再次绑定';
|
||
end if;
|
||
|
||
select result, error, _code, _id;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_change_bankstar
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_change_bankstar`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_change_bankstar`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `bankpwd` varchar(10) charset utf8 collate utf8_general_ci ,IN `domode` tinyint(1) ,IN `amount` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '存入或取出银行金币'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare _playerid int(8);
|
||
declare _playerbean int(11);
|
||
declare _playerbank int(11);
|
||
declare _playerpwd varchar(10);
|
||
set result = 0;
|
||
|
||
if amount < 0 then
|
||
set result = 1;
|
||
set error = '数量不能为负数';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select play_playerid, play_bean, play_bank, play_bankpwd
|
||
into _playerid, _playerbean, _playerbank, _playerpwd
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
|
||
if isnull(_playerid) then
|
||
set result = 1;
|
||
set error = '玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if bankpwd <> _playerpwd then
|
||
set result = 1;
|
||
set error = '密码不正确';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if domode = 0 then
|
||
if amount > _playerbean then
|
||
set result = 1;
|
||
set error = '数量不够';
|
||
select result, error;
|
||
leave label_cp;
|
||
else
|
||
update player set play_bean = ifnull(play_bean, 0) - amount,
|
||
play_bank = ifnull(play_bank, 0) + amount
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end if;
|
||
else
|
||
if amount > _playerbank then
|
||
set result = 1;
|
||
set error = '数量不够';
|
||
select result, error;
|
||
leave label_cp;
|
||
else
|
||
update player set play_bean = ifnull(play_bean, 0) + amount,
|
||
play_bank = ifnull(play_bank, 0) - amount
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end if;
|
||
end if;
|
||
|
||
-- 返回执行结果
|
||
select result, error, play_bean, play_bank
|
||
from player where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_deduct_roomcard
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_deduct_roomcard`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_deduct_roomcard`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `deduct` int(8) ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '第一小局结算后扣除房主开房所需的房卡'
|
||
begin
|
||
declare error int default 0;
|
||
|
||
-- 如果出现异常也继续执行
|
||
declare continue handler for sqlexception set error = 1;
|
||
|
||
-- 启动事务
|
||
start transaction;
|
||
|
||
if deduct > 0 then
|
||
update player set play_roomcard = play_roomcard - deduct,
|
||
play_usecard = play_usecard + deduct
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
update agent_game_player set agpl_usecard = agpl_usecard + deduct
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
-- 按日期统计房卡消耗数量
|
||
call cp_report_game_day(agentid, gameid, now(), 1, deduct, null);
|
||
end if;
|
||
|
||
-- 运行没有异常,提交事务
|
||
if error = 1 then
|
||
rollback;
|
||
else
|
||
commit;
|
||
end if;
|
||
|
||
select playerid, play_roomcard as roomcard, deduct
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_del_timeout_task
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_del_timeout_task`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_del_timeout_task`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '删除过期任务'
|
||
begin
|
||
if isnull(agentid) then
|
||
delete task_player
|
||
from task_player, task
|
||
where task_agentid = tapl_agentid
|
||
and task_taskid = tapl_taskid
|
||
-- 每日任务
|
||
and ((task_type = 0 and datediff(tapl_createtime, curdate()) <> 0)
|
||
-- 限时任务
|
||
or (task_type = 1 and ((task_begintime is not null and tapl_createtime < task_begintime)
|
||
or (task_endtime is not null and tapl_createtime > task_endtime)
|
||
)
|
||
)
|
||
);
|
||
else
|
||
-- 删除所有人的过期任务
|
||
delete task_player
|
||
from task_player, task
|
||
where tapl_agentid = agentid
|
||
and task_agentid = agentid
|
||
and task_taskid = tapl_taskid
|
||
-- 每日任务
|
||
and ((task_type = 0 and datediff(tapl_createtime, curdate()) <> 0)
|
||
-- 限时任务
|
||
or (task_type = 1 and ((task_begintime is not null and tapl_createtime < task_begintime)
|
||
or (task_endtime is not null and tapl_createtime > task_endtime)
|
||
)
|
||
)
|
||
);
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_get_player_invitecode
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_get_player_invitecode`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_get_player_invitecode`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取玩家绑定的邀请码'
|
||
begin
|
||
declare invitecode int(8);
|
||
|
||
select play_invitecode into invitecode
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
if isnull(invitecode) then
|
||
call cp_game_get_player_invitecode_insales(agentid, playerid, unionid, invitecode);
|
||
end if;
|
||
|
||
select invitecode;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_get_player_invitecode_insales
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_get_player_invitecode_insales`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_get_player_invitecode_insales`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,OUT `invitecode` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取玩家绑定的邀请码'
|
||
begin
|
||
-- 看是否自动绑定过邀请码
|
||
if isnull(invitecode) then
|
||
select saus_invitecode into invitecode
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_unionid = unionid;
|
||
|
||
if not isnull(invitecode) then
|
||
update player set play_invitecode = invitecode
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
|
||
-- 完成绑定邀请码任务
|
||
call cp_game_task_finish(agentid, playerid, 'UEFsfbv29YnlacKLo0mjomK48Bv82hGv', 1, 0);
|
||
end if;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_get_player_taskstate
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_get_player_taskstate`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_get_player_taskstate`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,OUT `taskstate` tinyint(1))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '删除过期任务,获取玩家当天的任务状态'
|
||
begin
|
||
-- 获取玩家的任务状态
|
||
set taskstate = 0;
|
||
|
||
if exists(select 1 from task_player
|
||
where tapl_agentid = agentid
|
||
and tapl_playerid = playerid
|
||
and tapl_state = 1
|
||
) then
|
||
-- 有任务已完成可领取奖励
|
||
set taskstate = 2;
|
||
elseif exists(select 1 from task
|
||
where task_agentid = agentid
|
||
and ((task_type = 0)
|
||
or (task_type = 1 and
|
||
(task_begintime is null or now() >= task_begintime) and
|
||
(task_endtime is null or now() <= task_endtime)
|
||
)
|
||
)
|
||
and not exists(select 1 from task_player
|
||
where tapl_agentid = agentid
|
||
and tapl_playerid = playerid
|
||
and tapl_taskid = task_taskid)
|
||
) then
|
||
-- 有任务未完成
|
||
set taskstate = 1;
|
||
elseif exists(select 1 from task_player, task
|
||
where tapl_agentid = agentid
|
||
and tapl_playerid = playerid
|
||
and tapl_state = 0
|
||
and task_agentid = agentid
|
||
and task_taskid = tapl_taskid
|
||
and task_type in (0, 1)
|
||
) then
|
||
-- 有任务未完成
|
||
set taskstate = 1;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_grade_robot
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_grade_robot`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_grade_robot`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `grade` int(11) ,IN `beanmult` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '累计机器人的星星输赢'
|
||
begin
|
||
if exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = 999999) then
|
||
update agent_game_player
|
||
set agpl_playset_xx = agpl_playset_xx + 1,
|
||
agpl_winlose_xx = agpl_winlose_xx + if(beanmult = 0, 0, grade div beanmult),
|
||
agpl_winlose_x2 = agpl_winlose_x2 + grade,
|
||
agpl_lasttime = now()
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = 999999 limit 1;
|
||
else
|
||
insert into agent_game_player(agpl_agentid, agpl_gameid, agpl_playerid, agpl_openid,
|
||
agpl_firsttime, agpl_lasttime, agpl_playset_xx, agpl_winlose_xx, agpl_winlose_x2)
|
||
values(agentid, gameid, 999999, 'robot', now(), now(), 1, grade, if(beanmult = 0, 0, grade div beanmult));
|
||
end if;
|
||
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_login_location
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_login_location`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_login_location`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `country` varchar(100) charset utf8 collate utf8_general_ci ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci ,IN `citycode` varchar(20) charset utf8 collate utf8_general_ci ,IN `district` varchar(100) charset utf8 collate utf8_general_ci ,IN `street` varchar(100) charset utf8 collate utf8_general_ci ,IN `address` varchar(200) charset utf8 collate utf8_general_ci ,IN `latitude` varchar(20) charset utf8 collate utf8_general_ci ,IN `longitude` varchar(20) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏记录地理位置'
|
||
begin
|
||
declare _channelid varchar(32); -- 玩家所属的渠道id
|
||
declare _citycode varchar(20); -- 已记录的城市编号
|
||
declare _invitecode int(8); -- 已绑定的邀请码
|
||
|
||
declare city_wechatgzh varchar(100); -- 城市公众号
|
||
declare city_wechatewm varchar(100); -- 城市公众号二维码图片地址
|
||
declare city_wechatkfh varchar(50); -- 城市客服微信
|
||
declare city_qq varchar(50); -- 城市客服QQ
|
||
declare city_tel varchar(50); -- 城市客服电话
|
||
|
||
select play_channelid, play_a_citycode, play_invitecode
|
||
into _channelid, _citycode, _invitecode
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
if isnull(_citycode) then
|
||
-- 记录第一次登录时的城市
|
||
update player set play_a_country = country, play_a_province = province,
|
||
play_a_city = city, play_a_citycode = citycode,
|
||
play_a_district = district, play_a_street = street,
|
||
play_a_address = address
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
-- 获取城市的联系方式
|
||
select agcc_WechatPublicNo, agcc_wechat_ewm, agcc_service_wechat, agcc_service_qq, agcc_service_tel
|
||
into city_wechatgzh, city_wechatewm, city_wechatkfh, city_qq, city_tel
|
||
from agent_channel_city
|
||
where agcc_agentid = agentid
|
||
and agcc_channelid = _channelid
|
||
and agcc_citycode = citycode;
|
||
end if;
|
||
|
||
if isnull(_invitecode) then
|
||
-- 自动绑定邀请码
|
||
select ifnull(agcc_invitecode, agch_invitecode)
|
||
into _invitecode
|
||
from agent_channel, agent_channel_city
|
||
where agch_agentid = agentid
|
||
and agch_channelid = _channelid
|
||
and agcc_agentid = agentid
|
||
and agcc_channelid = _channelid
|
||
and agcc_citycode = citycode;
|
||
|
||
if not isnull(_invitecode) then
|
||
update player set play_invitecode = _invitecode
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
|
||
-- 完成绑定邀请码任务
|
||
call cp_game_task_finish(agentid, playerid, 'UEFsfbv29YnlacKLo0mjomK48Bv82hGv', 1, 0);
|
||
end if;
|
||
end if;
|
||
|
||
update player set play_longitude = longitude, play_latitude = latitude
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select city_wechatgzh as wechatgzh, city_wechatewm as wechatewm,
|
||
city_wechatkfh as wechatkfh, city_qq as qq, city_tel as tel,
|
||
_invitecode as invitecode;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_login_phoneinfo
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_login_phoneinfo`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_login_phoneinfo`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `info` varchar(8000) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏记录手机信息'
|
||
begin
|
||
update player set play_phoneinfo = info where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_pay_succ
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_pay_succ`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_pay_succ`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `billcode` varchar(50) charset utf8 collate utf8_general_ci ,IN `productid` varchar(32) charset utf8 collate utf8_general_ci ,IN `payid` varchar(100) charset utf8 collate utf8_general_ci ,IN `amount` int(11) ,IN `money` decimal(10,2) ,IN `createtime` datetime ,IN `paymoney` decimal(10,2) ,IN `paytime` datetime ,IN `paytype` tinyint(1) ,IN `transid` varchar(100) charset utf8 collate utf8_general_ci ,IN `outtradeNo` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '游戏中支付成功'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare playername varchar(100); -- 玩家昵称
|
||
declare playerroomcard int(11); -- 玩家房卡数量
|
||
declare roomcard int(11); -- 购卡后房卡数量
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 获取渠道商id
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid into channelid from agent_channel where agch_agentid = agentid order by idx limit 1;
|
||
end if;
|
||
|
||
-- 保存订单
|
||
insert into game_buybill(gabu_agentid, gabu_playerid, gabu_channelid,
|
||
gabu_billcode, gabu_productid, gabu_payid,
|
||
gabu_amount, gabu_money, gabu_createtime,
|
||
gabu_paystate, gabu_paymoney, gabu_paytime,
|
||
gabu_paytype, gabu_transid, gabu_outtradeNo)
|
||
values(agentid, playerid, channelid, billcode, productid, payid, amount, money,
|
||
createtime, 1, paymoney, paytime, paytype, transid, outtradeNo);
|
||
|
||
-- 统计总流水
|
||
update agent set agen_selftotal = agen_selftotal + paymoney where agen_agentid = agentid;
|
||
|
||
-- 按日期统计房卡销售金额
|
||
call cp_report_agent_day(agentid, 3, paymoney);
|
||
|
||
-- 修改玩家房卡数量
|
||
update player set play_roomcard = play_roomcard + amount
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 返回玩家购卡后的房卡数量
|
||
select play_roomcard into roomcard from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 返回执行结果
|
||
select result, error, playerid, playername, amount, roomcard;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_player_advanced
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_player_advanced`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_player_advanced`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `advanced` tinyint(3) ,IN `shortcode` int(6) ,IN `desone` varchar(400) charset utf8 collate utf8_general_ci ,IN `destwo` varchar(400) charset utf8 collate utf8_general_ci ,IN `lowlimit` int(11) ,IN `notice` varchar(400) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '设置玩家的短号'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) then
|
||
set result = 2;
|
||
set error = '玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player
|
||
set play_shortcode = null, play_advanced = 0, play_roomcodes = null,
|
||
play_desone = null, play_destwo = null,
|
||
play_limit = null, play_notice = null
|
||
where play_agentid = agentid
|
||
and play_shortcode = shortcode;
|
||
|
||
update player set play_advanced = advanced, play_shortcode = shortcode,
|
||
play_desone = desone, play_destwo = destwo,
|
||
play_limit = lowlimit, play_notice = notice
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
|
||
-- 返回执行结果
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_player_login
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_player_login`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_player_login`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` int(11) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci ,IN `marketid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏'
|
||
begin
|
||
declare playerid int(8); -- 玩家id
|
||
declare roomcard int(11); -- 玩家房卡数量
|
||
declare bean int(11); -- 玩家元宝数量
|
||
declare playertype int(1); -- 玩家类型
|
||
declare score int(11); -- 积分
|
||
declare invitecode int(8); -- 绑定的邀请码
|
||
declare state tinyint(1); -- 封禁状态
|
||
declare advanced tinyint(3); -- 创建固定房间的权限
|
||
declare shortcode int(6); -- 房间短号
|
||
declare roomcodes varchar(4000);-- 固定房号
|
||
declare desone varchar(400);
|
||
declare destwo varchar(400);
|
||
declare whitelist varchar(8000);-- 短号白名单
|
||
declare lowlimit int(11); -- 短号房魅力值下限
|
||
declare notice varchar(400); -- 短号房公告
|
||
declare optdata varchar(2000);
|
||
declare nn_winlose int(11); -- 牛牛游戏得分
|
||
declare nn_winlose_xx int(11); -- 牛牛游戏得分(星星场)
|
||
declare nn_winlose_x2 int(11);
|
||
declare bankpower tinyint(1); -- 金币银行权限
|
||
declare bank int(11); -- 金币银行中的金币数量
|
||
declare bankpwd varchar(10);-- 金币银行密码
|
||
|
||
declare game_winlose int(11); -- 游戏得分
|
||
declare game_winlose_xx int(11); -- 游戏得分(星星场)
|
||
declare game_winlose_x2 int(11); -- 游戏星星输赢
|
||
declare psign varchar(400);
|
||
|
||
-- 如果出现异常,自动退出并rollback
|
||
declare exit handler for sqlexception ROLLBACK;
|
||
|
||
-- 启动事务
|
||
start transaction;
|
||
|
||
-- 检查是否是新玩家
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,play_sign
|
||
into playerid, roomcard, bean, playertype, score, invitecode, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice,psign
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid limit 1;
|
||
|
||
if isnull(playerid) then
|
||
-- 新玩家
|
||
update agent set agen_maxplayerid = agen_maxplayerid + 1 where agen_agentid = agentid limit 1;
|
||
|
||
select agen_maxplayerid, agen_initroomacard, agen_initbean into playerid, roomcard, bean
|
||
from agent where agen_agentid = agentid limit 1;
|
||
|
||
-- 随机取一个不存在的玩家id作为新的玩家id(200000-899999)
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
while exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) do
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
end while;
|
||
|
||
insert into player(play_agentid, play_playerid, play_channelid, play_openid,
|
||
play_unionid, play_nickname, play_avatar, play_sex,
|
||
play_province, play_city, play_regtime, play_lasttime,
|
||
play_roomcard, play_bean, play_marketid)
|
||
values(agentid, playerid, channelid, openid, unionid, nickname, avatar, sex,
|
||
province, city, now(), now(), roomcard, bean, marketid);
|
||
|
||
set optdata = CONCAT('{"openid":"', openid, '", "unionid":"', unionid, '", "nickname":"', ifnull(nickname, ''), '","avatar":"', ifnull(avatar, ''), '","sex":', ifnull(sex, 0), ',"province":"', ifnull(province, ''), '","city":"', ifnull(city, ''), '"}');
|
||
insert into ct_user_process_log(uspl_agentid, uspl_channelid, uspl_playerid, uspl_unionid, uspl_opt, uspl_optdata, uspl_opttime)
|
||
values(agentid, channelid, playerid, unionid, 1, optdata, now());
|
||
|
||
select play_roomcard, play_bean, play_type, play_score, play_invitecode, play_state,
|
||
play_advanced, play_shortcode, play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,play_sign
|
||
into roomcard, bean, playertype, score, invitecode, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice,psign
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_agent_day(agentid, 0, 1);
|
||
else
|
||
-- 老玩家
|
||
update player set play_nickname = nickname, play_avatar = avatar, play_openid = openid,
|
||
play_sex = sex, play_province = province, play_city = city,
|
||
play_logindate = play_logindate + if(datediff(now(), play_lasttime) = 0, 0, 1),
|
||
play_lasttime = now()
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
end if;
|
||
|
||
-- 统计玩家的最后登录时间和累积登录天数
|
||
if not exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid) then
|
||
insert into agent_game_player(agpl_agentid, agpl_gameid, agpl_playerid, agpl_openid, agpl_firsttime, agpl_lasttime)
|
||
values(agentid, gameid, playerid, openid, now(), now());
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_game_day(agentid, gameid, now(), 0, 1, null);
|
||
else
|
||
update agent_game_player set agpl_logindate = agpl_logindate + if(datediff(now(), agpl_lasttime) = 0, 0, 1),
|
||
agpl_lasttime = now()
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
end if;
|
||
|
||
-- 看是否自动绑定过邀请码
|
||
if isnull(invitecode) then
|
||
call cp_game_get_player_invitecode_insales(agentid, playerid, unionid, invitecode);
|
||
end if;
|
||
|
||
-- 运行没有异常,提交事务
|
||
commit;
|
||
|
||
-- 返回执行结果
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into nn_winlose, nn_winlose_xx, nn_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into game_winlose, game_winlose_xx, game_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
-- and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select playerid, roomcard, bean, playertype, score, invitecode, state,
|
||
advanced, shortcode, roomcodes, whitelist,
|
||
nn_winlose, nn_winlose_xx, nn_winlose_x2, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice ,gameid,game_winlose, game_winlose_xx, game_winlose_x2,psign;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_player_login_1121
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_player_login_1121`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_player_login_1121`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` int(11) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci ,IN `marketid` varchar(100) charset utf8 collate utf8_general_ci ,IN `telphone` varchar(20) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏'
|
||
proc: begin
|
||
declare playerid int(8); -- 玩家id
|
||
declare roomcard int(11); -- 玩家房卡数量
|
||
declare bean int(11); -- 玩家元宝数量
|
||
declare playertype int(1); -- 玩家类型
|
||
declare score int(11); -- 积分
|
||
declare invitecode int(8); -- 绑定的邀请码
|
||
declare inviteid int(8); -- 绑定的邀请码
|
||
declare state tinyint(1); -- 封禁状态
|
||
declare advanced tinyint(3); -- 创建固定房间的权限
|
||
declare shortcode int(6); -- 房间短号
|
||
declare roomcodes varchar(4000);-- 固定房号
|
||
declare desone varchar(400);
|
||
declare destwo varchar(400);
|
||
declare whitelist varchar(8000);-- 短号白名单
|
||
declare lowlimit int(11); -- 短号房魅力值下限
|
||
declare notice varchar(400); -- 短号房公告
|
||
declare optdata varchar(2000);
|
||
declare nn_winlose int(11); -- 牛牛游戏得分
|
||
declare nn_winlose_xx int(11); -- 牛牛游戏得分(星星场)
|
||
declare nn_winlose_x2 int(11);
|
||
declare bankpower tinyint(1); -- 金币银行权限
|
||
declare bank int(11); -- 金币银行中的金币数量
|
||
declare bankpwd varchar(10);-- 金币银行密码
|
||
|
||
declare game_winlose int(11); -- 游戏得分
|
||
declare game_winlose_xx int(11); -- 游戏得分(星星场)
|
||
declare game_winlose_x2 int(11); -- 游戏星星输赢
|
||
|
||
declare psign varchar(400);
|
||
declare tel varchar(20); -- 绑定的手机号
|
||
|
||
-- 手机号登录时返回的额外信息
|
||
declare ret_nickname varchar(100);
|
||
declare ret_avatar varchar(200);
|
||
declare ret_openid varchar(100);
|
||
declare ret_sex int(11);
|
||
declare ret_province varchar(100);
|
||
declare ret_city varchar(100);
|
||
declare ret_logindate int(11);
|
||
declare ret_unionid varchar(100);
|
||
|
||
-- 如果出现异常,自动退出并rollback
|
||
declare exit handler for sqlexception ROLLBACK;
|
||
|
||
-- 启动事务
|
||
start transaction;
|
||
|
||
-- 检查是否是新玩家
|
||
if isnull(telphone) then
|
||
-- 微信授权或设备码登录
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_inviteid, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,
|
||
play_sign, play_tel
|
||
into playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid limit 1;
|
||
else
|
||
-- 手机号登录
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_inviteid, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,
|
||
play_sign, play_tel,
|
||
play_nickname, play_avatar, play_openid, play_sex, play_province, play_city, play_logindate, play_unionid
|
||
into playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel,
|
||
ret_nickname, ret_avatar, ret_openid, ret_sex, ret_province, ret_city, ret_logindate, ret_unionid
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_tel = telphone limit 1;
|
||
end if;
|
||
|
||
if isnull(playerid) then
|
||
-- 如果传入了手机号,但没找到记录,说明手机号未注册,不允许自动创建新号
|
||
if not isnull(telphone) then
|
||
rollback;
|
||
select -1 as result, '手机号未注册' as msg;
|
||
leave proc;
|
||
end if;
|
||
|
||
-- 新玩家
|
||
update agent set agen_maxplayerid = agen_maxplayerid + 1 where agen_agentid = agentid limit 1;
|
||
|
||
select agen_maxplayerid, agen_initroomacard, agen_initbean into playerid, roomcard, bean
|
||
from agent where agen_agentid = agentid limit 1;
|
||
|
||
-- 随机取一个不存在的玩家id作为新的玩家id(200000-899999)
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
while exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) do
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
end while;
|
||
|
||
insert into player(play_agentid, play_playerid, play_channelid, play_openid,
|
||
play_unionid, play_nickname, play_avatar, play_sex,
|
||
play_province, play_city, play_regtime, play_lasttime,
|
||
play_roomcard, play_bean, play_marketid, play_tel)
|
||
values(agentid, playerid, channelid, openid, unionid, nickname, avatar, sex,
|
||
province, city, now(), now(), roomcard, bean, marketid, telphone);
|
||
|
||
set optdata = CONCAT('{"openid":"', openid, '", "unionid":"', unionid, '", "nickname":"', ifnull(nickname, ''), '","avatar":"', ifnull(avatar, ''), '","sex":', ifnull(sex, 0), ',"province":"', ifnull(province, ''), '","city":"', ifnull(city, ''), '"}');
|
||
insert into ct_user_process_log(uspl_agentid, uspl_channelid, uspl_playerid, uspl_unionid, uspl_opt, uspl_optdata, uspl_opttime)
|
||
values(agentid, channelid, playerid, unionid, 1, optdata, now());
|
||
|
||
select play_roomcard, play_bean, play_type, play_score, play_invitecode, play_inviteid, play_state,
|
||
play_advanced, play_shortcode, play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice, play_sign, play_tel
|
||
into roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_agent_day(agentid, 0, 1);
|
||
else
|
||
-- 老玩家
|
||
if not isnull(telphone) then
|
||
-- 手机号登录,只更新登录时间,不修改用户信息
|
||
update player set play_logindate = play_logindate + if(datediff(now(), play_lasttime) = 0, 0, 1),
|
||
play_lasttime = now()
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
else
|
||
-- 微信/UnionID登录,更新用户信息
|
||
update player set play_nickname = nickname, play_avatar = avatar, play_openid = openid,
|
||
play_sex = sex, play_province = province, play_city = city,
|
||
play_logindate = play_logindate + if(datediff(now(), play_lasttime) = 0, 0, 1),
|
||
play_lasttime = now(), play_unionid = unionid
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
end if;
|
||
end if;
|
||
|
||
-- 统计玩家的最后登录时间和累积登录天数
|
||
if not exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid) then
|
||
insert into agent_game_player(agpl_agentid, agpl_gameid, agpl_playerid, agpl_openid, agpl_firsttime, agpl_lasttime)
|
||
values(agentid, gameid, playerid, openid, now(), now());
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_game_day(agentid, gameid, now(), 0, 1, null);
|
||
else
|
||
update agent_game_player set agpl_logindate = agpl_logindate + if(datediff(now(), agpl_lasttime) = 0, 0, 1),
|
||
agpl_lasttime = now()
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
end if;
|
||
|
||
-- 看是否自动绑定过邀请码
|
||
if isnull(invitecode) then
|
||
call cp_game_get_player_invitecode_insales(agentid, playerid, unionid, invitecode);
|
||
end if;
|
||
|
||
-- 运行没有异常,提交事务
|
||
commit;
|
||
|
||
-- 返回执行结果
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into nn_winlose, nn_winlose_xx, nn_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into game_winlose, game_winlose_xx, game_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
-- and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist,
|
||
nn_winlose, nn_winlose_xx, nn_winlose_x2, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice ,gameid,game_winlose,
|
||
game_winlose_xx, game_winlose_x2, psign, tel,
|
||
ret_nickname, ret_avatar, ret_openid, ret_sex, ret_province, ret_city, ret_logindate, ret_unionid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_player_login_1121_bak
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_player_login_1121_bak`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_player_login_1121_bak`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` int(11) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci ,IN `marketid` varchar(100) charset utf8 collate utf8_general_ci ,IN `telphone` varchar(20) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏'
|
||
begin
|
||
declare playerid int(8); -- 玩家id
|
||
declare roomcard int(11); -- 玩家房卡数量
|
||
declare bean int(11); -- 玩家元宝数量
|
||
declare playertype int(1); -- 玩家类型
|
||
declare score int(11); -- 积分
|
||
declare invitecode int(8); -- 绑定的邀请码
|
||
declare inviteid int(8); -- 绑定的邀请码
|
||
declare state tinyint(1); -- 封禁状态
|
||
declare advanced tinyint(3); -- 创建固定房间的权限
|
||
declare shortcode int(6); -- 房间短号
|
||
declare roomcodes varchar(4000);-- 固定房号
|
||
declare desone varchar(400);
|
||
declare destwo varchar(400);
|
||
declare whitelist varchar(8000);-- 短号白名单
|
||
declare lowlimit int(11); -- 短号房魅力值下限
|
||
declare notice varchar(400); -- 短号房公告
|
||
declare optdata varchar(2000);
|
||
declare nn_winlose int(11); -- 牛牛游戏得分
|
||
declare nn_winlose_xx int(11); -- 牛牛游戏得分(星星场)
|
||
declare nn_winlose_x2 int(11);
|
||
declare bankpower tinyint(1); -- 金币银行权限
|
||
declare bank int(11); -- 金币银行中的金币数量
|
||
declare bankpwd varchar(10);-- 金币银行密码
|
||
|
||
declare game_winlose int(11); -- 游戏得分
|
||
declare game_winlose_xx int(11); -- 游戏得分(星星场)
|
||
declare game_winlose_x2 int(11); -- 游戏星星输赢
|
||
|
||
declare psign varchar(400);
|
||
declare tel varchar(20); -- 绑定的手机号
|
||
|
||
-- 如果出现异常,自动退出并rollback
|
||
declare exit handler for sqlexception ROLLBACK;
|
||
|
||
-- 启动事务
|
||
start transaction;
|
||
|
||
-- 检查是否是新玩家
|
||
if isnull(telphone) then
|
||
-- 微信授权或设备码登录
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_inviteid, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,
|
||
play_sign, play_tel
|
||
into playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid limit 1;
|
||
else
|
||
-- 手机号登录
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_inviteid, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,
|
||
play_sign, play_tel
|
||
into playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_tel = telphone limit 1;
|
||
end if;
|
||
|
||
if isnull(playerid) then
|
||
-- 新玩家
|
||
update agent set agen_maxplayerid = agen_maxplayerid + 1 where agen_agentid = agentid limit 1;
|
||
|
||
select agen_maxplayerid, agen_initroomacard, agen_initbean into playerid, roomcard, bean
|
||
from agent where agen_agentid = agentid limit 1;
|
||
|
||
-- 随机取一个不存在的玩家id作为新的玩家id(200000-899999)
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
while exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) do
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
end while;
|
||
|
||
insert into player(play_agentid, play_playerid, play_channelid, play_openid,
|
||
play_unionid, play_nickname, play_avatar, play_sex,
|
||
play_province, play_city, play_regtime, play_lasttime,
|
||
play_roomcard, play_bean, play_marketid, play_tel)
|
||
values(agentid, playerid, channelid, openid, unionid, nickname, avatar, sex,
|
||
province, city, now(), now(), roomcard, bean, marketid, telphone);
|
||
|
||
set optdata = CONCAT('{"openid":"', openid, '", "unionid":"', unionid, '", "nickname":"', ifnull(nickname, ''), '","avatar":"', ifnull(avatar, ''), '","sex":', ifnull(sex, 0), ',"province":"', ifnull(province, ''), '","city":"', ifnull(city, ''), '"}');
|
||
insert into ct_user_process_log(uspl_agentid, uspl_channelid, uspl_playerid, uspl_unionid, uspl_opt, uspl_optdata, uspl_opttime)
|
||
values(agentid, channelid, playerid, unionid, 1, optdata, now());
|
||
|
||
select play_roomcard, play_bean, play_type, play_score, play_invitecode, play_inviteid, play_state,
|
||
play_advanced, play_shortcode, play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice, play_sign, play_tel
|
||
into roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_agent_day(agentid, 0, 1);
|
||
else
|
||
-- 老玩家
|
||
update player set play_nickname = nickname, play_avatar = avatar, play_openid = openid,
|
||
play_sex = sex, play_province = province, play_city = city,
|
||
play_logindate = play_logindate + if(datediff(now(), play_lasttime) = 0, 0, 1),
|
||
play_lasttime = now(), play_unionid = unionid
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
end if;
|
||
|
||
-- 统计玩家的最后登录时间和累积登录天数
|
||
if not exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid) then
|
||
insert into agent_game_player(agpl_agentid, agpl_gameid, agpl_playerid, agpl_openid, agpl_firsttime, agpl_lasttime)
|
||
values(agentid, gameid, playerid, openid, now(), now());
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_game_day(agentid, gameid, now(), 0, 1, null);
|
||
else
|
||
update agent_game_player set agpl_logindate = agpl_logindate + if(datediff(now(), agpl_lasttime) = 0, 0, 1),
|
||
agpl_lasttime = now()
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
end if;
|
||
|
||
-- 看是否自动绑定过邀请码
|
||
if isnull(invitecode) then
|
||
call cp_game_get_player_invitecode_insales(agentid, playerid, unionid, invitecode);
|
||
end if;
|
||
|
||
-- 运行没有异常,提交事务
|
||
commit;
|
||
|
||
-- 返回执行结果
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into nn_winlose, nn_winlose_xx, nn_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into game_winlose, game_winlose_xx, game_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
-- and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist,
|
||
nn_winlose, nn_winlose_xx, nn_winlose_x2, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice ,gameid,game_winlose,
|
||
game_winlose_xx, game_winlose_x2, psign, tel;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_player_login_test
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_player_login_test`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_player_login_test`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` int(11) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci ,IN `marketid` varchar(100) charset utf8 collate utf8_general_ci ,IN `telphone` varchar(20) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家登录游戏'
|
||
begin
|
||
declare playerid int(8); -- 玩家id
|
||
declare roomcard int(11); -- 玩家房卡数量
|
||
declare bean int(11); -- 玩家元宝数量
|
||
declare playertype int(1); -- 玩家类型
|
||
declare score int(11); -- 积分
|
||
declare invitecode int(8); -- 绑定的邀请码
|
||
declare inviteid int(8); -- 绑定的邀请码
|
||
declare state tinyint(1); -- 封禁状态
|
||
declare advanced tinyint(3); -- 创建固定房间的权限
|
||
declare shortcode int(6); -- 房间短号
|
||
declare roomcodes varchar(4000);-- 固定房号
|
||
declare desone varchar(400);
|
||
declare destwo varchar(400);
|
||
declare whitelist varchar(8000);-- 短号白名单
|
||
declare lowlimit int(11); -- 短号房魅力值下限
|
||
declare notice varchar(400); -- 短号房公告
|
||
declare optdata varchar(2000);
|
||
declare nn_winlose int(11); -- 牛牛游戏得分
|
||
declare nn_winlose_xx int(11); -- 牛牛游戏得分(星星场)
|
||
declare nn_winlose_x2 int(11);
|
||
declare bankpower tinyint(1); -- 金币银行权限
|
||
declare bank int(11); -- 金币银行中的金币数量
|
||
declare bankpwd varchar(10);-- 金币银行密码
|
||
|
||
declare game_winlose int(11); -- 游戏得分
|
||
declare game_winlose_xx int(11); -- 游戏得分(星星场)
|
||
declare game_winlose_x2 int(11); -- 游戏星星输赢
|
||
|
||
declare psign varchar(400);
|
||
declare tel varchar(20); -- 绑定的手机号
|
||
|
||
-- 如果出现异常,自动退出并rollback
|
||
declare exit handler for sqlexception ROLLBACK;
|
||
|
||
-- 启动事务
|
||
start transaction;
|
||
select 1, telphone;
|
||
-- 检查是否是新玩家
|
||
if isnull(telphone) then
|
||
-- 微信授权或设备码登录
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_inviteid, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,
|
||
play_sign, play_tel
|
||
into playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid limit 1;
|
||
select 2, playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel;
|
||
else
|
||
-- 手机号登录
|
||
select play_playerid, play_roomcard, play_bean, play_type, play_score,
|
||
play_invitecode, play_inviteid, play_state, play_advanced, play_shortcode,
|
||
play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice,
|
||
play_sign, play_tel
|
||
into playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_tel = telphone limit 1;
|
||
select 3, playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel;
|
||
end if;
|
||
|
||
if isnull(playerid) then
|
||
select 4;
|
||
-- 新玩家
|
||
update agent set agen_maxplayerid = agen_maxplayerid + 1 where agen_agentid = agentid limit 1;
|
||
select 5;
|
||
select agen_maxplayerid, agen_initroomacard, agen_initbean into playerid, roomcard, bean
|
||
from agent where agen_agentid = agentid limit 1;
|
||
select 6;
|
||
-- 随机取一个不存在的玩家id作为新的玩家id(200000-899999)
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
while exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) do
|
||
set playerid = ceil(rand() * 700000) + 200000;
|
||
end while;
|
||
select 7, agentid, playerid, channelid, openid, unionid, nickname, avatar, sex,
|
||
province, city, roomcard, bean, marketid, telphone;
|
||
insert into player(play_agentid, play_playerid, play_channelid, play_openid,
|
||
play_unionid, play_nickname, play_avatar, play_sex,
|
||
play_province, play_city, play_regtime, play_lasttime,
|
||
play_roomcard, play_bean, play_marketid, play_tel)
|
||
values(agentid, playerid, channelid, openid, unionid, nickname, avatar, sex,
|
||
province, city, now(), now(), roomcard, bean, marketid, telphone);
|
||
select 8;
|
||
set optdata = CONCAT('{"openid":"', openid, '", "unionid":"', unionid, '", "nickname":"', ifnull(nickname, ''), '","avatar":"', ifnull(avatar, ''), '","sex":', ifnull(sex, 0), ',"province":"', ifnull(province, ''), '","city":"', ifnull(city, ''), '"}');
|
||
insert into ct_user_process_log(uspl_agentid, uspl_channelid, uspl_playerid, uspl_unionid, uspl_opt, uspl_optdata, uspl_opttime)
|
||
values(agentid, channelid, playerid, unionid, 1, optdata, now());
|
||
select 9;
|
||
select play_roomcard, play_bean, play_type, play_score, play_invitecode, play_inviteid, play_state,
|
||
play_advanced, play_shortcode, play_roomcodes, play_whitelist, play_desone, play_destwo,
|
||
play_bankpower, play_bank, play_bankpwd, play_limit, play_notice, play_sign, play_tel
|
||
into roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice, psign, tel
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
select 10;
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_agent_day(agentid, 0, 1);
|
||
select 11;
|
||
else
|
||
select 14;
|
||
-- 老玩家
|
||
update player set play_nickname = nickname, play_avatar = avatar, play_openid = openid,
|
||
play_sex = sex, play_province = province, play_city = city,
|
||
play_logindate = play_logindate + if(datediff(now(), play_lasttime) = 0, 0, 1),
|
||
play_lasttime = now(), play_unionid = unionid
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
select 15;
|
||
end if;
|
||
|
||
-- 统计玩家的最后登录时间和累积登录天数
|
||
if not exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid) then
|
||
insert into agent_game_player(agpl_agentid, agpl_gameid, agpl_playerid, agpl_openid, agpl_firsttime, agpl_lasttime)
|
||
values(agentid, gameid, playerid, openid, now(), now());
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_game_day(agentid, gameid, now(), 0, 1, null);
|
||
else
|
||
update agent_game_player set agpl_logindate = agpl_logindate + if(datediff(now(), agpl_lasttime) = 0, 0, 1),
|
||
agpl_lasttime = now()
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
end if;
|
||
|
||
-- 看是否自动绑定过邀请码
|
||
if isnull(invitecode) then
|
||
call cp_game_get_player_invitecode_insales(agentid, playerid, unionid, invitecode);
|
||
end if;
|
||
|
||
-- 运行没有异常,提交事务
|
||
commit;
|
||
|
||
-- 返回执行结果
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into nn_winlose, nn_winlose_xx, nn_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select ifnull(agpl_winlose, 0), ifnull(agpl_winlose_xx, 0), ifnull(agpl_winlose_x2, 0)
|
||
into game_winlose, game_winlose_xx, game_winlose_x2
|
||
from agent_game_player
|
||
where agpl_agentid = agentid
|
||
-- and agpl_gameid = '8x4l0rGjf026f60c48h0mbUAhK5vV16f'
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid limit 1;
|
||
|
||
select playerid, roomcard, bean, playertype, score, invitecode, inviteid, state,
|
||
advanced, shortcode, roomcodes, whitelist,
|
||
nn_winlose, nn_winlose_xx, nn_winlose_x2, desone, destwo,
|
||
bankpower, bank, bankpwd, lowlimit, notice ,gameid,game_winlose,
|
||
game_winlose_xx, game_winlose_x2, psign, tel;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_player_whitelist
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_player_whitelist`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_player_whitelist`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `whitelist` varchar(6000) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '设置短号白名单'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) then
|
||
set result = 2;
|
||
set error = '玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_whitelist = whitelist
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
|
||
-- 返回执行结果
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_sub_bean
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_sub_bean`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_sub_bean`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `amount` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '减豆豆(第三方接口)'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare bean int(8);
|
||
|
||
set result = 0;
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = 'agentid不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set bean = null;
|
||
select play_bean into bean from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
if isnull(bean) then
|
||
set result = 1;
|
||
set error = 'player不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if amount = 0 then
|
||
update player set play_bean = 0
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select result, agentid, playerid, bean as amount, 0 as bean;
|
||
else
|
||
if amount > bean then
|
||
set result = 1;
|
||
set error = '数量不够';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_bean = play_bean - amount
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select result, agentid, playerid, amount, bean - amount as bean;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_task_award
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_task_award`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_task_award`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `taskid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家领取任务奖励'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare playername varchar(100); -- 玩家昵称
|
||
declare playerroomcard int(11); -- 玩家房卡数量
|
||
declare tasktype tinyint(1); -- 任务类型
|
||
declare tasktotal int(8); -- 任务的任务总量
|
||
declare taskaward int(8); -- 任务的完成奖励
|
||
declare taskstate tinyint(1) default null; -- 当前任务的任务状态
|
||
declare playertaskstate tinyint(1); -- 玩家总的任务状态
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验taskid
|
||
call cp_check_8_task(agentid, taskid, result, error, tasktype, tasktotal, taskaward);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查任务是否完成
|
||
select tapl_state into taskstate from task_player
|
||
where tapl_agentid = agentid and tapl_playerid = playerid and tapl_taskid = taskid;
|
||
|
||
if ifnull(taskstate, 0) = 0 then
|
||
set result = 8;
|
||
set error = '任务未完成,不可领取奖励';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if ifnull(taskstate, 0) = 2 then
|
||
set result = 8;
|
||
set error = '任务奖励已领取,不可重复领取';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 修改玩家房卡数量
|
||
if tasktype = 2 then
|
||
select tapl_finish * taskaward into taskaward
|
||
from task_player
|
||
where tapl_agentid = agentid
|
||
and tapl_playerid = playerid
|
||
and tapl_taskid = taskid;
|
||
elseif tasktype = 3 then
|
||
select tapl_finish into taskaward
|
||
from task_player
|
||
where tapl_agentid = agentid
|
||
and tapl_playerid = playerid
|
||
and tapl_taskid = taskid;
|
||
end if;
|
||
|
||
update player set play_roomcard = play_roomcard + taskaward,
|
||
play_taskaward = play_taskaward + taskaward
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 按日期统计玩家领取的奖励房卡数量
|
||
call cp_report_agent_day(agentid, 2, taskaward);
|
||
|
||
-- 修改任务状态
|
||
if tasktype in (2, 3) then
|
||
update task_player set tapl_state = 0, tapl_finish = 0
|
||
where tapl_agentid = agentid and tapl_playerid = playerid and tapl_taskid = taskid;
|
||
else
|
||
update task_player set tapl_state = 2, tapl_awardtime = now()
|
||
where tapl_agentid = agentid and tapl_playerid = playerid and tapl_taskid = taskid;
|
||
end if;
|
||
|
||
-- 获取玩家总的任务状态
|
||
-- call cp_game_get_player_taskstate(agentid, playerid, playertaskstate);
|
||
set playertaskstate = 1;
|
||
|
||
-- 返回玩家最新的房卡数量
|
||
select result, error, play_roomcard as roomcard, taskaward, playertaskstate
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_task_finish
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_task_finish`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_task_finish`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `taskid` varchar(32) charset utf8 collate utf8_general_ci ,IN `amount` int(8) ,IN `reflag` int(1))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家完成部分任务量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare playername varchar(100); -- 玩家昵称
|
||
declare playerroomcard int(11); -- 玩家房卡数量
|
||
declare tasktype tinyint(1); -- 任务状态
|
||
declare tasktotal int(8); -- 任务的任务总量
|
||
declare taskaward int(8); -- 任务的完成奖励
|
||
declare newtaskflag tinyint(1); -- 对于玩家而言是否是新任务的标志
|
||
declare taskfinish int(8) default null; -- 玩家已完成的任务量
|
||
declare taskstate tinyint(1); -- 玩家的任务状态
|
||
|
||
set result = 0;
|
||
|
||
if isnull(reflag) then
|
||
set reflag = 1;
|
||
end if;
|
||
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 and reflag = 1 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 and reflag = 1 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验taskid
|
||
call cp_check_8_task(agentid, taskid, result, error, tasktype, tasktotal, taskaward);
|
||
if result > 0 and reflag = 1 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set taskfinish = null;
|
||
set taskstate = null;
|
||
|
||
select tapl_finish, tapl_state into taskfinish, taskstate from task_player
|
||
where tapl_agentid = agentid and tapl_playerid = playerid and tapl_taskid = taskid;
|
||
|
||
if isnull(taskfinish) then
|
||
-- 新任务
|
||
set newtaskflag = 1;
|
||
set taskfinish = amount;
|
||
else
|
||
-- 老任务
|
||
if (tasktype in (0,1)) and (taskstate <> 0) then
|
||
set result = 16;
|
||
set error = '任务已经完成';
|
||
if reflag = 1 then
|
||
select result, error;
|
||
end if;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set newtaskflag = 0;
|
||
set taskfinish = taskfinish + amount;
|
||
end if;
|
||
|
||
if taskfinish >= tasktotal then
|
||
-- 已完成
|
||
set taskstate = 1;
|
||
else
|
||
-- 未完成
|
||
set taskstate = 0;
|
||
end if;
|
||
|
||
if newtaskflag = 1 then
|
||
-- 新任务
|
||
if taskstate = 0 then
|
||
-- 未完成
|
||
insert into task_player (tapl_agentid, tapl_playerid, tapl_taskid, tapl_finish, tapl_state, tapl_createtime)
|
||
values (agentid, playerid, taskid, taskfinish, taskstate, now());
|
||
else
|
||
-- 已完成
|
||
insert into task_player (tapl_agentid, tapl_playerid, tapl_taskid, tapl_finish, tapl_state, tapl_createtime, tapl_finishtime)
|
||
values (agentid, playerid, taskid, taskfinish, taskstate, now(), now());
|
||
end if;
|
||
else
|
||
-- 老任务
|
||
if taskstate = 0 then
|
||
-- 未完成
|
||
update task_player set tapl_finish = taskfinish
|
||
where tapl_agentid = agentid and tapl_playerid = playerid and tapl_taskid = taskid;
|
||
else
|
||
-- 已完成
|
||
update task_player set tapl_finish = taskfinish, tapl_state = taskstate, tapl_finishtime = now()
|
||
where tapl_agentid = agentid and tapl_playerid = playerid and tapl_taskid = taskid;
|
||
end if;
|
||
end if;
|
||
|
||
if reflag = 1 then
|
||
select result, error, tasktotal, taskfinish, taskstate, taskaward;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_task_list
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_task_list`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_task_list`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家获取任务列表'
|
||
begin
|
||
select task_taskid as taskid, task_type as type, task_title as title,
|
||
task_memo as memo, task_total as total,
|
||
case task_type
|
||
when 2 then if(ifnull(tapl_finish, 0) = 0, task_award, tapl_finish * task_award)
|
||
when 3 then ifnull(tapl_finish, 0)
|
||
else task_award
|
||
end as award,
|
||
ifnull(tapl_finish, 0) as finish, ifnull(tapl_state, 0) as state
|
||
from task
|
||
left join task_player on tapl_agentid = agentid
|
||
and tapl_playerid = playerid
|
||
and tapl_taskid = task_taskid
|
||
where task_agentid = agentid
|
||
and ((task_type in (0, 2, 3))
|
||
or (task_type = 1 and
|
||
(task_begintime is null or now() >= task_begintime) and
|
||
(task_endtime is null or now() <= task_endtime)
|
||
)
|
||
)
|
||
order by task.idx;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_topup_card
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_topup_card`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_topup_card`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `cardno` varchar(50) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '充值卡充值'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare cardstate tinyint(1);
|
||
declare cardtype tinyint(1);
|
||
declare cardamount int(11);
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
set cardstate = null;
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid limit 1) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid limit 1) then
|
||
set result = 2;
|
||
set error = '参数错误:玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select toca_state into cardstate from topup_card where toca_cardno = cardno;
|
||
if isnull(cardstate) then
|
||
set result = 3;
|
||
set error = '充值失败:卡号不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if cardstate = 1 then
|
||
set result = 4;
|
||
set error = '充值失败:该卡号已使用';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set cardtype = substring(cardno, 33, 1);
|
||
set cardamount = substring(cardno, 34, 20);
|
||
|
||
if cardtype = 0 then
|
||
update player set play_roomcard = play_roomcard + cardamount
|
||
where play_agentid = agentid and play_playerid = playerid
|
||
limit 1;
|
||
elseif cardtype = 1 then
|
||
update player set play_bean = play_bean + cardamount
|
||
where play_agentid = agentid and play_playerid = playerid
|
||
limit 1;
|
||
end if;
|
||
|
||
update topup_card
|
||
set toca_usetime = now(), toca_agentid = agentid, toca_playerid = playerid, toca_state =1
|
||
where toca_cardno = cardno;
|
||
|
||
select result, error, player.*
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid
|
||
limit 1;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_update_bean
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_update_bean`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_update_bean`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `deduct` int(8) ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '修改玩家豆豆数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare bean int(8);
|
||
|
||
set result = 0;
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = 'agentid不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set bean = null;
|
||
select play_bean into bean from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
if isnull(bean) then
|
||
set result = 1;
|
||
set error = 'player不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- if (-1 * deduct > bean) then
|
||
-- set result = 1;
|
||
-- set error = '数量不够';
|
||
-- select result, error;
|
||
-- leave label_cp;
|
||
-- end if;
|
||
|
||
update player set play_bean = play_bean + deduct
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select result, playerid, play_bean as bean, deduct
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_update_coinrebate
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_update_coinrebate`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_update_coinrebate`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `mode1` tinyint(1) ,IN `set1` int(11) ,IN `mode2` tinyint(1) ,IN `set2` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '设置星星场系统抽成'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update agent set agen_rebatemode1 = mode1,
|
||
agen_rebateset1 = set1,
|
||
agen_rebatemode2 = mode2,
|
||
agen_rebateset2 = set2
|
||
where agen_agentid = agentid limit 1;
|
||
|
||
-- 返回执行结果
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_update_pond
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_update_pond`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_update_pond`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `pondid` int(11) ,IN `amount` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取玩家绑定的邀请码'
|
||
begin
|
||
if exists(select 1 from agent_game_pond where aggp_agentid = agentid and aggp_gameid = gameid and aggp_pondid = pondid) then
|
||
update agent_game_pond set aggp_value = aggp_value + amount
|
||
where aggp_agentid = agentid and aggp_gameid = gameid and aggp_pondid = pondid;
|
||
else
|
||
insert into agent_game_pond(aggp_agentid, aggp_gameid, aggp_pondid, aggp_value)
|
||
values (agentid, gameid, pondid, amount);
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_game_update_roomcard
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_game_update_roomcard`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_game_update_roomcard`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `deduct` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '修改玩家房卡数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare roomcard int(8);
|
||
|
||
set result = 0;
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = 'agentid不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
set roomcard = null;
|
||
select play_roomcard into roomcard from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
if isnull(roomcard) then
|
||
set result = 1;
|
||
set error = 'player不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if (-1 * deduct > roomcard) then
|
||
set result = 1;
|
||
set error = '数量不够';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_roomcard = play_roomcard + deduct
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid limit 1;
|
||
|
||
select result, playerid, play_roomcard as roomcard, deduct
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid limit 1;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_platform_get_agentchannel
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_platform_get_agentchannel`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_platform_get_agentchannel`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取代理商的渠道商的公众号配置'
|
||
begin
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid, agch_sales_tel, agch_sales_wechat, agch_youle_appid, agch_youle_devkey, agch_youle_busiid
|
||
from agent_channel
|
||
where agch_agentid = agentid
|
||
order by idx limit 1;
|
||
else
|
||
select agch_channelid, agch_sales_tel, agch_sales_wechat, agch_youle_appid, agch_youle_devkey, agch_youle_busiid
|
||
from agent_channel
|
||
where agch_agentid = agentid
|
||
and agch_channelid = channelid;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_platform_get_agentserver
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_platform_get_agentserver`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_platform_get_agentserver`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取代理商的服务器地址和端口号'
|
||
begin
|
||
if not exists (select 1 from agent where agen_agentid = agentid) then
|
||
select agen_agentid, agen_name, agen_logo, agen_server, agen_server_visitor, agen_port_tcp,
|
||
agen_port_http, agen_managecode
|
||
from agent
|
||
order by idx limit 1;
|
||
else
|
||
select agen_agentid, agen_name, agen_logo, agen_server, agen_server_visitor, agen_port_tcp,
|
||
agen_port_http, agen_managecode
|
||
from agent
|
||
where agen_agentid = agentid;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_platform_get_appversion
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_platform_get_appversion`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_platform_get_appversion`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取app最新版本和下载地址'
|
||
begin
|
||
-- 获取渠道商id
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid into channelid from agent_channel where agch_agentid = agentid order by idx limit 1;
|
||
end if;
|
||
|
||
select agga_android_ver as android_ver,
|
||
agga_android_down as android_down,
|
||
agga_ios_ver as ios_ver,
|
||
agga_ios_down as ios_down
|
||
from agent_game
|
||
where agga_agentid = agentid
|
||
and agga_gameid = gameid
|
||
and agga_channelid = channelid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_platform_get_gameversion
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_platform_get_gameversion`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_platform_get_gameversion`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `vers` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取游戏最新版本和下载地址'
|
||
begin
|
||
select * from agent_game_version
|
||
where aggv_agentid = agentid
|
||
and aggv_gameid = gameid
|
||
and aggv_channelid = channelid
|
||
and aggv_version > vers
|
||
order by aggv_version;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_report_agent_day
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_report_agent_day`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_report_agent_day`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `opt` tinyint(1) ,IN `amount` decimal(10,2))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '统计代理商的日报表'
|
||
begin
|
||
declare _day varchar(50); -- 当前日期
|
||
select date_format(now(), "%Y-%m-%d") into _day;
|
||
|
||
if not exists(select 1 from report_agent_day where read_agentid = agentid and read_day = _day) then
|
||
insert into report_agent_day(read_agentid, read_day) values(agentid, _day);
|
||
end if;
|
||
|
||
if opt = 0 then -- 新增玩家数量
|
||
update report_agent_day
|
||
set read_newplayer = read_newplayer + amount
|
||
where read_agentid = agentid and read_day = _day limit 1;
|
||
elseif opt = 1 then -- 新增个人代理数量
|
||
update report_agent_day
|
||
set read_newsalesman = read_newsalesman + amount
|
||
where read_agentid = agentid and read_day = _day limit 1;
|
||
elseif opt = 2 then -- 玩家得到的奖励房卡数量
|
||
update report_agent_day
|
||
set read_playeraward = read_playeraward + amount
|
||
where read_agentid = agentid and read_day = _day limit 1;
|
||
elseif opt = 3 then -- 房卡销售金额
|
||
update report_agent_day
|
||
set read_salesmoney = read_salesmoney + amount
|
||
where read_agentid = agentid and read_day = _day limit 1;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_report_game_day
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_report_game_day`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_report_game_day`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `reportday` datetime ,IN `opt` tinyint(1) ,IN `amount` decimal(10,2) ,IN `maxtime` datetime)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '统计代理商的日报表'
|
||
begin
|
||
declare _day varchar(50); -- 当前日期
|
||
select date_format(reportday, "%Y-%m-%d") into _day;
|
||
|
||
if not exists(select 1 from report_game_day where regd_agentid = agentid and regd_gameid = gameid and regd_day = _day) then
|
||
insert into report_game_day(regd_agentid, regd_gameid, regd_day) values(agentid, gameid, _day);
|
||
end if;
|
||
|
||
if opt = 0 then -- 新增玩家数量
|
||
update report_game_day
|
||
set regd_newplayer = regd_newplayer + amount
|
||
where regd_agentid = agentid and regd_gameid = gameid and regd_day = _day limit 1;
|
||
elseif opt = 1 then -- 消耗房卡数量
|
||
update report_game_day
|
||
set regd_useroomcard = regd_useroomcard + amount
|
||
where regd_agentid = agentid and regd_gameid = gameid and regd_day = _day limit 1;
|
||
elseif opt = 2 then -- 玩家一共玩了多少游戏局(大局)
|
||
update report_game_day
|
||
set regd_asetcount = regd_asetcount + amount
|
||
where regd_agentid = agentid and regd_gameid = gameid and regd_day = _day limit 1;
|
||
elseif opt = 3 then -- 最大在线玩家数量
|
||
update report_game_day
|
||
set regd_maxplayer = amount, regd_maxplayertime = maxtime
|
||
where regd_agentid = agentid and regd_gameid = gameid and regd_day = _day limit 1;
|
||
elseif opt = 4 then -- 最大开房数量
|
||
|
||
update report_game_day
|
||
set regd_maxroom = amount, regd_maxroomtime = maxtime
|
||
where regd_agentid = agentid and regd_gameid = gameid and regd_day = _day limit 1;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_change_bank
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_change_bank`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_change_bank`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `pwd` varchar(10) charset utf8 collate utf8_general_ci ,IN `newplayerid` int(8) ,IN `oldplayerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0变更代理id'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
declare oldBank int(11);
|
||
declare oldPwd varchar(10);
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
|
||
|
||
|
||
if exists(select 1 from player where play_agentid = agentid and play_playerid = oldplayerid) then
|
||
if exists(select 1 from player where play_agentid = agentid and play_playerid = newplayerid) then
|
||
|
||
|
||
select play_bankpwd ,play_bank
|
||
into oldPwd ,oldBank
|
||
from player
|
||
where play_agentid = agentid and play_playerid = oldplayerid;
|
||
|
||
if oldPwd = pwd then
|
||
update player n, player o
|
||
set n.play_bean = if(isnull(n.play_bean), 0, n.play_bean) + if(o.play_bankpwd = pwd, if(isnull(o.play_bank), 0, o.play_bank), 0)
|
||
|
||
where n.play_agentid = agentid
|
||
and n.play_playerid = newplayerid
|
||
and o.play_agentid = agentid
|
||
and o.play_playerid = oldplayerid;
|
||
update player
|
||
set play_bank = 0
|
||
where play_agentid = agentid
|
||
and play_playerid = oldplayerid;
|
||
else
|
||
set result = 1;
|
||
set error = '密码错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
|
||
|
||
|
||
end if;
|
||
end if;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_change_salesid
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_change_salesid`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_change_salesid`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `oldsalesid` int(8) ,IN `newsalesid` int(8) ,IN `oldplayerid` int(8) ,IN `newplayerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0变更代理id'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
declare initCard int(8);
|
||
declare initBean int(8);
|
||
|
||
declare oldCard int(8);
|
||
declare oldBean int(8);
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select agen_initroomacard , agen_initbean
|
||
into initCard , initBean
|
||
from agent
|
||
where agen_agentid = agentid;
|
||
|
||
if exists(select 1 from sales_user where saus_agentid = agentid and saus_salesid = oldsalesid) then
|
||
if exists(select 1 from sales_user where saus_agentid = agentid and saus_salesid = newsalesid) then
|
||
update player
|
||
set play_invitecode = newsalesid
|
||
where play_agentid = agentid
|
||
and play_invitecode = oldsalesid;
|
||
end if;
|
||
end if;
|
||
|
||
if exists(select 1 from player where play_agentid = agentid and play_playerid = oldplayerid) then
|
||
if exists(select 1 from player where play_agentid = agentid and play_playerid = newplayerid) then
|
||
update player n, player o
|
||
set n.play_roomcard = if(isnull(n.play_roomcard), 0, n.play_roomcard) + if(isnull(o.play_roomcard), 0, if(o.play_roomcard > initCard,o.play_roomcard - initCard,0)),
|
||
n.play_bean = if(isnull(n.play_bean), 0, n.play_bean) + if(isnull(o.play_bean), 0, if(o.play_bean > initBean ,o.play_bean - initBean,0))
|
||
|
||
where n.play_agentid = agentid
|
||
and n.play_playerid = newplayerid
|
||
and o.play_agentid = agentid
|
||
and o.play_playerid = oldplayerid;
|
||
|
||
select play_roomcard , play_bean
|
||
into oldCard , oldBean
|
||
from player
|
||
where play_agentid = agentid and play_playerid = oldplayerid;
|
||
|
||
if oldCard > initCard then
|
||
set oldCard = initCard;
|
||
end if;
|
||
|
||
if oldBean > initBean then
|
||
set oldBean = initBean;
|
||
end if;
|
||
|
||
update player
|
||
set play_roomcard = oldCard, play_bean = oldBean
|
||
-- set play_roomcard = 0, play_bean = 0
|
||
where play_agentid = agentid
|
||
and play_playerid = oldplayerid;
|
||
end if;
|
||
end if;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_disbinding_player
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_disbinding_player`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_disbinding_player`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0玩家解除绑定'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) then
|
||
set result = 2;
|
||
set error = '参数错误:玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_invitecode = null where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
update sales_user, player
|
||
set saus_invitecode = null
|
||
where saus_agentid = agentid
|
||
and play_agentid = agentid
|
||
and play_playerid = playerid
|
||
and saus_unionid = play_unionid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_disbinding_sales
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_disbinding_sales`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_disbinding_sales`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0解除绑定了我的玩家'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from sales_user where saus_agentid = agentid and saus_salesid = salesid) then
|
||
set result = 2;
|
||
set error = '参数错误:代理id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update sales_user, player
|
||
set saus_invitecode = null
|
||
where saus_agentid = agentid
|
||
and play_agentid = agentid
|
||
and play_invitecode = salesid
|
||
and saus_unionid = play_unionid;
|
||
|
||
update player set play_invitecode = null where play_agentid = agentid and play_invitecode = salesid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_new_salesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_new_salesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_new_salesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` tinyint(1) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0新增代理接口'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if exists(select 1 from sales_user where saus_agentid = agentid and saus_salesid = salesid) then
|
||
set result = 2;
|
||
set error = '参数错误:代理id已存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if exists(select 1 from sales_user where saus_agentid = agentid and saus_unionid = unionid) then
|
||
update sales_user set saus_salesman = 1, saus_salesid = salesid
|
||
where saus_agentid = agentid and saus_unionid = unionid;
|
||
else
|
||
insert into sales_user(saus_agentid, saus_channelid, saus_openid, saus_unionid,
|
||
saus_nickname, saus_avatar, saus_sex, saus_province, saus_city, saus_salesman, saus_salesid)
|
||
values(agentid, channelid, openid, unionid, nickname, avatar, sex, province, city, 1, salesid);
|
||
end if;
|
||
|
||
update agent set agen_maxsalesid = salesid where agen_agentid = agentid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_player_abled
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_player_abled`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_player_abled`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0解封玩家'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) then
|
||
set result = 2;
|
||
set error = '参数错误:玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_state = 0 where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_player_bindinginvitecode
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_player_bindinginvitecode`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_player_bindinginvitecode`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `invitecode` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0玩家绑定邀请码接口'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare playerid int(8);
|
||
declare salesstatus tinyint(1);
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select play_playerid into playerid from player where play_agentid = agentid and play_unionid = unionid;
|
||
if isnull(playerid) then
|
||
set result = 2;
|
||
set error = '参数错误:玩家不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select saus_status into salesstatus from sales_user where saus_agentid = agentid and saus_salesid = invitecode;
|
||
if isnull(salesstatus) then
|
||
set result = 3;
|
||
set error = '参数错误:邀请码不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
elseif salesstatus = 1 then
|
||
set result = 4;
|
||
set error = '参数错误:邀请码已经被封禁';
|
||
select result, error;
|
||
end if;
|
||
|
||
update player set play_invitecode = invitecode
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid;
|
||
|
||
-- 完成绑定邀请码任务
|
||
call cp_game_task_finish(agentid, playerid, 'UEFsfbv29YnlacKLo0mjomK48Bv82hGv', 1, 0);
|
||
|
||
select result, error, playerid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_player_disabled
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_player_disabled`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_player_disabled`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0封禁玩家'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) then
|
||
set result = 2;
|
||
set error = '参数错误:玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_state = 1 where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_player_topup
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_player_topup`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_player_topup`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `topup_card` int(10) ,IN `topup_bean` int(10))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0玩家充值接口'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from player where play_agentid = agentid and play_playerid = playerid) then
|
||
set result = 2;
|
||
set error = '参数错误:玩家id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if isnull(topup_card) then
|
||
set topup_card = 0;
|
||
end if;
|
||
|
||
if isnull(topup_bean) then
|
||
set topup_bean = 0;
|
||
end if;
|
||
|
||
update player set play_roomcard = play_roomcard + topup_card,
|
||
play_bean = play_bean + topup_bean
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
|
||
select result, error, player.*
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_salesman_abled
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_salesman_abled`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_salesman_abled`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0解封代理接口'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from sales_user where saus_agentid = agentid and saus_salesid = salesid) then
|
||
set result = 2;
|
||
set error = '参数错误:代理id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update sales_user set saus_status = 0 where saus_agentid = agentid and saus_salesid = salesid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales2_salesman_disabled
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales2_salesman_disabled`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales2_salesman_disabled`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '代理后台2.0封禁代理接口'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
set error = '';
|
||
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '参数错误:运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if not exists(select 1 from sales_user where saus_agentid = agentid and saus_salesid = salesid) then
|
||
set result = 2;
|
||
set error = '参数错误:代理id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update sales_user set saus_status = 1 where saus_agentid = agentid and saus_salesid = salesid;
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_accept_award
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_accept_award`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_accept_award`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `awardid` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '领取奖励'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare mysalesid int(8); -- 我的代理id
|
||
declare award int(11); -- 奖励的房卡数量
|
||
declare awardstate tinyint(1); -- 奖励状态
|
||
declare myroomcard int(11); -- 领取后我的房卡数量
|
||
declare mystate tinyint(1); -- 领取后我的奖励状态 0无奖励 1有奖励可领取
|
||
|
||
set result = 0;
|
||
-- 获取我的代理id
|
||
select saus_salesid into mysalesid
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
-- 检查奖励是否存在
|
||
if not exists(select 1 from sales_award
|
||
where saaw_agentid = agentid
|
||
and saaw_salesid = mysalesid
|
||
and idx = awardid) then
|
||
set result = 1;
|
||
set error = '奖励不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 获取奖励的房卡数量和状态
|
||
select saaw_award, saaw_state into award, awardstate
|
||
from sales_award
|
||
where saaw_agentid = agentid
|
||
and saaw_salesid = mysalesid
|
||
and idx = awardid;
|
||
|
||
if awardstate = 1 then
|
||
set result = 2;
|
||
set error = '奖励已领取过,不能重复领取';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 修改领取状态
|
||
update sales_award set saaw_state = 1, saaw_gettime = now()
|
||
where saaw_agentid = agentid
|
||
and saaw_salesid = mysalesid
|
||
and idx = awardid;
|
||
|
||
-- 修改房卡
|
||
update sales_user set saus_roomcard = saus_roomcard + award
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
-- 获取领取后我的房卡数量
|
||
select saus_roomcard into myroomcard
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
-- 获取领取后我的奖励状态
|
||
if exists(select 1 from sales_award
|
||
where saaw_agentid = agentid
|
||
and saaw_salesid = mysalesid
|
||
and saaw_state = 0) then
|
||
set mystate = 1;
|
||
else
|
||
set mystate = 0;
|
||
end if;
|
||
|
||
select result, error, myroomcard, mystate;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_apply_sales
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_apply_sales`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_apply_sales`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `wechat` varchar(50) charset utf8 collate utf8_general_ci ,IN `tel` varchar(20) charset utf8 collate utf8_general_ci ,IN `inivtecode` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '申请为个人代理'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare salesman tinyint(1); -- 微信公众号用户是否是个人代理
|
||
declare salesid int(8); -- 新代理id
|
||
declare salespower varchar(10); -- 默认的个人代理权限
|
||
declare parentid int(8); -- 父亲代理id
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验微信公众号用户
|
||
select saus_salesman into salesman
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
if isnull(salesman) then
|
||
set result = 2;
|
||
set error = '用户不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if salesman = 1 then
|
||
set result = 3;
|
||
set error = '您已经是代理了,无需再次申请';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 新个人代理
|
||
update agent set agen_maxsalesid = agen_maxsalesid + floor(rand() * (12-6) + 6) where agen_agentid = agentid;
|
||
|
||
select agen_maxsalesid, agen_salespower
|
||
into salesid, salespower
|
||
from agent
|
||
where agen_agentid = agentid;
|
||
|
||
if isnull(inivtecode) or (inivtecode = '') or (inivtecode = 0) then
|
||
set parentid = null;
|
||
else
|
||
select saus_salesid into parentid
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_salesid = inivtecode;
|
||
end if;
|
||
|
||
if openid = 'oIv1dwGjgqhngUd3fkJa5Zlc13zE' then
|
||
update sales_user set saus_salesman = 1, saus_salesid = salesid,
|
||
saus_saletime = now(), saus_salestype = 1,
|
||
saus_wechat = wechat, saus_tel = tel,
|
||
saus_power = salespower, saus_parentid = parentid,
|
||
saus_roomcard = 100000, saus_power = '22'
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
else
|
||
update sales_user set saus_salesman = 1, saus_salesid = salesid,
|
||
saus_saletime = now(), saus_salestype = 1,
|
||
saus_wechat = wechat, saus_tel = tel,
|
||
saus_power = salespower, saus_parentid = parentid
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
end if;
|
||
|
||
-- 按日期统计新增个人代理人数
|
||
call cp_report_agent_day(agentid, 1, 1);
|
||
|
||
|
||
-- 返回执行结果
|
||
select result, error, parentid as inivtecode;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_ask_dealbill
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_ask_dealbill`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_ask_dealbill`(IN `_idx` int(11) ,IN `dealid` int(8) ,IN `dealstate` tinyint(1))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '处理索要房卡订单'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentid varchar(32);
|
||
declare billtype tinyint(1);
|
||
declare askid int(8);
|
||
declare salesid int(8);
|
||
declare amount int(8);
|
||
declare salesroomcard int(11); -- 受理者的房卡数量
|
||
declare askerroomcard int(11); -- 索取者的房卡数量
|
||
|
||
set result = 0;
|
||
|
||
-- 检验订单是否存在
|
||
set agentid = null;
|
||
|
||
select saab_agentid, saab_type, saab_askid, saab_salesid, saab_amount
|
||
into agentid, billtype, askid, salesid, amount
|
||
from sales_ask_bill
|
||
where idx = _idx;
|
||
|
||
if isnull(agentid) then
|
||
set result = 1;
|
||
set error = '订单不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if dealstate = 1 then
|
||
-- 充卡数量不能是负数
|
||
if amount < 0 then
|
||
set result = 2;
|
||
set error = '充卡数量必须大于0';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验个人代理的房卡数量是否够
|
||
set salesroomcard = 0;
|
||
select saus_roomcard
|
||
into salesroomcard
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesman = 1
|
||
and saus_salesid = salesid;
|
||
|
||
if (salesroomcard = 0) or (salesroomcard < amount) then
|
||
set result = 3;
|
||
set error = '房卡数量不足';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
end if;
|
||
|
||
if (dealstate = 1 or dealstate = 3) then
|
||
if dealid <> salesid then
|
||
set result = 4;
|
||
set error = '无此订单的操作权限';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
elseif dealstate = 2 then
|
||
if dealid <> askid then
|
||
set result = 5;
|
||
set error = '无此订单的操作权限';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
end if;
|
||
|
||
-- 修改订单状态
|
||
update sales_ask_bill set saab_state = dealstate, saab_dealtime = now() where idx = _idx;
|
||
|
||
-- 充卡
|
||
if dealstate = 1 then
|
||
if billtype = 0 then -- 玩家
|
||
update player set play_roomcard = play_roomcard + amount where play_agentid = agentid and play_playerid = askid;
|
||
select play_roomcard into askerroomcard from player where play_agentid = agentid and play_playerid = askid;
|
||
elseif billtype = 1 then -- 个人代理
|
||
update sales_user set saus_roomcard = saus_roomcard + amount where saus_agentid = agentid and saus_salesid = askid;
|
||
select saus_roomcard into askerroomcard from sales_user where saus_agentid = agentid and saus_salesid = askid;
|
||
end if;
|
||
update sales_user set saus_roomcard = saus_roomcard - amount where saus_agentid = agentid and saus_salesid = salesid;
|
||
select saus_roomcard into salesroomcard from sales_user where saus_agentid = agentid and saus_salesid = salesid;
|
||
|
||
select result, error, agentid, askid, amount, askerroomcard, salesroomcard;
|
||
else
|
||
select result, error;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_ask_getmyaskbill
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_ask_getmyaskbill`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_ask_getmyaskbill`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `billtype` tinyint(1) ,IN `askid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取我发起的索要房卡订单列表'
|
||
begin
|
||
select idx, saab_asktime as asktime, saab_amount as amount, saab_state as state,
|
||
case saab_state
|
||
when 0 then 0
|
||
else 1
|
||
end as stateidx
|
||
from sales_ask_bill
|
||
where saab_agentid = agentid
|
||
and saab_type = billtype
|
||
and saab_askid = askid
|
||
order by stateidx, asktime desc
|
||
limit 50;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_ask_getmydealbill
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_ask_getmydealbill`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_ask_getmydealbill`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `billtype` tinyint(1) ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取我受理的索要房卡订单列表'
|
||
begin
|
||
select idx, saab_asktime as asktime, saab_amount as amount, saab_state as state,
|
||
case saab_state
|
||
when 0 then 0
|
||
else 1
|
||
end as stateidx,
|
||
saab_askid as askid, saab_asknickname as nickname, saab_askavatar as avatar
|
||
from sales_ask_bill
|
||
where saab_agentid = agentid
|
||
and saab_type = billtype
|
||
and saab_salesid = salesid
|
||
order by stateidx, asktime desc
|
||
limit 100;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_ask_newbill
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_ask_newbill`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_ask_newbill`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `billtype` tinyint(1) ,IN `askid` int(8) ,IN `amount` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '新建索要房卡订单'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare asknickname varchar(100); -- 发起者昵称
|
||
declare askavatar varchar(200); -- 发起者头像
|
||
declare invitecode int(8); -- 已经绑定的邀请码
|
||
|
||
set result = 0;
|
||
set invitecode = null;
|
||
|
||
if billtype = 0 then
|
||
select play_nickname, play_avatar, play_invitecode
|
||
into asknickname, askavatar, invitecode
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = askid;
|
||
elseif billtype = 1 then
|
||
select saus_nickname, saus_avatar, saus_parentid
|
||
into asknickname, askavatar, invitecode
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesman = 1
|
||
and saus_salesid = askid;
|
||
end if;
|
||
if isnull(invitecode) then
|
||
set result = 1;
|
||
set error = '索要房卡失败:未绑定邀请码';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
insert into sales_ask_bill(saab_agentid, saab_type, saab_askid, saab_asknickname,
|
||
saab_askavatar, saab_salesid, saab_amount, saab_state, saab_asktime)
|
||
values(agentid, billtype, askid, asknickname, askavatar, invitecode, amount, 0, now());
|
||
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_ask_player_getsalesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_ask_player_getsalesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_ask_player_getsalesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家获取自己所属的个人代理信息'
|
||
begin
|
||
select saus_salesid as sales_id, saus_wechat as sales_wechat,
|
||
saus_tel as sales_tel, saus_nickname as sales_nickname,
|
||
saus_avatar as sales_avatar
|
||
from player, sales_user
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid
|
||
and play_invitecode is not null
|
||
and saus_agentid = agentid
|
||
and saus_salesman = 1
|
||
and saus_salesid = play_invitecode;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_ask_sales_getparentman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_ask_sales_getparentman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_ask_sales_getparentman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '个人代理获取自己的上级代理信息'
|
||
begin
|
||
select u2.saus_salesid as sales_id, u2.saus_wechat as sales_wechat,
|
||
u2.saus_tel as sales_tel, u2.saus_nickname as sales_nickname,
|
||
u2.saus_avatar as sales_avatar
|
||
from sales_user as u1, sales_user as u2
|
||
where u1.saus_agentid = agentid
|
||
and u1.saus_salesman = 1
|
||
and u1.saus_salesid = salesid
|
||
and u1.saus_parentid is not null
|
||
and u2.saus_agentid = agentid
|
||
and u2.saus_salesman = 1
|
||
and u2.saus_salesid = u1.saus_parentid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_binding_parent
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_binding_parent`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_binding_parent`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '绑定我的推荐人'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100);
|
||
declare mysalesid int(8); -- 我的代理id
|
||
declare myparentid int(8); -- 我的上级代理id
|
||
declare pid int(8); -- 推荐人的上级代理id
|
||
declare ppid int(8); -- 推荐人的上级的上级代理id
|
||
declare i int;
|
||
|
||
declare _salesid int(8);
|
||
declare wechat varchar(100);
|
||
declare tel varchar(50);
|
||
declare nickname varchar(100);
|
||
declare avatar varchar(200);
|
||
|
||
set result = 0;
|
||
|
||
-- 检查推荐人是否存在
|
||
set _salesid = null;
|
||
select saus_salesid, saus_nickname, saus_avatar, saus_wechat, saus_tel
|
||
into _salesid, nickname, avatar, wechat, tel
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesid = salesid;
|
||
if isnull(_salesid) then
|
||
set result = 1;
|
||
set error = '邀请码不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 获取我的代理id
|
||
select saus_salesid, saus_parentid into mysalesid, myparentid
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid
|
||
and saus_salesman = 1;
|
||
|
||
-- 检查我是否已经是代理
|
||
if isnull(mysalesid) then
|
||
set result = 5;
|
||
set error = '您还不是代理,请先申请成为代理再绑定邀请码';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查是否已经绑定了邀请码
|
||
if isnull(myparentid) then
|
||
-- 不能绑自己
|
||
if mysalesid = salesid then
|
||
set result = 1;
|
||
set error = '不能绑定自己的邀请码';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查推荐人的上级代理是否有我
|
||
set i = 0;
|
||
set pid = salesid;
|
||
label_wh: while i < 2 do
|
||
select saus_parentid into ppid from sales_user where saus_agentid = agentid and saus_salesid = pid;
|
||
|
||
if isnull(ppid) then
|
||
leave label_wh;
|
||
elseif ppid = mysalesid then
|
||
set result = 1;
|
||
set error = '不能绑定自己下级的邀请码';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
set i = i + 1;
|
||
set pid = ppid;
|
||
end while;
|
||
|
||
-- 检查通过后修改我的推荐人
|
||
update sales_user set saus_parentid = salesid
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
-- 如果是第一次绑定则添加推荐人的奖励
|
||
if isnull(myparentid) then
|
||
call cp_sales_new_award(agentid, salesid, mysalesid, 0, null);
|
||
end if;
|
||
|
||
select result, salesid, wechat, tel, nickname, avatar;
|
||
else
|
||
set result = 2;
|
||
set error = '已经绑定过上级代理,不能再次绑定';
|
||
|
||
select saus_salesid, saus_nickname, saus_avatar, saus_wechat, saus_tel
|
||
into salesid, nickname, avatar, wechat, tel
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesid = myparentid;
|
||
|
||
select result, error, salesid, wechat, tel, nickname, avatar;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_finish_task
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_finish_task`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_finish_task`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `opneid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `taskid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '根据unionid判断是否完成了相关任务'
|
||
begin
|
||
declare playerid varchar(32);
|
||
|
||
if isnull(unionid) then
|
||
select saus_unionid into unionid from sales_user where saus_agentid = agentid and saus_openid = opneid;
|
||
end if;
|
||
|
||
if not isnull(unionid) then
|
||
select play_playerid into playerid from player where play_agentid = agentid and play_unionid = unionid;
|
||
if not isnull(playerid) then
|
||
call cp_game_task_finish(agentid, playerid, taskid, 1, 0);
|
||
end if;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_award
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_award`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_award`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取我的奖励列表'
|
||
begin
|
||
select sales_award.idx as awardid, saaw_type as type, saaw_childid as childid,
|
||
c.saus_nickname as childname, c.saus_avatar as childavatar, saaw_award as award,
|
||
saaw_state as state, saaw_createtime as awardtime, saaw_gettime as gettime
|
||
from sales_user as i
|
||
inner join sales_user as c on c.saus_agentid = agentid
|
||
inner join sales_award on saaw_agentid = agentid
|
||
and saaw_salesid = i.saus_salesid
|
||
and saaw_childid = c.saus_salesid
|
||
where i.saus_agentid = agentid
|
||
and i.saus_openid = openid
|
||
and i.saus_salesid is not null
|
||
order by saaw_createtime desc;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_child
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_child`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_child`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取我的子代理'
|
||
begin
|
||
select s2.saus_salesid as salesid, s2.saus_nickname as name,
|
||
s2.saus_avatar as avatar, ifnull(sum(saaw_award), 0) as awardtotal
|
||
from sales_user as s1
|
||
inner join sales_user as s2 on s2.saus_agentid = agentid
|
||
and s2.saus_parentid = s1.saus_salesid
|
||
left join sales_award on saaw_agentid = agentid
|
||
and saaw_salesid = s1.saus_salesid
|
||
and saaw_childid = s2.saus_salesid
|
||
and saaw_state = 1
|
||
where s1.saus_agentid = agentid
|
||
and s1.saus_openid = openid
|
||
and s1.saus_salesid is not null
|
||
group by salesid, name, avatar;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_gamelist
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_gamelist`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_gamelist`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取代理商的游戏列表及下载地址'
|
||
begin
|
||
if not exists (select 1 from agent where agen_agentid = agentid) then
|
||
select agen_agentid into agentid from agent order by idx limit 1;
|
||
end if;
|
||
|
||
-- 获取渠道商id
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid into channelid from agent_channel where agch_agentid = agentid order by idx limit 1;
|
||
end if;
|
||
|
||
select agga_aliasname as name, agga_image as image, agga_state as state,
|
||
agga_gamememo as memo,
|
||
agga_ios_down as ios_down, agga_ios_size as ios_size,
|
||
agga_android_down as android_down, agga_android_size as android_size
|
||
from agent_game
|
||
where agga_agentid = agentid
|
||
and agga_channelid = channelid
|
||
order by idx;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_invitecodeinfo
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_invitecodeinfo`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_invitecodeinfo`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取玩家绑定的邀请码的代理信息'
|
||
begin
|
||
select p.saus_salesid, p.saus_nickname, p.saus_avatar
|
||
from sales_user as i
|
||
inner join sales_user as p on p.saus_agentid = agentid
|
||
and p.saus_salesid is not null
|
||
and p.saus_salesid = i.saus_invitecode
|
||
where i.saus_agentid = agentid
|
||
and i.saus_openid = openid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_myplayer
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_myplayer`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_myplayer`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '绑定了我的邀请码的玩家列表'
|
||
begin
|
||
declare salesid int(8);
|
||
set salesid = null;
|
||
|
||
select saus_salesid into salesid from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid and saus_salesman = 1;
|
||
|
||
if not isnull(salesid) then
|
||
select play_playerid as playerid, play_nickname as nickname,
|
||
play_avatar as avatar, ifnull(v.money, 0) as money
|
||
from player
|
||
left join (select sabu_agentid, sabu_playerid, sum(sabu_paymoney) as money
|
||
from sales_buybill
|
||
where sabu_billtype = 0
|
||
and sabu_paystate = 1
|
||
and yearweek(date_format(sabu_paytime, '%Y-%m-%d')) = yearweek(now())
|
||
group by sabu_agentid, sabu_playerid
|
||
) as v
|
||
on v.sabu_agentid = play_agentid
|
||
and v.sabu_playerid = play_playerid
|
||
where play_agentid = agentid
|
||
and play_invitecode = salesid
|
||
order by playerid;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_mysalesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_mysalesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_mysalesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '我的下级代理列表'
|
||
begin
|
||
declare salesid int(8);
|
||
set salesid = null;
|
||
|
||
select saus_salesid into salesid from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid and saus_salesman = 1;
|
||
|
||
if not isnull(salesid) then
|
||
select s1.saus_salesid as salesid, s1.saus_nickname as nickname, s1.saus_avatar as avatar,
|
||
ifnull(v1.salesmancount, 0) as salesmancount,
|
||
ifnull(v2.playercount, 0) as playercount
|
||
from sales_user as s1
|
||
left join (select s2.saus_parentid, count(1) as salesmancount
|
||
from sales_user as s2
|
||
where s2.saus_agentid = agentid
|
||
and s2.saus_salesman = 1
|
||
and s2.saus_parentid is not null
|
||
group by s2.saus_parentid
|
||
) as v1 on v1.saus_parentid = s1.saus_salesid
|
||
left join (select play_invitecode, count(1) as playercount
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_invitecode is not null
|
||
group by play_invitecode
|
||
) as v2 on v2.play_invitecode = s1.saus_salesid
|
||
where s1.saus_agentid = agentid
|
||
and s1.saus_salesman = 1
|
||
and s1.saus_parentid = salesid;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_parentinfo
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_parentinfo`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_parentinfo`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取我的推荐人信息'
|
||
begin
|
||
select p.saus_salesid, p.saus_nickname, p.saus_avatar
|
||
from sales_user as i
|
||
inner join sales_user as p on p.saus_agentid = agentid
|
||
and p.saus_salesid is not null
|
||
and p.saus_salesid = i.saus_parentid
|
||
where i.saus_agentid = agentid
|
||
and i.saus_openid = openid
|
||
and i.saus_salesid is not null;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_topupname
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_topupname`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_topupname`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取充卡名单'
|
||
begin
|
||
select distinct(sase_playerid) as playerid, play_nickname as name,
|
||
play_avatar as avatar,
|
||
sum(sase_amount) as total, max(sase_selltime) as lastselltime
|
||
from sales_sellbill
|
||
inner join player on play_agentid = agentid
|
||
and play_playerid = sase_playerid
|
||
where sase_agentid = agentid
|
||
and sase_openid = openid
|
||
group by playerid, name, avatar
|
||
order by lastselltime desc;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_get_transfername
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_get_transfername`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_get_transfername`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取转卡名单'
|
||
begin
|
||
select distinct(satr_salesid) as salesid, saus_nickname as name,
|
||
saus_avatar as avatar,
|
||
sum(satr_amount) as total, max(satr_transfertime) as lasttransfertime
|
||
from sales_transferbill
|
||
inner join sales_user on saus_agentid = agentid
|
||
and saus_salesid = satr_salesid
|
||
where satr_agentid = agentid
|
||
and satr_openid = openid
|
||
group by salesid, name, avatar
|
||
order by lasttransfertime desc;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_new_award
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_new_award`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_new_award`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `salesid` int(8) ,IN `childid` int(8) ,IN `type` tinyint(1) ,IN `billcode` varchar(50) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '添加推荐人奖励'
|
||
begin
|
||
if type = 0 then
|
||
insert into sales_award (saaw_agentid, saaw_salesid, saaw_childid,
|
||
saaw_type, saaw_award, saaw_state, saaw_createtime)
|
||
values(agentid, salesid, childid, type, 100, 0, now());
|
||
else
|
||
insert into sales_award (saaw_agentid, saaw_salesid, saaw_childid,
|
||
saaw_type, saaw_buybill, saaw_award, saaw_state, saaw_createtime)
|
||
values(agentid, salesid, childid, type, billcode, 200, 0, now());
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_new_bill
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_new_bill`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_new_bill`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `billcode` varchar(100) charset utf8 collate utf8_general_ci ,IN `billtype` tinyint(1) ,IN `productid` varchar(32) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `tel` varchar(50) charset utf8 collate utf8_general_ci ,IN `wechat` varchar(50) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '新增一条购卡订单'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare username varchar(100); -- 微信公众号用户昵称
|
||
declare usersalesman tinyint(1); -- 微信公众号用户是否是个人代理
|
||
declare productname varchar(100); -- 产品名称
|
||
declare productamount int(11); -- 产品的房卡数量
|
||
declare productmoney decimal(10,2);-- 产品的所需金额
|
||
declare playername varchar(100); -- 充入者的昵称
|
||
declare playerroomcard int(11); -- 充入者的房卡数量
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验微信公众号用户
|
||
call cp_check_4_salesuser(agentid, openid, result, error, username, usersalesman);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验productid
|
||
call cp_check_5_product(agentid, productid, result, error, productname, productamount, productmoney);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
if (billtype = 0) then
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
end if;
|
||
|
||
-- 获取渠道商id
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid into channelid from agent_channel where agch_agentid = agentid order by idx limit 1;
|
||
end if;
|
||
|
||
-- 保存订单
|
||
if (billtype = 0) then
|
||
insert into sales_buybill(sabu_agentid, sabu_openid, sabu_channelid, sabu_billcode, sabu_productid,
|
||
sabu_amount, sabu_money, sabu_createtime, sabu_billtype,
|
||
sabu_playerid, sabu_playername)
|
||
values(agentid, openid, channelid, billcode, productid, productamount, productmoney, now(),
|
||
billtype, playerid, playername);
|
||
else
|
||
insert into sales_buybill(sabu_agentid, sabu_openid, sabu_channelid, sabu_billcode, sabu_productid,
|
||
sabu_amount, sabu_money, sabu_createtime, sabu_billtype)
|
||
values(agentid, openid, channelid, billcode, productid, productamount, productmoney, now(), billtype);
|
||
|
||
-- 保存个人代理的联系方式
|
||
update sales_user set saus_tel = tel, saus_wechat = wechat where saus_agentid = agentid and saus_openid = openid;
|
||
end if;
|
||
|
||
-- 返回执行结果
|
||
select result, error, productname, productamount, productmoney, playername;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_pay_query
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_pay_query`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_pay_query`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `billcode` varchar(50) charset utf8 collate utf8_general_ci ,IN `paymoney` decimal(10,2) ,IN `appid` varchar(50) charset utf8 collate utf8_general_ci ,IN `devkey` varchar(50) charset utf8 collate utf8_general_ci ,IN `business_id` varchar(50) charset utf8 collate utf8_general_ci ,IN `parentid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '订单支付查询成功,修改实际支付金额'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare username varchar(100); -- 微信公众号用户昵称
|
||
declare usersalesman tinyint(1); -- 微信公众号用户是否是个人代理
|
||
declare billtype tinyint(1); -- 订单类型
|
||
declare playerid int(8); -- 充入者玩家id
|
||
declare playername varchar(100); -- 充入者昵称
|
||
declare amount int(11); -- 购卡数量
|
||
declare money decimal(10,2);-- 产品中的所需金额
|
||
declare paystate tinyint(1); -- 支付状态
|
||
declare roomcard int(11); -- 购卡后房卡数量
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验微信公众号用户
|
||
call cp_check_4_salesuser(agentid, openid, result, error, username, usersalesman);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验订单
|
||
call cp_check_6_buybill(agentid, billcode, result, error, billtype, playerid, playername, amount, money, paystate);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 修改实际支付金额
|
||
update sales_buybill set sabu_paymoney = paymoney,
|
||
sabu_appid = appid, sabu_devkey = devkey,
|
||
sabu_business_id = business_id
|
||
where sabu_agentid = agentid and sabu_billcode = billcode;
|
||
|
||
-- 返回执行结果
|
||
if (billtype = 0) then
|
||
-- 返回玩家购卡后的房卡数量
|
||
select play_roomcard into roomcard from player where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 返回执行结果
|
||
select result, error, billtype, playerid, playername, amount, roomcard;
|
||
else
|
||
-- 无推荐人
|
||
if isnull(parentid) or (parentid = '') or (parentid = 0) then
|
||
select result, error, billtype, saus_salesid as salesid,
|
||
saus_nickname as salesname, amount, saus_roomcard as roomcard
|
||
from sales_user where saus_agentid = agentid and saus_openid = openid;
|
||
else
|
||
select result, error, billtype, u.saus_salesid as salesid,
|
||
u.saus_nickname as salesname, amount, u.saus_roomcard as roomcard,
|
||
p.saus_salesid as parentid, p.saus_nickname as parentname
|
||
from sales_user as u
|
||
left join sales_user as p on p.saus_agentid = agentid
|
||
and p.saus_salesid = u.saus_parentid
|
||
where u.saus_agentid = agentid
|
||
and u.saus_openid = openid;
|
||
end if;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_pay_succ
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_pay_succ`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_pay_succ`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `billcode` varchar(50) charset utf8 collate utf8_general_ci ,IN `transid` varchar(100) charset utf8 collate utf8_general_ci ,IN `outtradeNo` varchar(100) charset utf8 collate utf8_general_ci ,IN `signkey` varchar(50) charset utf8 collate utf8_general_ci ,IN `paymoney` decimal(10,2) ,IN `parentid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '订单支付成功'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare username varchar(100); -- 微信公众号用户昵称
|
||
declare usersalesman tinyint(1); -- 微信公众号用户是否是个人代理
|
||
declare usersalesid int(8); -- 个人代理id
|
||
declare userparentid int(8); -- 上级个人代理id
|
||
declare billtype tinyint(1); -- 订单类型
|
||
declare playerid int(8); -- 充入者玩家id
|
||
declare playername varchar(100); -- 充入者昵称
|
||
declare amount int(11); -- 购卡数量
|
||
declare money decimal(10,2);-- 产品中的所需金额
|
||
declare paystate tinyint(1); -- 支付状态
|
||
declare roomcard int(11); -- 购卡后房卡数量
|
||
declare salesid int(8); -- 新代理id
|
||
declare salespower varchar(10); -- 默认的个人代理权限
|
||
|
||
declare salesid1 int(8); -- 玩家绑定的上一级个人代理id
|
||
declare salesid2 int(8); -- 玩家绑定的上二级个人代理id
|
||
declare pushrate1 int(4); -- 玩家的上一级代理的提成比例
|
||
declare pushrate2 int(4); -- 玩家的上二级代理的提成比例
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验微信公众号用户
|
||
call cp_check_4_salesuser(agentid, openid, result, error, username, usersalesman);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验订单
|
||
call cp_check_6_buybill(agentid, billcode, result, error, billtype, playerid, playername, amount, money, paystate);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if paystate = 1 then
|
||
set result = 11;
|
||
set error = '订单已支付';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 获取渠道商id
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid into channelid from agent_channel where agch_agentid = agentid order by idx limit 1;
|
||
end if;
|
||
|
||
-- 检验signkey
|
||
if not exists(select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid and agch_youle_signkey = signkey) then
|
||
set result = 12;
|
||
set error = '微信支付签名不正确';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 修改订单状态
|
||
update sales_buybill set sabu_paystate = 1, sabu_paytime = now(),
|
||
sabu_transid = transid, sabu_outtradeNo = outtradeNo,
|
||
sabu_signkey = signkey, sabu_paymoney = paymoney
|
||
where sabu_agentid = agentid and sabu_billcode = billcode;
|
||
|
||
-- 统计总流水
|
||
update agent set agen_selftotal = agen_selftotal + paymoney where agen_agentid = agentid;
|
||
|
||
-- 按日期统计房卡销售金额
|
||
call cp_report_agent_day(agentid, 3, paymoney);
|
||
|
||
-- 检验支付金额
|
||
if paymoney <> money then
|
||
set result = 13;
|
||
set error = '支付金额不正确';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 完成购买任意金额房卡的任务
|
||
call cp_sales_finish_task(agentid, openid, null, 'heB1piC7b8M4nfifn34k9ouV2qL9osTM');
|
||
|
||
if (billtype = 0) then
|
||
-- 修改玩家房卡数量
|
||
update player set play_roomcard = play_roomcard + amount
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 返回玩家购卡后的房卡数量
|
||
select play_roomcard into roomcard from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 统计绑定的个人代理的提成
|
||
select play_invitecode into salesid1
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
if not isnull(salesid1) then
|
||
select saus_parentid, saus_pushrate1 into salesid2, pushrate1
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_salesid = salesid1;
|
||
|
||
update sales_buybill set sabu_pushsalesid1 = salesid1,
|
||
sabu_pushrate1 = pushrate1,
|
||
sabu_pushmoney1 = if(isnull(pushrate1), null, paymoney * pushrate1 / 100)
|
||
where sabu_agentid = agentid and sabu_billcode = billcode;
|
||
|
||
if not isnull(pushrate1) then
|
||
update sales_user set saus_pushmoney1 = saus_pushmoney1 + paymoney * pushrate1 / 100
|
||
where saus_agentid = agentid and saus_salesid = salesid1;
|
||
end if;
|
||
|
||
if not isnull(salesid2) then
|
||
select saus_pushrate2 into pushrate2
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_salesid = salesid2;
|
||
|
||
update sales_buybill set sabu_pushsalesid2 = salesid2,
|
||
sabu_pushrate2 = pushrate2,
|
||
sabu_pushmoney2 = if(isnull(pushrate2), null, paymoney * pushrate2 / 100)
|
||
where sabu_agentid = agentid and sabu_billcode = billcode;
|
||
|
||
if not isnull(pushrate2) then
|
||
update sales_user set saus_pushmoney2 = saus_pushmoney2 + paymoney * pushrate2 / 100
|
||
where saus_agentid = agentid and saus_salesid = salesid2;
|
||
end if;
|
||
end if;
|
||
end if;
|
||
|
||
-- 返回执行结果
|
||
select result, error, billtype, playerid, playername, amount, roomcard;
|
||
else
|
||
if (usersalesman = 0) then
|
||
-- 新个人代理
|
||
update agent set agen_maxsalesid = agen_maxsalesid + floor(rand() * (12-6) + 6) where agen_agentid = agentid;
|
||
|
||
select agen_maxsalesid, agen_salespower
|
||
into salesid, salespower
|
||
from agent
|
||
where agen_agentid = agentid;
|
||
|
||
-- 无推荐人
|
||
if isnull(parentid) or (parentid = '') or (parentid = 0) then
|
||
update sales_user set saus_roomcard = saus_roomcard + amount,
|
||
saus_salesman = 1, saus_salesid = salesid,
|
||
saus_level = 0, saus_saletime = now(),
|
||
saus_salestype = 1, saus_power = salespower
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
else -- 有推荐人
|
||
update sales_user set saus_roomcard = saus_roomcard + amount,
|
||
saus_salesman = 1, saus_salesid = salesid,
|
||
saus_saletime = now(),
|
||
saus_salestype = 1, saus_power = salespower,
|
||
saus_parentid = parentid
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
-- 推荐人奖励
|
||
call cp_sales_new_award(agentid, parentid, salesid, 0, billcode);
|
||
end if;
|
||
|
||
-- 按日期统计新增个人代理人数
|
||
call cp_report_agent_day(agentid, 1, 1);
|
||
else
|
||
-- 老个人代理
|
||
update sales_user set saus_roomcard = saus_roomcard + amount
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
-- 推荐人的奖励
|
||
select saus_salesid, saus_parentid into usersalesid, userparentid
|
||
from sales_user where saus_agentid = agentid and saus_openid = openid;
|
||
if not isnull(userparentid) then
|
||
call cp_sales_new_award(agentid, userparentid, usersalesid, 1, billcode);
|
||
end if;
|
||
end if;
|
||
|
||
-- 返回执行结果
|
||
select result, error, billtype;
|
||
end if;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_player_binding_invitecode
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_player_binding_invitecode`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_player_binding_invitecode`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `invitecode` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '玩家自动绑定邀请码'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
declare salesid int(8);
|
||
declare nickname varchar(100);
|
||
declare avatar varchar(200);
|
||
declare wechat varchar(50);
|
||
declare tel varchar(20);
|
||
|
||
declare myinvitecode int(8); -- 已经绑定的邀请码
|
||
|
||
-- 检验邀请码是否存在
|
||
select saus_salesid, saus_nickname, saus_avatar, saus_wechat, saus_tel
|
||
into salesid, nickname, avatar, wechat, tel
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesid = invitecode
|
||
and saus_salesman = 1;
|
||
|
||
if isnull(salesid) then
|
||
set result = 1;
|
||
set error = '邀请码不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查是否已经绑定了邀请码
|
||
select saus_invitecode into myinvitecode
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
if isnull(myinvitecode) then
|
||
update sales_user
|
||
set saus_invitecode = invitecode
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
set result = 0;
|
||
set error = '绑定邀请码成功';
|
||
else
|
||
set result = 2;
|
||
set error = '已经绑定过邀请码,不能再次绑定';
|
||
|
||
select saus_salesid, saus_nickname, saus_avatar, saus_wechat, saus_tel
|
||
into salesid, nickname, avatar, wechat, tel
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesid = myinvitecode
|
||
and saus_salesman = 1;
|
||
end if;
|
||
|
||
select result, error, salesid, nickname, avatar, wechat, tel;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_query_player
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_query_player`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_query_player`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `playerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '通过玩家id查询玩家昵称和房卡数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare roomcard int(11); -- 个人代理房卡数量
|
||
declare playername varchar(100); -- 充入者的昵称
|
||
declare playerroomcard int(11); -- 充入者的房卡数量
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验是否是个人代理
|
||
call cp_check_7_salesman(agentid, openid, result, error, roomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select result, error, playerid, playername, playerroomcard;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_query_player_bean
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_query_player_bean`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_query_player_bean`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `playerid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '通过玩家id查询玩家昵称和房卡数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare _playerid int(8);
|
||
declare playername varchar(100); -- 玩家的昵称
|
||
declare playerbean int(11); -- 玩家的星星数量
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验是否是个人代理
|
||
if not exists(select 1 from sales_user where saus_agentid = agentid and saus_openid = openid and saus_salesman = 1) then
|
||
set result = 7;
|
||
set error = '您不是个人代理';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
select play_playerid, play_nickname, play_bean into _playerid, playername, playerbean
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
if isnull(_playerid) then
|
||
set result = 2;
|
||
set error = '玩家不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select result, error, playerid, playername, playerbean;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_query_salesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_query_salesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_query_salesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `salesid` int(8))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '通过个人代理id查询个人代理昵称和房卡数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare roomcard int(11); -- 用户的房卡数量
|
||
declare salesname varchar(100); -- 查询的个人代理昵称
|
||
declare salesroomcard int(11); -- 查询的个人代理房卡数量
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验用户是否是个人代理
|
||
call cp_check_7_salesman(agentid, openid, result, error, roomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验salesid
|
||
call cp_check_9_salesman(agentid, salesid, result, error, salesname, salesroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
select result, error, salesid, salesname, salesroomcard;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_topup_player
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_topup_player`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_topup_player`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `amount` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '个人代理给玩家充卡'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare roomcard int(11); -- 个人代理房卡数量
|
||
declare playername varchar(100); -- 充入者的昵称
|
||
declare playerroomcard int(11); -- 充入者的房卡数量
|
||
|
||
declare salespower varchar(10); -- 个人代理的权限
|
||
declare topuppower varchar(1); -- 给玩家充值权限
|
||
declare playerinvitecode int(8); -- 充入者绑定的邀请码
|
||
declare mysalesid int(8); -- 我的个人代理id
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验是否是个人代理
|
||
call cp_check_7_salesman(agentid, openid, result, error, roomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
call cp_check_2_player(agentid, playerid, result, error, playername, playerroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验个人代理的房卡数量是否够
|
||
if roomcard < amount then
|
||
set result = 11;
|
||
set error = '房卡数量不足';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 充卡数量不能是负数
|
||
if amount < 0 then
|
||
set result = 12;
|
||
set error = '充卡数量必须大于0';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 判断是否有给玩家充值的权限
|
||
select saus_salesid, saus_power
|
||
into mysalesid, salespower
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
if isnull(salespower) then
|
||
select agen_salespower
|
||
into salespower
|
||
from agent
|
||
where agen_agentid = agentid;
|
||
end if;
|
||
|
||
set topuppower = substring(salespower, 2, 1);
|
||
|
||
if topuppower = '0' then
|
||
set result = 13;
|
||
set error = '您没有给玩家充卡的权限';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if topuppower = '1' then
|
||
select play_invitecode into playerinvitecode
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_playerid = playerid;
|
||
|
||
if isnull(playerinvitecode) or (playerinvitecode <> mysalesid) then
|
||
set result = 14;
|
||
set error = '只能给绑定了自己邀请码的玩家充卡';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
end if;
|
||
|
||
-- 保存充卡记录
|
||
insert into sales_sellbill(sase_agentid, sase_openid, sase_playerid,
|
||
sase_amount, sase_selltime)
|
||
values(agentid, openid, playerid, amount, now());
|
||
|
||
-- 修改个人代理的房卡数量
|
||
update sales_user set saus_roomcard = saus_roomcard - amount
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
select saus_roomcard into roomcard from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
-- 修改玩家的房卡数量
|
||
update player set play_roomcard = play_roomcard + amount
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
select play_roomcard into playerroomcard from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 返回执行结果
|
||
select result, error, roomcard, amount, playerid, playername, playerroomcard;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_topup_player_bean
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_topup_player_bean`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_topup_player_bean`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `playerid` int(8) ,IN `amount` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '个人代理给玩家充星星'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentsalespower varchar(10); -- 代理商设置的默认权限
|
||
declare salesid int(8); -- 我的个人代理id
|
||
declare salespower varchar(10); -- 个人代理的权限
|
||
declare topuppower varchar(1); -- 给玩家充星星权限
|
||
declare salesbean int(11); -- 个人代理星星数量
|
||
declare _playerid int(8); -- 玩家id
|
||
declare playername varchar(100); -- 玩家昵称
|
||
declare playerbean int(11); -- 玩家星星数量
|
||
declare playerinvitecode int(8); -- 玩家绑定的邀请码
|
||
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
set agentsalespower = '';
|
||
select agen_salespower into agentsalespower from agent where agen_agentid = agentid;
|
||
if isnull(agentsalespower) then
|
||
set result = 1;
|
||
set error = '运营商不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验是否是个人代理
|
||
select saus_salesid, saus_power, saus_bean into salesid, salespower, salesbean
|
||
from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid and saus_salesman = 1;
|
||
if isnull(salesid) then
|
||
set result = 7;
|
||
set error = '您不是个人代理';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验playerid
|
||
select play_playerid, play_nickname, play_invitecode into _playerid, playername, playerinvitecode
|
||
from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
if isnull(_playerid) then
|
||
set result = 2;
|
||
set error = '玩家不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 充值数量不能是负数
|
||
if amount < 0 then
|
||
set result = 12;
|
||
set error = '充值数量必须大于0';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验个人代理的星星数量是否够
|
||
if salesbean < amount then
|
||
set result = 11;
|
||
set error = '星星数量不足';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 判断是否有给玩家充值的权限
|
||
if isnull(salespower) then
|
||
set salespower = agentsalespower;
|
||
end if;
|
||
set topuppower = substring(salespower, 3, 1);
|
||
|
||
if topuppower = '' or topuppower = '0' then
|
||
set result = 13;
|
||
set error = '您没有给玩家充值的权限';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if topuppower = '1' then
|
||
if isnull(playerinvitecode) or (playerinvitecode <> salesid) then
|
||
set result = 14;
|
||
set error = '只能给绑定了自己邀请码的玩家充值星星';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
end if;
|
||
|
||
-- 保存充卡记录
|
||
insert into sales_sellbill_bean(
|
||
ssbe_agentid, ssbe_openid, ssbe_playerid, ssbe_amount, ssbe_selltime)
|
||
values(agentid, openid, playerid, amount, now());
|
||
|
||
-- 修改个人代理的星星数量
|
||
update sales_user set saus_bean = saus_bean - amount
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
select saus_bean into salesbean from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
-- 修改玩家的房卡数量
|
||
update player set play_bean = play_bean + amount
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
select play_bean into playerbean from player
|
||
where play_agentid = agentid and play_playerid = playerid;
|
||
|
||
-- 返回执行结果
|
||
select result, error, salesbean, amount, playerid, playername, playerbean;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_topup_salesman
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_topup_salesman`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_topup_salesman`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `salesid` int(8) ,IN `amount` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '个人代理给其他个人代理转卡'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare agentname varchar(100); -- 代理商名称
|
||
declare roomcard int(11); -- 个人代理房卡数量
|
||
declare salesname varchar(100); -- 转入的个人代理昵称
|
||
declare salesroomcard int(11); -- 转入的个人代理房卡数量
|
||
|
||
declare salespower varchar(10);-- 个人代理的权限
|
||
declare topuppower varchar(1); -- 转卡权限
|
||
declare parentid int(8); -- 充入者的上级代理id
|
||
declare mysalesid int(8); -- 我的个人代理id
|
||
|
||
set result = 0;
|
||
-- 检验agentid
|
||
call cp_check_1_agent(agentid, result, error, agentname);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验是否是个人代理
|
||
call cp_check_7_salesman(agentid, openid, result, error, roomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验salesid
|
||
call cp_check_9_salesman(agentid, salesid, result, error, salesname, salesroomcard);
|
||
if result > 0 then
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验个人代理的房卡数量是否够
|
||
if roomcard < amount then
|
||
set result = 11;
|
||
set error = '房卡数量不足';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 转卡数量不能是负数
|
||
if amount < 0 then
|
||
set result = 12;
|
||
set error = '转卡数量必须大于0';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
|
||
-- 判断是否有给转卡的权限
|
||
select saus_salesid, saus_power
|
||
into mysalesid, salespower
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_openid = openid;
|
||
|
||
if isnull(salespower) then
|
||
select agen_salespower
|
||
into salespower
|
||
from agent
|
||
where agen_agentid = agentid;
|
||
end if;
|
||
|
||
set topuppower = substring(salespower, 1, 1);
|
||
|
||
if topuppower = '0' then
|
||
set result = 13;
|
||
set error = '您没有给其他代理转卡的权限';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if topuppower = '1' then
|
||
select saus_parentid into parentid
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_salesid = salesid;
|
||
|
||
if isnull(parentid) or (parentid <> mysalesid) then
|
||
set result = 14;
|
||
set error = '只能给绑定了自己邀请码的子代理转卡';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
end if;
|
||
|
||
-- 保存转卡记录
|
||
insert into sales_transferbill(satr_agentid, satr_openid, satr_salesid,
|
||
satr_amount, satr_transfertime)
|
||
values(agentid, openid, salesid, amount, now());
|
||
|
||
-- 修改转出的个人代理的房卡数量
|
||
update sales_user set saus_roomcard = saus_roomcard - amount
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
select saus_roomcard into roomcard from sales_user
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
-- 修改转入的个人代理的房卡数量
|
||
update sales_user set saus_roomcard = saus_roomcard + amount
|
||
where saus_agentid = agentid and saus_salesid = salesid;
|
||
|
||
select saus_roomcard into salesroomcard from sales_user
|
||
where saus_agentid = agentid and saus_salesid = salesid;
|
||
|
||
-- 返回执行结果
|
||
select result, error, roomcard, amount, salesid, salesname, salesroomcard;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_update_mywechat
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_update_mywechat`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_update_mywechat`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `wechat` varchar(50) charset utf8 collate utf8_general_ci ,IN `tel` varchar(20) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '修改个人代理的联系方式'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
|
||
set result = 0;
|
||
|
||
-- 检验agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = '运营商id不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检验微信公众号用户
|
||
if not exists(select 1 from sales_user where saus_agentid = agentid and saus_openid = openid) then
|
||
set result = 2;
|
||
set error = '用户不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update sales_user set saus_wechat = wechat, saus_tel = tel
|
||
where saus_agentid = agentid and saus_openid = openid;
|
||
|
||
-- 返回执行结果
|
||
select result, error;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_sales_user_login
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_sales_user_login`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_sales_user_login`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` tinyint(1) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '微信公众号用户登录'
|
||
begin
|
||
declare old_openid varchar(100);
|
||
declare salesman tinyint(1);
|
||
declare salesid int(8);
|
||
declare saleslevel int(4);
|
||
declare salestype tinyint(1);
|
||
declare roomcard int(11);
|
||
declare bean int(11);
|
||
declare pushmoney decimal(10,2);
|
||
declare salespower varchar(10);
|
||
declare playerask tinyint(1);
|
||
declare salesask tinyint(1);
|
||
declare invitecode int(8);
|
||
|
||
-- 获取代理商id
|
||
if not exists (select 1 from agent where agen_agentid = agentid) then
|
||
select agen_agentid into agentid from agent order by idx limit 1;
|
||
end if;
|
||
|
||
-- 获取渠道商id
|
||
if not exists (select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
select agch_channelid into channelid from agent_channel where agch_agentid = agentid order by idx limit 1;
|
||
end if;
|
||
|
||
-- 获取用户信息
|
||
select saus_openid, saus_salesman, saus_salesid, saus_level, saus_salestype,
|
||
saus_roomcard, saus_bean, saus_power, saus_invitecode,
|
||
ifnull(saus_pushmoney1, 0) + ifnull(saus_pushmoney2, 0)
|
||
into old_openid, salesman, salesid, saleslevel, salestype,
|
||
roomcard, bean, salespower, invitecode, pushmoney
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_unionid = unionid;
|
||
|
||
if isnull(old_openid) then
|
||
-- 新用户
|
||
insert into sales_user (saus_agentid, saus_channelid, saus_openid, saus_unionid,
|
||
saus_nickname, saus_avatar, saus_sex, saus_province,
|
||
saus_city, saus_firsttime, saus_lasttime)
|
||
values (agentid, channelid, openid, unionid, nickname, avatar, sex, province, city, now(), now());
|
||
else
|
||
-- 老用户
|
||
update sales_user set saus_openid = openid, saus_nickname = nickname,
|
||
saus_avatar = avatar, saus_sex = sex,
|
||
saus_province = province, saus_city = city,
|
||
saus_lasttime = now()
|
||
where saus_agentid = agentid and saus_unionid = unionid;
|
||
|
||
-- 更换了授权后openid会发生变化
|
||
if openid <> old_openid then
|
||
update sales_buybill set sabu_openid = openid where sabu_agentid = agentid and sabu_openid = old_openid;
|
||
update sales_sellbill set sase_openid = openid where sase_agentid = agentid and sase_openid = old_openid;
|
||
update sales_sellbill_bean set ssbe_openid = openid where ssbe_agentid = agentid and ssbe_openid = old_openid;
|
||
update sales_transferbill set satr_openid = openid where satr_agentid = agentid and satr_openid = old_openid;
|
||
end if;
|
||
end if;
|
||
|
||
select saus_openid, saus_salesman, saus_salesid, saus_level, saus_salestype,
|
||
saus_roomcard, saus_bean, saus_power, saus_invitecode,
|
||
ifnull(saus_pushmoney1, 0) + ifnull(saus_pushmoney2, 0)
|
||
into old_openid, salesman, salesid, saleslevel, salestype,
|
||
roomcard, bean, salespower, invitecode, pushmoney
|
||
from sales_user
|
||
where saus_agentid = agentid
|
||
and saus_unionid = unionid;
|
||
|
||
if salesman = 1 then
|
||
-- 获取是否有新的玩家索要房卡记录
|
||
if exists(select 1 from sales_ask_bill
|
||
where saab_agentid = agentid
|
||
and saab_salesid = salesid
|
||
and saab_state = 0
|
||
and saab_type = 0) then
|
||
set playerask = 1;
|
||
else
|
||
set playerask = 0;
|
||
end if;
|
||
|
||
-- 获取是否有新的代理索要房卡记录
|
||
if exists(select 1 from sales_ask_bill
|
||
where saab_agentid = agentid
|
||
and saab_salesid = salesid
|
||
and saab_state = 0
|
||
and saab_type = 1) then
|
||
set salesask = 1;
|
||
else
|
||
set salesask = 0;
|
||
end if;
|
||
end if;
|
||
|
||
-- 完成关注公众号的任务
|
||
call cp_sales_finish_task(agentid, null, unionid, 'lXA1XUuHPvKyupdGlbQI4y5D37Kbgodo');
|
||
|
||
-- 看是否绑定过邀请码
|
||
if isnull(invitecode) then
|
||
select play_invitecode into invitecode
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid;
|
||
|
||
if not isnull(invitecode) then
|
||
update sales_user set saus_invitecode = invitecode
|
||
where saus_agentid = agentid
|
||
and saus_unionid = unionid;
|
||
end if;
|
||
end if;
|
||
|
||
-- 返回结果
|
||
select salesman, salesid, saleslevel, salestype, roomcard, bean,
|
||
salespower, playerask, salesask, pushmoney;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_third_change_roomcard
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_third_change_roomcard`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_third_change_roomcard`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `amount` int(11))
|
||
SQL SECURITY INVOKER
|
||
COMMENT '修改房卡数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare playerid int(8); -- 玩家id
|
||
declare roomcard int(11); -- 玩家房卡数量
|
||
|
||
-- 检查agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = 'a参数错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查channelid
|
||
if not exists(select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
set result = 2;
|
||
set error = 'c参数错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查gameid
|
||
if not exists(select 1 from game where game_gameid = gameid) then
|
||
set result = 3;
|
||
set error = 'g参数错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查玩家
|
||
select play_roomcard into roomcard
|
||
from player
|
||
where play_agentid = agentid and play_unionid = unionid;
|
||
if isnull(roomcard) then
|
||
set result = 4;
|
||
set error = '玩家不存在';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
if amount > 0 then
|
||
set result = 5;
|
||
set error = '没有该权限';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查房卡数量是否够
|
||
if roomcard < -1 * amount then
|
||
set result = 6;
|
||
set error = '玩家房卡数量不够';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
update player set play_roomcard = play_roomcard + amount
|
||
where play_agentid = agentid and play_unionid = unionid;
|
||
|
||
-- 返回执行结果
|
||
set result = 0;
|
||
set error = '';
|
||
select result, error, play_playerid as playerid, play_roomcard as roomcard, amount
|
||
from player
|
||
where play_agentid = agentid and play_unionid = unionid;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
-- ----------------------------
|
||
-- Procedure structure for cp_third_get_roomcard
|
||
-- ----------------------------
|
||
DROP PROCEDURE IF EXISTS `cp_third_get_roomcard`;
|
||
delimiter ;;
|
||
CREATE PROCEDURE `cp_third_get_roomcard`(IN `agentid` varchar(32) charset utf8 collate utf8_general_ci ,IN `channelid` varchar(32) charset utf8 collate utf8_general_ci ,IN `gameid` varchar(32) charset utf8 collate utf8_general_ci ,IN `openid` varchar(100) charset utf8 collate utf8_general_ci ,IN `unionid` varchar(100) charset utf8 collate utf8_general_ci ,IN `nickname` varchar(100) charset utf8 collate utf8_general_ci ,IN `avatar` varchar(200) charset utf8 collate utf8_general_ci ,IN `sex` int(11) ,IN `province` varchar(100) charset utf8 collate utf8_general_ci ,IN `city` varchar(100) charset utf8 collate utf8_general_ci)
|
||
SQL SECURITY INVOKER
|
||
COMMENT '获取房卡数量'
|
||
label_cp: begin
|
||
declare result tinyint(1); -- 0:成功 >0:失败
|
||
declare error varchar(100); -- 失败描述
|
||
declare playerid int(8); -- 玩家id
|
||
declare roomcard int(11); -- 玩家房卡数量
|
||
|
||
-- 检查agentid
|
||
if not exists(select 1 from agent where agen_agentid = agentid) then
|
||
set result = 1;
|
||
set error = 'a参数错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查channelid
|
||
if not exists(select 1 from agent_channel where agch_agentid = agentid and agch_channelid = channelid) then
|
||
set result = 2;
|
||
set error = 'c参数错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查gameid
|
||
if not exists(select 1 from game where game_gameid = gameid) then
|
||
set result = 3;
|
||
set error = 'g参数错误';
|
||
select result, error;
|
||
leave label_cp;
|
||
end if;
|
||
|
||
-- 检查是否是新玩家
|
||
select play_playerid, play_roomcard
|
||
into playerid, roomcard
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid;
|
||
|
||
if isnull(playerid) then
|
||
-- 新玩家
|
||
update agent set agen_maxplayerid = agen_maxplayerid + 1 where agen_agentid = agentid;
|
||
|
||
select agen_maxplayerid into playerid from agent where agen_agentid = agentid;
|
||
|
||
insert into player(play_agentid, play_playerid, play_channelid, play_openid,
|
||
play_unionid, play_nickname, play_avatar, play_sex,
|
||
play_province, play_city, play_regtime, play_lasttime)
|
||
values(agentid, playerid, channelid, openid, unionid, nickname, avatar, sex, province, city, now(), now());
|
||
|
||
select play_roomcard
|
||
into roomcard
|
||
from player
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid;
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_agent_day(agentid, 0, 1);
|
||
else
|
||
-- 老玩家
|
||
update player set play_nickname = nickname, play_avatar = avatar, play_openid = openid,
|
||
play_sex = sex, play_province = province, play_city = city,
|
||
play_logindate = play_logindate + if(datediff(now(), play_lasttime) = 0, 0, 1),
|
||
play_lasttime = now()
|
||
where play_agentid = agentid
|
||
and play_unionid = unionid;
|
||
end if;
|
||
|
||
-- 统计玩家的最后登录时间和累积登录天数
|
||
if not exists(select 1 from agent_game_player
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid) then
|
||
insert into agent_game_player(agpl_agentid, agpl_gameid, agpl_playerid, agpl_openid, agpl_firsttime, agpl_lasttime)
|
||
values(agentid, gameid, playerid, openid, now(), now());
|
||
|
||
-- 按日期统计新增玩家数量
|
||
call cp_report_game_day(agentid, gameid, now(), 0, 1, null);
|
||
else
|
||
update agent_game_player
|
||
set agpl_logindate = agpl_logindate + if(datediff(now(), agpl_lasttime) = 0, 0, 1),
|
||
agpl_lasttime = now()
|
||
where agpl_agentid = agentid
|
||
and agpl_gameid = gameid
|
||
and agpl_playerid = playerid;
|
||
end if;
|
||
|
||
-- 返回执行结果
|
||
set result = 0;
|
||
set error = '';
|
||
select result, error, playerid, roomcard;
|
||
end
|
||
;;
|
||
delimiter ;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|