|
@@ -134,6 +134,10 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
//广告ID
|
|
|
cri.where().andEquals("project_id", dto.getProjectId());
|
|
|
}
|
|
|
+ if (dto.getBackStatus() != null) {
|
|
|
+ //回传状态
|
|
|
+ cri.where().andEquals("back_status", dto.getBackStatus());
|
|
|
+ }
|
|
|
if (StringUtils.isNotBlank(dto.getOrderAgentType())) {
|
|
|
if ("buy".equals(dto.getOrderAgentType())) {
|
|
|
//查询买量数据
|
|
@@ -275,6 +279,10 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
//广告ID
|
|
|
cri.where().andEquals("project_id", dto.getProjectId());
|
|
|
}
|
|
|
+ if (dto.getBackStatus() != null) {
|
|
|
+ //回传状态
|
|
|
+ cri.where().andEquals("back_status", dto.getBackStatus());
|
|
|
+ }
|
|
|
if (StringUtils.isNotBlank(dto.getOrderAgentType())) {
|
|
|
if ("buy".equals(dto.getOrderAgentType())) {
|
|
|
//查询买量数据
|
|
@@ -380,6 +388,8 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
a.product_name , -- 充值商品名称
|
|
|
a.amount , -- 订单金额
|
|
|
a.real_amount , -- 订单实付金额
|
|
|
+ k.amount as role_total_amount, -- 角色累计充值金额
|
|
|
+ k.amount_count as role_total_amount_count, -- 角色累计充值次数
|
|
|
a.payway , -- 支付方式ID、支付方式名
|
|
|
a.pay_device as pay_scene,-- 支付场景ID、支付场景名
|
|
|
a.status as order_status, -- 支付状态
|
|
@@ -402,7 +412,12 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
TIMESTAMPDIFF(SECOND, a.pay_time, NOW()) as pay_until_now, -- 最近充值时间距今(秒)
|
|
|
IF(a.status = 2, IF(a.create_time = i.create_time, 1, 0), 0) as is_first_recharge, -- 是否首充
|
|
|
IF(a.promotion_id = 'null', NULL, a.promotion_id) as promotion_id , -- 计划ID
|
|
|
- IF(a.project_id = 'null' , NULL, a.project_id) as project_id -- 项目ID(广告ID)
|
|
|
+ IF(a.project_id = 'null' , NULL, a.project_id) as project_id, -- 项目ID(广告ID)
|
|
|
+ IFNULL(l.back_status, 2) as back_status, -- 回传状态:-1-回传失败;0-未回传;1-已回传;2-没有回传数据
|
|
|
+ IFNULL(l.back_money / 100, null) as back_money, -- 回传金额
|
|
|
+ l.back_msg as back_msg, -- 回传信息
|
|
|
+ l.id as back_id, -- 回传id
|
|
|
+ l.back_table_name as back_table_name -- 回传表名
|
|
|
FROM dm_game_order.t_game_order a
|
|
|
LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
|
|
|
LEFT JOIN dm_game_order.t_pitcher_agent c on a.source_system = c.source_system AND a.agent_id = c.id
|
|
@@ -434,6 +449,45 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
FROM dm_game_order.t_pay_merchant
|
|
|
WHERE is_delete = 0
|
|
|
) j on a.source_system = j.source_system AND a.merchant_no = j.merchant_no
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 累计充值金额、累计充值次数
|
|
|
+ role_id,
|
|
|
+ source_system,
|
|
|
+ SUM(real_amount) as amount ,
|
|
|
+ COUNT(user_id) as amount_count
|
|
|
+ FROM dm_game_order.t_game_order
|
|
|
+ WHERE status =2
|
|
|
+ GROUP BY role_id , source_system
|
|
|
+ ) k on a.source_system = k.source_system AND a.role_id = k.role_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_no as order_id,
|
|
|
+ back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'byte' as back_table_name
|
|
|
+ FROM dm_ad_byte.t_game_oceanengine_order_log
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_id ,
|
|
|
+ back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'tencent_mini' as back_table_name
|
|
|
+ FROM dm_ad_tencent.t_game_tencent_mini_game_order
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_id ,
|
|
|
+ is_back as back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'tencent_h5' as back_table_name
|
|
|
+ FROM dm_ad_tencent.t_game_tencent_order
|
|
|
+ ) l on a.order_id = l.order_id
|
|
|
) a
|
|
|
""";
|
|
|
}
|
|
@@ -475,6 +529,8 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
a.product_name , -- 充值商品名称
|
|
|
a.amount , -- 订单金额
|
|
|
a.real_amount , -- 订单实付金额
|
|
|
+ k.amount as role_total_amount, -- 角色累计充值金额
|
|
|
+ k.amount_count as role_total_amount_count, -- 角色累计充值次数
|
|
|
a.payway , -- 支付方式ID、支付方式名
|
|
|
a.pay_device as pay_scene,-- 支付场景ID、支付场景名
|
|
|
a.status as order_status, -- 支付状态
|
|
@@ -497,7 +553,12 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
TIMESTAMPDIFF(SECOND, a.pay_time, NOW()) as pay_until_now, -- 最近充值时间距今(秒)
|
|
|
IF(a.status = 2, IF(a.create_time = i.create_time, 1, 0), 0) as is_first_recharge, -- 是否首充
|
|
|
IF(a.promotion_id = 'null', NULL, a.promotion_id) as promotion_id , -- 计划ID
|
|
|
- IF(a.project_id = 'null' , NULL, a.project_id) as project_id -- 项目ID(广告ID)
|
|
|
+ IF(a.project_id = 'null' , NULL, a.project_id) as project_id, -- 项目ID(广告ID)
|
|
|
+ IFNULL(l.back_status, 2) as back_status, -- 回传状态:-1-回传失败;0-未回传;1-已回传;2-没有回传数据
|
|
|
+ IFNULL(l.back_money / 100, null) as back_money, -- 回传金额
|
|
|
+ l.back_msg as back_msg, -- 回传信息
|
|
|
+ l.id as back_id, -- 回传id
|
|
|
+ l.back_table_name as back_table_name -- 回传表名
|
|
|
FROM dm_game_order.t_game_order a
|
|
|
LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
|
|
|
LEFT JOIN dm_game_order.t_pitcher_agent c on a.source_system = c.source_system AND a.agent_id = c.id
|
|
@@ -529,6 +590,45 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
FROM dm_game_order.t_pay_merchant
|
|
|
WHERE is_delete = 0
|
|
|
) j on a.source_system = j.source_system AND a.merchant_no = j.merchant_no
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 累计充值金额、累计充值次数
|
|
|
+ role_id,
|
|
|
+ source_system,
|
|
|
+ SUM(real_amount) as amount ,
|
|
|
+ COUNT(user_id) as amount_count
|
|
|
+ FROM dm_game_order.t_game_order
|
|
|
+ WHERE status =2
|
|
|
+ GROUP BY role_id , source_system
|
|
|
+ ) k on a.source_system = k.source_system AND a.role_id = k.role_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_no as order_id,
|
|
|
+ back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'byte' as back_table_name
|
|
|
+ FROM dm_ad_byte.t_game_oceanengine_order_log
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_id ,
|
|
|
+ back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'tencent_mini' as back_table_name
|
|
|
+ FROM dm_ad_tencent.t_game_tencent_mini_game_order
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_id ,
|
|
|
+ is_back as back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'tencent_h5' as back_table_name
|
|
|
+ FROM dm_ad_tencent.t_game_tencent_order
|
|
|
+ ) l on a.order_id = l.order_id
|
|
|
) a
|
|
|
""";
|
|
|
}
|
|
@@ -541,7 +641,8 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
return """
|
|
|
SELECT
|
|
|
SUM(amount) as amount,
|
|
|
- SUM(real_amount) as real_amount
|
|
|
+ SUM(real_amount) as real_amount,
|
|
|
+ SUM(back_money) / 100 as back_money
|
|
|
FROM (
|
|
|
SELECT
|
|
|
a.id, -- 主键id
|
|
@@ -571,12 +672,15 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
a.product_name , -- 充值商品名称
|
|
|
a.amount , -- 订单金额
|
|
|
a.real_amount , -- 订单实付金额
|
|
|
+ k.amount as role_total_amount, -- 角色累计充值金额
|
|
|
+ k.amount_count as role_total_amount_count, -- 角色累计充值次数
|
|
|
a.payway , -- 支付方式ID、支付方式名
|
|
|
a.pay_device as pay_scene,-- 支付场景ID、支付场景名
|
|
|
a.status as order_status, -- 支付状态
|
|
|
a.cp_status , -- cp通知状态
|
|
|
a.last_notify_time as last_cp_notify_time , -- cp最后通知时间
|
|
|
a.merchant_no as pay_account_id, -- 收款账户
|
|
|
+ j.merchant_name , -- 收款账户名
|
|
|
a.server_id , -- 角色所属游戏区服ID
|
|
|
IFNULL(h.server_name, a.server_name) as source_server_name , -- 原始区服名
|
|
|
a.server_name , -- 角色所属游戏区服名
|
|
@@ -592,7 +696,12 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
TIMESTAMPDIFF(SECOND, a.pay_time, NOW()) as pay_until_now, -- 最近充值时间距今(秒)
|
|
|
IF(a.status = 2, IF(a.create_time = i.create_time, 1, 0), 0) as is_first_recharge, -- 是否首充
|
|
|
IF(a.promotion_id = 'null', NULL, a.promotion_id) as promotion_id , -- 计划ID
|
|
|
- IF(a.project_id = 'null' , NULL, a.project_id) as project_id -- 项目ID(广告ID)
|
|
|
+ IF(a.project_id = 'null' , NULL, a.project_id) as project_id, -- 项目ID(广告ID)
|
|
|
+ IFNULL(l.back_status, 2) as back_status, -- 回传状态:-1-回传失败;0-未回传;1-已回传;2-没有回传数据
|
|
|
+ IFNULL(l.back_money / 100, null) as back_money, -- 回传金额
|
|
|
+ l.back_msg as back_msg, -- 回传信息
|
|
|
+ l.id as back_id, -- 回传id
|
|
|
+ l.back_table_name as back_table_name -- 回传表名
|
|
|
FROM dm_game_order.t_game_order a
|
|
|
LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
|
|
|
LEFT JOIN dm_game_order.t_pitcher_agent c on a.source_system = c.source_system AND a.agent_id = c.id
|
|
@@ -616,6 +725,53 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
|
|
|
FROM dm_game_order.t_game_order
|
|
|
WHERE status = 2
|
|
|
) i on a.source_system = i.source_system AND a.user_id = i.user_id AND i.num = 1
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ merchant_no,
|
|
|
+ merchant_name
|
|
|
+ FROM dm_game_order.t_pay_merchant
|
|
|
+ WHERE is_delete = 0
|
|
|
+ ) j on a.source_system = j.source_system AND a.merchant_no = j.merchant_no
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ -- 累计充值金额、累计充值次数
|
|
|
+ role_id,
|
|
|
+ source_system,
|
|
|
+ SUM(real_amount) as amount ,
|
|
|
+ COUNT(user_id) as amount_count
|
|
|
+ FROM dm_game_order.t_game_order
|
|
|
+ WHERE status =2
|
|
|
+ GROUP BY role_id , source_system
|
|
|
+ ) k on a.source_system = k.source_system AND a.role_id = k.role_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_no as order_id,
|
|
|
+ back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'byte' as back_table_name
|
|
|
+ FROM dm_ad_byte.t_game_oceanengine_order_log
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_id ,
|
|
|
+ back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'tencent_mini' as back_table_name
|
|
|
+ FROM dm_ad_tencent.t_game_tencent_mini_game_order
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ id,
|
|
|
+ order_id ,
|
|
|
+ is_back as back_status,
|
|
|
+ back_msg,
|
|
|
+ back_money,
|
|
|
+ 'tencent_h5' as back_table_name
|
|
|
+ FROM dm_ad_tencent.t_game_tencent_order
|
|
|
+ ) l on a.order_id = l.order_id
|
|
|
) a
|
|
|
""";
|
|
|
}
|