|
@@ -135,6 +135,24 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Page<Map> getRoleCombatRanking(RoleCombatRankingDTO dto) {
|
|
|
+ //查询条件
|
|
|
+ Criteria cri = Cnd.cri();
|
|
|
+ if (dto.getGameId() != null) {
|
|
|
+ //父游戏ID
|
|
|
+ cri.where().andEquals("parent_game_id", dto.getGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //拼接区服开服时间
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ cri.where().andInList("server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (dto.getRankingNum() != null) {
|
|
|
+ //排名的个数
|
|
|
+ cri.where().andEquals("rank_num", dto.getRankingNum());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return null;
|
|
|
}
|
|
|
|
|
@@ -234,6 +252,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
TIMESTAMPDIFF(SECOND, i.user_pay_time, NOW()) as user_pay_until_now, -- 玩家最近充值距今(秒)
|
|
|
j.is_send_mail as is_send_mail, -- 是否发送邮件
|
|
|
j.send_gift_id as send_gift_id, -- 最新发送礼包id
|
|
|
+ k.gift_name as gift_name, -- 礼包名
|
|
|
j.is_change_game_type as is_change_game_type, -- 是否转端 1-是;0-否
|
|
|
j.is_add_corp_wechat as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
|
|
|
j.add_corp_user_id as add_corp_user_id, -- 企微号
|
|
@@ -350,150 +369,158 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
FROM dm_game_order.t_game_order
|
|
|
""" + criTodayAmount +
|
|
|
"""
|
|
|
- GROUP BY role_id ,source_system
|
|
|
- ) p on a.source_system = p.source_system AND a.role_id = p.role_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 区服名
|
|
|
- source_system ,
|
|
|
- game_id,
|
|
|
- server_id,
|
|
|
- server_name
|
|
|
- FROM dm_game_order.t_game_server
|
|
|
- ) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
|
|
|
- LEFT JOIN (
|
|
|
- -- 玩家信息
|
|
|
- -- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
|
|
|
- SELECT
|
|
|
- i.source_system as source_system,
|
|
|
- i.association_user_id as association_user_id, -- 来源用户id
|
|
|
- i.id as id, -- 玩家id
|
|
|
- i.username as username,
|
|
|
- i.nickname as nickname,
|
|
|
- i.reg_mobile as reg_mobile,
|
|
|
- i.reg_email as reg_email,
|
|
|
- i.user_create_time as user_create_time,
|
|
|
- i.user_reg_game_id as user_reg_game_id,
|
|
|
- k.game_name as user_reg_game_name,
|
|
|
- i.agent_id as agent_id,
|
|
|
- IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
|
|
|
- j.pitcher_id as put_user_id,
|
|
|
- l.active_time as user_active_time,
|
|
|
- m.user_last_recharge_game_id as user_last_recharge_game_id,
|
|
|
- n.game_name as user_last_recharge_game_name, --
|
|
|
- m.pay_time as user_pay_time -- 玩家最近充值时间
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- *
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- association_user_id, -- 来源用户id
|
|
|
- id , -- 玩家id
|
|
|
- username ,
|
|
|
- nickname ,
|
|
|
- reg_mobile ,
|
|
|
- reg_email ,
|
|
|
- create_time as user_create_time,
|
|
|
- game_id as user_reg_game_id,
|
|
|
- agent_id ,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
|
|
|
- FROM dm_game_order.t_game_user
|
|
|
- ) z WHERE z.num = 1
|
|
|
- ) i
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 渠道名称
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- agent_name,
|
|
|
- pitcher_id
|
|
|
- FROM dm_game_order.t_pitcher_agent
|
|
|
- ) j ON i.agent_id = j.id AND i.source_system = j.source_system
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 玩家注册游戏名
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- game_name
|
|
|
- FROM dm_game_order.t_game
|
|
|
- ) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
|
|
|
- LEFT JOIN (
|
|
|
- -- 玩家最近活跃时间
|
|
|
- SELECT
|
|
|
- association_user_id,
|
|
|
- b.source_system,
|
|
|
- b.active_time,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
|
|
|
- FROM dm_game_order.t_game_user a
|
|
|
- RIGHT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- user_id,
|
|
|
- active_time
|
|
|
- FROM dm_game_order.t_active_log
|
|
|
- ) b ON a.source_system = b.source_system AND a.id = b.user_id
|
|
|
- ) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
|
|
|
- LEFT JOIN (
|
|
|
- -- 玩家最近充值游戏、玩家最近充值时间
|
|
|
- SELECT
|
|
|
- association_user_id,
|
|
|
- b.*,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
|
|
|
- FROM dm_game_order.t_game_user a
|
|
|
- RIGHT JOIN (
|
|
|
- -- 玩家最近充值游戏id、最近充值时间
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- user_id,
|
|
|
- game_id as user_last_recharge_game_id,
|
|
|
- pay_time
|
|
|
- FROM dm_game_order.t_game_order
|
|
|
- WHERE status = 2
|
|
|
- ) b on a.id = b.user_id AND a.source_system = b.source_system
|
|
|
- ) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 玩家最近充值游戏名
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- game_name
|
|
|
- FROM dm_game_order.t_game
|
|
|
- ) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
|
|
|
- ) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 操作表相关数据
|
|
|
- source_system,
|
|
|
- user_id,
|
|
|
- role_id,
|
|
|
- server_id,
|
|
|
- game_id,
|
|
|
- is_send_mail, -- 是否发送邮件
|
|
|
- send_gift_id, -- 最新发送礼包id
|
|
|
- is_change_game_type, -- 是否转端 1-是;0-否
|
|
|
- is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
|
|
|
- add_corp_user_id, -- 企微号
|
|
|
- user_wechat, -- 客户微信号
|
|
|
- user_phone, -- 客户手机号
|
|
|
- is_remove_game, -- 是否退游 1-是;0-否
|
|
|
- is_wake_up, -- 是否唤醒 1-是;0-否
|
|
|
- remark, -- 备注
|
|
|
- gs_id, -- GS_ID
|
|
|
- customer_service_id, -- 客服ID
|
|
|
- oper_user_id, -- 运营ID
|
|
|
- create_time, -- 创建时间
|
|
|
- create_by, -- 创建者
|
|
|
- update_time, -- 更新时间
|
|
|
- update_by, -- 更新者
|
|
|
- is_delete -- 是否删除 1-删除;0-正常
|
|
|
- FROM dm_game_order.t_role_operate
|
|
|
- ) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
|
|
|
- a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
|
|
|
- ) a
|
|
|
- """ + criA;
|
|
|
+ GROUP BY role_id ,source_system
|
|
|
+ ) p on a.source_system = p.source_system AND a.role_id = p.role_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 区服名
|
|
|
+ source_system ,
|
|
|
+ game_id,
|
|
|
+ server_id,
|
|
|
+ server_name
|
|
|
+ FROM dm_game_order.t_game_server
|
|
|
+ ) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
|
|
|
+ LEFT JOIN (
|
|
|
+ -- 玩家信息
|
|
|
+ -- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
|
|
|
+ SELECT
|
|
|
+ i.source_system as source_system,
|
|
|
+ i.association_user_id as association_user_id, -- 来源用户id
|
|
|
+ i.id as id, -- 玩家id
|
|
|
+ i.username as username,
|
|
|
+ i.nickname as nickname,
|
|
|
+ i.reg_mobile as reg_mobile,
|
|
|
+ i.reg_email as reg_email,
|
|
|
+ i.user_create_time as user_create_time,
|
|
|
+ i.user_reg_game_id as user_reg_game_id,
|
|
|
+ k.game_name as user_reg_game_name,
|
|
|
+ i.agent_id as agent_id,
|
|
|
+ IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
|
|
|
+ j.pitcher_id as put_user_id,
|
|
|
+ l.active_time as user_active_time,
|
|
|
+ m.user_last_recharge_game_id as user_last_recharge_game_id,
|
|
|
+ n.game_name as user_last_recharge_game_name, --
|
|
|
+ m.pay_time as user_pay_time -- 玩家最近充值时间
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ association_user_id, -- 来源用户id
|
|
|
+ id , -- 玩家id
|
|
|
+ username ,
|
|
|
+ nickname ,
|
|
|
+ reg_mobile ,
|
|
|
+ reg_email ,
|
|
|
+ create_time as user_create_time,
|
|
|
+ game_id as user_reg_game_id,
|
|
|
+ agent_id ,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
|
|
|
+ FROM dm_game_order.t_game_user
|
|
|
+ ) z WHERE z.num = 1
|
|
|
+ ) i
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 渠道名称
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ agent_name,
|
|
|
+ pitcher_id
|
|
|
+ FROM dm_game_order.t_pitcher_agent
|
|
|
+ ) j ON i.agent_id = j.id AND i.source_system = j.source_system
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 玩家注册游戏名
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ game_name
|
|
|
+ FROM dm_game_order.t_game
|
|
|
+ ) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
|
|
|
+ LEFT JOIN (
|
|
|
+ -- 玩家最近活跃时间
|
|
|
+ SELECT
|
|
|
+ association_user_id,
|
|
|
+ b.source_system,
|
|
|
+ b.active_time,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
|
|
|
+ FROM dm_game_order.t_game_user a
|
|
|
+ RIGHT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ user_id,
|
|
|
+ active_time
|
|
|
+ FROM dm_game_order.t_active_log
|
|
|
+ ) b ON a.source_system = b.source_system AND a.id = b.user_id
|
|
|
+ ) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
|
|
|
+ LEFT JOIN (
|
|
|
+ -- 玩家最近充值游戏、玩家最近充值时间
|
|
|
+ SELECT
|
|
|
+ association_user_id,
|
|
|
+ b.*,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
|
|
|
+ FROM dm_game_order.t_game_user a
|
|
|
+ RIGHT JOIN (
|
|
|
+ -- 玩家最近充值游戏id、最近充值时间
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ user_id,
|
|
|
+ game_id as user_last_recharge_game_id,
|
|
|
+ pay_time
|
|
|
+ FROM dm_game_order.t_game_order
|
|
|
+ WHERE status = 2
|
|
|
+ ) b on a.id = b.user_id AND a.source_system = b.source_system
|
|
|
+ ) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 玩家最近充值游戏名
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ game_name
|
|
|
+ FROM dm_game_order.t_game
|
|
|
+ ) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
|
|
|
+ ) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 操作表相关数据
|
|
|
+ source_system,
|
|
|
+ user_id,
|
|
|
+ role_id,
|
|
|
+ server_id,
|
|
|
+ game_id,
|
|
|
+ is_send_mail, -- 是否发送邮件
|
|
|
+ send_gift_id, -- 最新发送礼包id
|
|
|
+ is_change_game_type, -- 是否转端 1-是;0-否
|
|
|
+ is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
|
|
|
+ add_corp_user_id, -- 企微号
|
|
|
+ user_wechat, -- 客户微信号
|
|
|
+ user_phone, -- 客户手机号
|
|
|
+ is_remove_game, -- 是否退游 1-是;0-否
|
|
|
+ is_wake_up, -- 是否唤醒 1-是;0-否
|
|
|
+ remark, -- 备注
|
|
|
+ gs_id, -- GS_ID
|
|
|
+ customer_service_id, -- 客服ID
|
|
|
+ oper_user_id, -- 运营ID
|
|
|
+ create_time, -- 创建时间
|
|
|
+ create_by, -- 创建者
|
|
|
+ update_time, -- 更新时间
|
|
|
+ update_by, -- 更新者
|
|
|
+ is_delete -- 是否删除 1-删除;0-正常
|
|
|
+ FROM dm_game_order.t_role_operate
|
|
|
+ ) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
|
|
|
+ a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ game_id,
|
|
|
+ gift_name
|
|
|
+ FROM dm_game_order.t_game_gift
|
|
|
+ ) k on j.source_system = k.source_system AND j.send_gift_id = k.id AND j.game_id = k.game_id
|
|
|
+ ) a
|
|
|
+ """ + criA;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -561,6 +588,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
TIMESTAMPDIFF(SECOND, i.user_pay_time, NOW()) as user_pay_until_now, -- 玩家最近充值距今(秒)
|
|
|
j.is_send_mail as is_send_mail, -- 是否发送邮件
|
|
|
j.send_gift_id as send_gift_id, -- 最新发送礼包id
|
|
|
+ k.gift_name as gift_name, -- 礼包名
|
|
|
j.is_change_game_type as is_change_game_type, -- 是否转端 1-是;0-否
|
|
|
j.is_add_corp_wechat as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
|
|
|
j.add_corp_user_id as add_corp_user_id, -- 企微号
|
|
@@ -678,125 +706,157 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
FROM dm_game_order.t_game_order
|
|
|
""" + criTodayAmount +
|
|
|
"""
|
|
|
- GROUP BY role_id ,source_system
|
|
|
- ) p on a.source_system = p.source_system AND a.role_id = p.role_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 区服名
|
|
|
- source_system ,
|
|
|
- game_id,
|
|
|
- server_id,
|
|
|
- server_name
|
|
|
- FROM dm_game_order.t_game_server
|
|
|
- ) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
|
|
|
- LEFT JOIN (
|
|
|
- -- 玩家信息
|
|
|
- -- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
|
|
|
- SELECT
|
|
|
- i.source_system as source_system,
|
|
|
- i.association_user_id as association_user_id, -- 来源用户id
|
|
|
- i.id as id, -- 玩家id
|
|
|
- i.username as username,
|
|
|
- i.nickname as nickname,
|
|
|
- i.reg_mobile as reg_mobile,
|
|
|
- i.reg_email as reg_email,
|
|
|
- i.user_create_time as user_create_time,
|
|
|
- i.user_reg_game_id as user_reg_game_id,
|
|
|
- k.game_name as user_reg_game_name,
|
|
|
- i.agent_id as agent_id,
|
|
|
- IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
|
|
|
- l.active_time as user_active_time,
|
|
|
- m.user_last_recharge_game_id as user_last_recharge_game_id,
|
|
|
- n.game_name as user_last_recharge_game_name, --
|
|
|
- m.pay_time as user_pay_time -- 玩家最近充值时间
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- *
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- association_user_id, -- 来源用户id
|
|
|
- id , -- 玩家id
|
|
|
- username ,
|
|
|
- nickname ,
|
|
|
- reg_mobile ,
|
|
|
- reg_email ,
|
|
|
- create_time as user_create_time,
|
|
|
- game_id as user_reg_game_id,
|
|
|
- agent_id ,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
|
|
|
- FROM dm_game_order.t_game_user
|
|
|
- ) z WHERE z.num = 1
|
|
|
- ) i
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 渠道名称
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- agent_name
|
|
|
- FROM dm_game_order.t_pitcher_agent
|
|
|
- ) j ON i.agent_id = j.id AND i.source_system = j.source_system
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 玩家注册游戏名
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- game_name
|
|
|
- FROM dm_game_order.t_game
|
|
|
- ) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
|
|
|
- LEFT JOIN (
|
|
|
- -- 玩家最近活跃时间
|
|
|
- SELECT
|
|
|
- association_user_id,
|
|
|
- b.source_system,
|
|
|
- b.active_time,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
|
|
|
- FROM dm_game_order.t_game_user a
|
|
|
- RIGHT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- user_id,
|
|
|
- active_time
|
|
|
- FROM dm_game_order.t_active_log
|
|
|
- ) b ON a.source_system = b.source_system AND a.id = b.user_id
|
|
|
- ) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
|
|
|
- LEFT JOIN (
|
|
|
- -- 玩家最近充值游戏、玩家最近充值时间
|
|
|
- SELECT
|
|
|
- association_user_id,
|
|
|
- b.*,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
|
|
|
- FROM dm_game_order.t_game_user a
|
|
|
- RIGHT JOIN (
|
|
|
- -- 玩家最近充值游戏id、最近充值时间
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- user_id,
|
|
|
- game_id as user_last_recharge_game_id,
|
|
|
- pay_time
|
|
|
- FROM dm_game_order.t_game_order
|
|
|
- WHERE status = 2
|
|
|
- ) b on a.id = b.user_id AND a.source_system = b.source_system
|
|
|
- ) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 玩家最近充值游戏名
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- game_name
|
|
|
- FROM dm_game_order.t_game
|
|
|
- ) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
|
|
|
- ) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- *
|
|
|
- FROM dm_game_order.t_role_operate
|
|
|
- ) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
|
|
|
- a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
|
|
|
- ) a
|
|
|
- """ + criA;
|
|
|
+ GROUP BY role_id ,source_system
|
|
|
+ ) p on a.source_system = p.source_system AND a.role_id = p.role_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 区服名
|
|
|
+ source_system ,
|
|
|
+ game_id,
|
|
|
+ server_id,
|
|
|
+ server_name
|
|
|
+ FROM dm_game_order.t_game_server
|
|
|
+ ) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
|
|
|
+ LEFT JOIN (
|
|
|
+ -- 玩家信息
|
|
|
+ -- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
|
|
|
+ SELECT
|
|
|
+ i.source_system as source_system,
|
|
|
+ i.association_user_id as association_user_id, -- 来源用户id
|
|
|
+ i.id as id, -- 玩家id
|
|
|
+ i.username as username,
|
|
|
+ i.nickname as nickname,
|
|
|
+ i.reg_mobile as reg_mobile,
|
|
|
+ i.reg_email as reg_email,
|
|
|
+ i.user_create_time as user_create_time,
|
|
|
+ i.user_reg_game_id as user_reg_game_id,
|
|
|
+ k.game_name as user_reg_game_name,
|
|
|
+ i.agent_id as agent_id,
|
|
|
+ IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
|
|
|
+ l.active_time as user_active_time,
|
|
|
+ m.user_last_recharge_game_id as user_last_recharge_game_id,
|
|
|
+ n.game_name as user_last_recharge_game_name, --
|
|
|
+ m.pay_time as user_pay_time -- 玩家最近充值时间
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ association_user_id, -- 来源用户id
|
|
|
+ id , -- 玩家id
|
|
|
+ username ,
|
|
|
+ nickname ,
|
|
|
+ reg_mobile ,
|
|
|
+ reg_email ,
|
|
|
+ create_time as user_create_time,
|
|
|
+ game_id as user_reg_game_id,
|
|
|
+ agent_id ,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
|
|
|
+ FROM dm_game_order.t_game_user
|
|
|
+ ) z WHERE z.num = 1
|
|
|
+ ) i
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 渠道名称
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ agent_name
|
|
|
+ FROM dm_game_order.t_pitcher_agent
|
|
|
+ ) j ON i.agent_id = j.id AND i.source_system = j.source_system
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 玩家注册游戏名
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ game_name
|
|
|
+ FROM dm_game_order.t_game
|
|
|
+ ) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
|
|
|
+ LEFT JOIN (
|
|
|
+ -- 玩家最近活跃时间
|
|
|
+ SELECT
|
|
|
+ association_user_id,
|
|
|
+ b.source_system,
|
|
|
+ b.active_time,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
|
|
|
+ FROM dm_game_order.t_game_user a
|
|
|
+ RIGHT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ user_id,
|
|
|
+ active_time
|
|
|
+ FROM dm_game_order.t_active_log
|
|
|
+ ) b ON a.source_system = b.source_system AND a.id = b.user_id
|
|
|
+ ) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
|
|
|
+ LEFT JOIN (
|
|
|
+ -- 玩家最近充值游戏、玩家最近充值时间
|
|
|
+ SELECT
|
|
|
+ association_user_id,
|
|
|
+ b.*,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
|
|
|
+ FROM dm_game_order.t_game_user a
|
|
|
+ RIGHT JOIN (
|
|
|
+ -- 玩家最近充值游戏id、最近充值时间
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ user_id,
|
|
|
+ game_id as user_last_recharge_game_id,
|
|
|
+ pay_time
|
|
|
+ FROM dm_game_order.t_game_order
|
|
|
+ WHERE status = 2
|
|
|
+ ) b on a.id = b.user_id AND a.source_system = b.source_system
|
|
|
+ ) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 玩家最近充值游戏名
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ game_name
|
|
|
+ FROM dm_game_order.t_game
|
|
|
+ ) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
|
|
|
+ ) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM dm_game_order.t_role_operate
|
|
|
+ ) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
|
|
|
+ a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ game_id,
|
|
|
+ gift_name
|
|
|
+ FROM dm_game_order.t_game_gift
|
|
|
+ ) k on j.source_system = k.source_system AND j.send_gift_id = k.id AND j.game_id = k.game_id
|
|
|
+ ) a
|
|
|
+ """ + criA;
|
|
|
}
|
|
|
|
|
|
+ private String getRoleCombatRankingSql() {
|
|
|
+ return """
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ SUM(role_count) as role_count, -- 角色数量
|
|
|
+ SUM(total_num) as total_num, -- 总付费人数
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|