Browse Source

Merge remote-tracking branch 'origin/package' into package

wcc 1 năm trước cách đây
mục cha
commit
422abf92a7

+ 81 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdsOrderDetailService.java

@@ -390,6 +390,7 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 		a.real_amount , -- 订单实付金额
                 		k.amount as role_total_amount, -- 角色累计充值金额
                 		k.amount_count as role_total_amount_count, -- 角色累计充值次数
+                		m.role_order_7_day_total as role_order7_day_total, -- 角色注册7天内下单成功次数
                 		a.payway , -- 支付方式ID、支付方式名
                 		a.pay_device as pay_scene,-- 支付场景ID、支付场景名
                 		a.status as order_status, -- 支付状态
@@ -488,6 +489,32 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 			'tencent_h5' as back_table_name
                 		FROM dm_ad_tencent.t_game_tencent_order
                 	) l on a.order_id = l.order_id
+                	LEFT JOIN (
+                		SELECT
+                			a.source_system ,
+                			a.role_id ,
+                			COUNT(1) as role_order_7_day_total
+                		FROM dm_game_order.t_game_order a
+                		LEFT JOIN (
+                			SELECT
+                					*
+                			FROM
+                			(
+                				SELECT
+                					-- 角色创建时间(取创建时间最早的信息)
+                					a.source_system,
+                					a.role_id,
+                					a.create_time as role_create_time,
+                					ROW_NUMBER()over(partition by a.role_id , a.source_system order by a.create_time asc, a.user_id asc) as num
+                				FROM dm_game_order.t_game_user_role a
+                				LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
+                			) a
+                			WHERE num = 1
+                		) b on a.source_system = b.source_system AND a.role_id = b.role_id
+                		WHERE a.source_system = 'ZX_ONE' AND status = 2
+                		AND DATE(a.pay_time) BETWEEN DATE(role_create_time) AND DATE_ADD(DATE(role_create_time) ,INTERVAL 7 DAY)
+                		GROUP BY a.source_system ,a.role_id
+                	) m on a.source_system = m.source_system AND a.role_id = m.role_id
                 ) a
                 """;
     }
@@ -531,6 +558,7 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 		a.real_amount , -- 订单实付金额
                 		k.amount as role_total_amount, -- 角色累计充值金额
                 		k.amount_count as role_total_amount_count, -- 角色累计充值次数
+                		m.role_order_7_day_total as role_order7_day_total, -- 角色注册7天内下单成功次数
                 		a.payway , -- 支付方式ID、支付方式名
                 		a.pay_device as pay_scene,-- 支付场景ID、支付场景名
                 		a.status as order_status, -- 支付状态
@@ -629,6 +657,32 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 			'tencent_h5' as back_table_name
                 		FROM dm_ad_tencent.t_game_tencent_order
                 	) l on a.order_id = l.order_id
+                	LEFT JOIN (
+                		SELECT
+                			a.source_system ,
+                			a.role_id ,
+                			COUNT(1) as role_order_7_day_total
+                		FROM dm_game_order.t_game_order a
+                		LEFT JOIN (
+                			SELECT
+                					*
+                			FROM
+                			(
+                				SELECT
+                					-- 角色创建时间(取创建时间最早的信息)
+                					a.source_system,
+                					a.role_id,
+                					a.create_time as role_create_time,
+                					ROW_NUMBER()over(partition by a.role_id , a.source_system order by a.create_time asc, a.user_id asc) as num
+                				FROM dm_game_order.t_game_user_role a
+                				LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
+                			) a
+                			WHERE num = 1
+                		) b on a.source_system = b.source_system AND a.role_id = b.role_id
+                		WHERE a.source_system = 'ZX_ONE' AND status = 2
+                		AND DATE(a.pay_time) BETWEEN DATE(role_create_time) AND DATE_ADD(DATE(role_create_time) ,INTERVAL 7 DAY)
+                		GROUP BY a.source_system ,a.role_id
+                	) m on a.source_system = m.source_system AND a.role_id = m.role_id
                 ) a
                 """;
     }
@@ -674,6 +728,7 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 		a.real_amount , -- 订单实付金额
                 		k.amount as role_total_amount, -- 角色累计充值金额
                 		k.amount_count as role_total_amount_count, -- 角色累计充值次数
+                		m.role_order_7_day_total as role_order7_day_total, -- 角色注册7天内下单成功次数
                 		a.payway , -- 支付方式ID、支付方式名
                 		a.pay_device as pay_scene,-- 支付场景ID、支付场景名
                 		a.status as order_status, -- 支付状态
@@ -772,6 +827,32 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 			'tencent_h5' as back_table_name
                 		FROM dm_ad_tencent.t_game_tencent_order
                 	) l on a.order_id = l.order_id
+                	LEFT JOIN (
+                		SELECT
+                			a.source_system ,
+                			a.role_id ,
+                			COUNT(1) as role_order_7_day_total
+                		FROM dm_game_order.t_game_order a
+                		LEFT JOIN (
+                			SELECT
+                					*
+                			FROM
+                			(
+                				SELECT
+                					-- 角色创建时间(取创建时间最早的信息)
+                					a.source_system,
+                					a.role_id,
+                					a.create_time as role_create_time,
+                					ROW_NUMBER()over(partition by a.role_id , a.source_system order by a.create_time asc, a.user_id asc) as num
+                				FROM dm_game_order.t_game_user_role a
+                				LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
+                			) a
+                			WHERE num = 1
+                		) b on a.source_system = b.source_system AND a.role_id = b.role_id
+                		WHERE a.source_system = 'ZX_ONE' AND status = 2
+                		AND DATE(a.pay_time) BETWEEN DATE(role_create_time) AND DATE_ADD(DATE(role_create_time) ,INTERVAL 7 DAY)
+                		GROUP BY a.source_system ,a.role_id
+                	) m on a.source_system = m.source_system AND a.role_id = m.role_id
                 ) a
                 """;
     }