|
@@ -69,7 +69,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
Criteria criTodayAmount = getDateSqlByQuery(dto);
|
|
|
//判断是否合服 默认不合服
|
|
|
String margeSql = "is_merge = 0";
|
|
|
- if(dto.getIsMergeServer()){
|
|
|
+ if (dto.getIsMergeServer()) {
|
|
|
margeSql = "is_source_server = 0";
|
|
|
}
|
|
|
//分页对象
|
|
@@ -78,7 +78,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
StopWatch watch = new StopWatch();
|
|
|
watch.start();
|
|
|
//查询总记录数
|
|
|
- Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount,margeSql));
|
|
|
+ Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount, margeSql));
|
|
|
countSql.setCallback(Sqls.callback.integer());
|
|
|
dao.execute(countSql);
|
|
|
watch.stop();
|
|
@@ -96,7 +96,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
//创建sql
|
|
|
StopWatch watch2 = new StopWatch();
|
|
|
watch2.start();
|
|
|
- Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount,margeSql));
|
|
|
+ Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount, margeSql));
|
|
|
sql.setCallback(Sqls.callback.maps());
|
|
|
sql.setPager(pager);
|
|
|
dao.execute(sql);
|
|
@@ -161,14 +161,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
//判断是否合服 默认不合服
|
|
|
String margeSql = "is_merge = 0";
|
|
|
- if(dto.getIsMergeServer()){
|
|
|
+ if (dto.getIsMergeServer()) {
|
|
|
margeSql = "is_source_server = 0";
|
|
|
}
|
|
|
|
|
|
StopWatch watch = new StopWatch();
|
|
|
watch.start();
|
|
|
//查询总记录数
|
|
|
- Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount,margeSql));
|
|
|
+ Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount, margeSql));
|
|
|
countSql.setCallback(Sqls.callback.integer());
|
|
|
dao.execute(countSql);
|
|
|
watch.stop();
|
|
@@ -186,7 +186,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
//创建sql
|
|
|
StopWatch watch2 = new StopWatch();
|
|
|
watch2.start();
|
|
|
- Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount,margeSql));
|
|
|
+ Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount, margeSql));
|
|
|
sql.setCallback(Sqls.callback.maps());
|
|
|
sql.setPager(pager);
|
|
|
dao.execute(sql);
|
|
@@ -262,6 +262,33 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
dto.setIsMergeServer(Boolean.FALSE);
|
|
|
}
|
|
|
Criteria criA = Cnd.cri();
|
|
|
+
|
|
|
+ //角色等级区间筛选
|
|
|
+ if (dto.getRoleLevelMin() != null) {
|
|
|
+ criA.where().andGTE("role_level", dto.getRoleLevelMin());
|
|
|
+ }
|
|
|
+ if (dto.getRoleLevelMax() != null) {
|
|
|
+ criA.where().andLTE("role_level", dto.getRoleLevelMin());
|
|
|
+ }
|
|
|
+ //玩家注册时间
|
|
|
+ if (dto.getRegisterTimeMax() != null && dto.getRegisterTimeMin() != null) {
|
|
|
+ criA.where().andBetween("user_create_time", dto.getRegisterTimeMin(), dto.getRegisterTimeMax());
|
|
|
+ }
|
|
|
+ //玩家渠道
|
|
|
+ if (CollectionUtils.isNotEmpty(dto.getAgentIds())) {
|
|
|
+ criA.where().andInList("agent_id", dto.getAgentIds());
|
|
|
+ }
|
|
|
+
|
|
|
+ //玩家注册渠道类型(0自然量 1非自然量)
|
|
|
+ if (dto.getRegisterType() != null) {
|
|
|
+ if (dto.getRegisterType() == 0) {
|
|
|
+ criA.where().andEquals("agent_id", 0);
|
|
|
+ } else {
|
|
|
+ criA.where().andNotEquals("agent_id", 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
if (CollectionUtils.isNotEmpty(dto.getGameId())) {
|
|
|
//角色注册子游戏
|
|
|
criA.where().andInList("role_reg_game_id", dto.getGameId());
|
|
@@ -717,11 +744,11 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
}
|
|
|
//判断是否合服 默认不合服
|
|
|
String margeSql = "is_merge = 0";
|
|
|
- if(dto.getIsMergeServer()){
|
|
|
+ if (dto.getIsMergeServer()) {
|
|
|
margeSql = "is_source_server = 0";
|
|
|
}
|
|
|
//创建sql
|
|
|
- Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount,margeSql));
|
|
|
+ Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount, margeSql));
|
|
|
sql.setCallback(Sqls.callback.maps());
|
|
|
dao.execute(sql);
|
|
|
return sql.getList(Map.class);
|
|
@@ -863,7 +890,6 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 补充查询发送消息任务结果sql
|
|
|
*
|
|
@@ -1466,7 +1492,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
* @param criTodayAmount 当天充值金额相关的查询条件
|
|
|
* @return String
|
|
|
*/
|
|
|
- private String getRoleRechargeRankingSql(Criteria criA, Criteria criTodayAmount,String margeSql) {
|
|
|
+ private String getRoleRechargeRankingSql(Criteria criA, Criteria criTodayAmount, String margeSql) {
|
|
|
return """
|
|
|
SELECT
|
|
|
*
|
|
@@ -1669,210 +1695,210 @@ 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 (
|
|
|
+ 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 (
|
|
|
+ SELECT
|
|
|
+ -- 合服id、合服名称
|
|
|
+ source_system,
|
|
|
+ game_id,
|
|
|
+ source_server_ids,
|
|
|
+ server_id,
|
|
|
+ server_name
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
+ WHERE
|
|
|
+ """ + margeSql + """
|
|
|
+ AND is_delete = 0
|
|
|
+ ) r on a.source_system = r.source_system AND a.server_id = r.source_server_ids AND d.super_game_id = r.game_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,
|
|
|
+ l.update_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
|
|
|
- -- 合服id、合服名称
|
|
|
source_system,
|
|
|
- game_id,
|
|
|
- source_server_ids,
|
|
|
- server_id,
|
|
|
- server_name
|
|
|
- FROM dm_game_order.t_game_server_merge
|
|
|
- WHERE
|
|
|
- """ + margeSql + """
|
|
|
- AND is_delete = 0
|
|
|
- ) r on a.source_system = r.source_system AND a.server_id = r.source_server_ids AND d.super_game_id = r.game_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,
|
|
|
- l.update_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,
|
|
|
- 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,
|
|
|
- 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 as update_time,
|
|
|
- ROW_NUMBER()over(partition by association_user_id, b.source_system order by b.active_time desc) as num
|
|
|
- FROM dm_game_order.t_game_user a
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system ,
|
|
|
- user_id,
|
|
|
- active_time
|
|
|
- FROM game_dw.dw_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 (
|
|
|
+ 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,
|
|
|
+ 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,
|
|
|
+ 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 as update_time,
|
|
|
+ ROW_NUMBER()over(partition by association_user_id, b.source_system order by b.active_time desc) as num
|
|
|
+ FROM dm_game_order.t_game_user a
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system ,
|
|
|
+ user_id,
|
|
|
+ active_time
|
|
|
+ FROM game_dw.dw_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,
|
|
|
- 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,
|
|
|
- gift_name
|
|
|
- FROM dm_game_order.t_game_gift
|
|
|
- ) k on j.source_system = k.source_system AND j.send_gift_id = k.id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system ,
|
|
|
- id,
|
|
|
- name
|
|
|
- FROM dm_game_order.t_game_super
|
|
|
- ) s on d.source_system = s.source_system AND d.super_game_id = s.id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 原始服名
|
|
|
- source_system,
|
|
|
- game_id,
|
|
|
- server_id,
|
|
|
- server_name
|
|
|
- FROM dm_game_order.t_game_server_merge
|
|
|
- WHERE is_delete = 0
|
|
|
- ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- vip等级
|
|
|
- source_system ,
|
|
|
- super_game_id ,
|
|
|
- parent_game_id ,
|
|
|
- recharge_money_min ,
|
|
|
- recharge_money_max ,
|
|
|
- vip_level ,
|
|
|
- is_delete
|
|
|
- FROM dm_game_order.t_game_vip
|
|
|
- WHERE is_delete = 0
|
|
|
- ) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
|
|
|
- AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
|
|
|
- AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- create_time,
|
|
|
- end_time,
|
|
|
- agent_id,
|
|
|
- association_user_id
|
|
|
- FROM dm_game_order.t_game_user_burst
|
|
|
- ) x on a.source_system = x.source_system AND a.association_user_id = x.id
|
|
|
- AND a.create_time >= x.create_time AND a.create_time < x.end_time
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 渠道名称、投手id
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- agent_name,
|
|
|
- pitcher_id as put_user_id
|
|
|
- FROM dm_game_order.t_pitcher_agent
|
|
|
- ) y ON x.agent_id = y.id AND x.source_system = y.source_system
|
|
|
- ) a
|
|
|
- """ + criA;
|
|
|
+ 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,
|
|
|
+ gift_name
|
|
|
+ FROM dm_game_order.t_game_gift
|
|
|
+ ) k on j.source_system = k.source_system AND j.send_gift_id = k.id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system ,
|
|
|
+ id,
|
|
|
+ name
|
|
|
+ FROM dm_game_order.t_game_super
|
|
|
+ ) s on d.source_system = s.source_system AND d.super_game_id = s.id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 原始服名
|
|
|
+ source_system,
|
|
|
+ game_id,
|
|
|
+ server_id,
|
|
|
+ server_name
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
+ WHERE is_delete = 0
|
|
|
+ ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- vip等级
|
|
|
+ source_system ,
|
|
|
+ super_game_id ,
|
|
|
+ parent_game_id ,
|
|
|
+ recharge_money_min ,
|
|
|
+ recharge_money_max ,
|
|
|
+ vip_level ,
|
|
|
+ is_delete
|
|
|
+ FROM dm_game_order.t_game_vip
|
|
|
+ WHERE is_delete = 0
|
|
|
+ ) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
|
|
|
+ AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
|
|
|
+ AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ create_time,
|
|
|
+ end_time,
|
|
|
+ agent_id,
|
|
|
+ association_user_id
|
|
|
+ FROM dm_game_order.t_game_user_burst
|
|
|
+ ) x on a.source_system = x.source_system AND a.association_user_id = x.id
|
|
|
+ AND a.create_time >= x.create_time AND a.create_time < x.end_time
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 渠道名称、投手id
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ agent_name,
|
|
|
+ pitcher_id as put_user_id
|
|
|
+ FROM dm_game_order.t_pitcher_agent
|
|
|
+ ) y ON x.agent_id = y.id AND x.source_system = y.source_system
|
|
|
+ ) a
|
|
|
+ """ + criA;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2297,7 +2323,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
* @param criTodayAmount 今日充值条件
|
|
|
* @return String
|
|
|
*/
|
|
|
- private String getCountNumSql2(Criteria criA, Criteria criTodayAmount,String margeSql) {
|
|
|
+ private String getCountNumSql2(Criteria criA, Criteria criTodayAmount, String margeSql) {
|
|
|
return """
|
|
|
SELECT
|
|
|
COUNT(1)
|
|
@@ -2465,97 +2491,97 @@ 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,
|
|
|
- user_id,
|
|
|
- role_id,
|
|
|
- server_id,
|
|
|
- game_id,
|
|
|
- user_phone, -- 客户手机号
|
|
|
- is_send_mail, -- 是否发送邮件
|
|
|
- send_gift_id, -- 最新发送礼包id
|
|
|
- is_change_game_type, -- 是否转端 1-是;0-否
|
|
|
- is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
|
|
|
- is_remove_game, -- 是否退游 1-是;0-否
|
|
|
- is_wake_up, -- 是否唤醒 1-是;0-否
|
|
|
- gs_id, -- GS_ID
|
|
|
- customer_service_id, -- 客服ID
|
|
|
- oper_user_id, -- 运营ID
|
|
|
- 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,
|
|
|
- name
|
|
|
- FROM dm_game_order.t_game_super
|
|
|
- ) s on d.source_system = s.source_system AND d.super_game_id = s.id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 合服id、合服名称
|
|
|
- source_system,
|
|
|
- game_id,
|
|
|
- source_server_ids,
|
|
|
- server_id,
|
|
|
- server_name
|
|
|
- FROM dm_game_order.t_game_server_merge
|
|
|
- WHERE
|
|
|
- """ + margeSql + """
|
|
|
- AND is_delete = 0
|
|
|
- ) r on a.source_system = r.source_system AND a.server_id = r.source_server_ids AND d.super_game_id = r.game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 原始服名
|
|
|
- source_system,
|
|
|
- game_id,
|
|
|
- server_id,
|
|
|
- server_name
|
|
|
- FROM dm_game_order.t_game_server_merge
|
|
|
- WHERE is_delete = 0
|
|
|
- ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- vip等级
|
|
|
- source_system ,
|
|
|
- super_game_id ,
|
|
|
- parent_game_id ,
|
|
|
- recharge_money_min ,
|
|
|
- recharge_money_max ,
|
|
|
- vip_level ,
|
|
|
- is_delete
|
|
|
- FROM dm_game_order.t_game_vip
|
|
|
- WHERE is_delete = 0
|
|
|
- ) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
|
|
|
- AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
|
|
|
- AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- create_time,
|
|
|
- end_time,
|
|
|
- agent_id,
|
|
|
- association_user_id
|
|
|
- FROM dm_game_order.t_game_user_burst
|
|
|
- ) x on a.source_system = x.source_system AND a.association_user_id = x.id
|
|
|
- AND a.create_time >= x.create_time AND a.create_time < x.end_time
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 渠道名称、投手id
|
|
|
- source_system,
|
|
|
- id,
|
|
|
- agent_name,
|
|
|
- pitcher_id as put_user_id
|
|
|
- FROM dm_game_order.t_pitcher_agent
|
|
|
- ) y ON x.agent_id = y.id AND x.source_system = y.source_system
|
|
|
- ) 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,
|
|
|
+ user_id,
|
|
|
+ role_id,
|
|
|
+ server_id,
|
|
|
+ game_id,
|
|
|
+ user_phone, -- 客户手机号
|
|
|
+ is_send_mail, -- 是否发送邮件
|
|
|
+ send_gift_id, -- 最新发送礼包id
|
|
|
+ is_change_game_type, -- 是否转端 1-是;0-否
|
|
|
+ is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
|
|
|
+ is_remove_game, -- 是否退游 1-是;0-否
|
|
|
+ is_wake_up, -- 是否唤醒 1-是;0-否
|
|
|
+ gs_id, -- GS_ID
|
|
|
+ customer_service_id, -- 客服ID
|
|
|
+ oper_user_id, -- 运营ID
|
|
|
+ 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,
|
|
|
+ name
|
|
|
+ FROM dm_game_order.t_game_super
|
|
|
+ ) s on d.source_system = s.source_system AND d.super_game_id = s.id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 合服id、合服名称
|
|
|
+ source_system,
|
|
|
+ game_id,
|
|
|
+ source_server_ids,
|
|
|
+ server_id,
|
|
|
+ server_name
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
+ WHERE
|
|
|
+ """ + margeSql + """
|
|
|
+ AND is_delete = 0
|
|
|
+ ) r on a.source_system = r.source_system AND a.server_id = r.source_server_ids AND d.super_game_id = r.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 原始服名
|
|
|
+ source_system,
|
|
|
+ game_id,
|
|
|
+ server_id,
|
|
|
+ server_name
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
+ WHERE is_delete = 0
|
|
|
+ ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- vip等级
|
|
|
+ source_system ,
|
|
|
+ super_game_id ,
|
|
|
+ parent_game_id ,
|
|
|
+ recharge_money_min ,
|
|
|
+ recharge_money_max ,
|
|
|
+ vip_level ,
|
|
|
+ is_delete
|
|
|
+ FROM dm_game_order.t_game_vip
|
|
|
+ WHERE is_delete = 0
|
|
|
+ ) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
|
|
|
+ AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
|
|
|
+ AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ create_time,
|
|
|
+ end_time,
|
|
|
+ agent_id,
|
|
|
+ association_user_id
|
|
|
+ FROM dm_game_order.t_game_user_burst
|
|
|
+ ) x on a.source_system = x.source_system AND a.association_user_id = x.id
|
|
|
+ AND a.create_time >= x.create_time AND a.create_time < x.end_time
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 渠道名称、投手id
|
|
|
+ source_system,
|
|
|
+ id,
|
|
|
+ agent_name,
|
|
|
+ pitcher_id as put_user_id
|
|
|
+ FROM dm_game_order.t_pitcher_agent
|
|
|
+ ) y ON x.agent_id = y.id AND x.source_system = y.source_system
|
|
|
+ ) a
|
|
|
+ """ + criA;
|
|
|
}
|
|
|
|
|
|
|