Browse Source

角色充值排行榜修改vip等级,订单添加收款账户名字段

Letianhua 1 year ago
parent
commit
d6ff7b68fd

+ 6 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/AdsOrderDetailVO.java

@@ -178,4 +178,10 @@ public class AdsOrderDetailVO {
     @ApiModelProperty(notes = "广告ID")
     private String projectId;
 
+    /**
+     * 收款账户名
+     */
+    @ApiModelProperty(notes = "收款账户名")
+    private String merchantName;
+
 }

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

@@ -386,6 +386,7 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 		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 , -- 角色所属游戏区服名
@@ -425,6 +426,14 @@ 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
                 ) a
                 """;
     }
@@ -472,6 +481,7 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
                 		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 , -- 角色所属游戏区服名
@@ -511,6 +521,14 @@ 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
                 ) a
                 """;
     }

+ 67 - 35
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -830,6 +830,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		IFNULL(c.amount, 0) as amount, -- 角色累计充值金额
                 		IFNULL(c.amount_count, 0) as amount_count, -- 角色累计充值次数
                 		ROUND(IF(c.amount_count > 0, c.amount / c.amount_count, 0), 2) as avg_amount, -- 平均单价
+                		IFNULL(w.vip_level,
                 		(CASE
                 			WHEN c.amount >= 0 and c.amount < 2000 THEN '1'
                 			WHEN c.amount >= 2000 and c.amount < 5000 THEN '2'
@@ -838,7 +839,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 			WHEN c.amount >= 20000 and c.amount < 50000 THEN '5'
                 			WHEN c.amount >= 50000 THEN '6'
                 			ELSE '0'
-                			END) as vip_level, -- 角色vip等级
+                			END)) as vip_level, -- 角色vip等级
                 		a.game_id as role_reg_game_id, -- 角色注册游戏id
                 		d.game_name as role_reg_game_name, -- 角色注册游戏名
                 		d.classify as role_reg_game_classify, -- 角色注册游戏类型
@@ -1199,6 +1200,21 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 			FROM dm_game_order.t_game
                 		) b on a.source_system = b.source_system AND a.game_id = b.id
                 	) u on a.source_system = u.source_system AND a.role_id = u.role_id AND d.super_game_id = u.super_game_id AND u.num =1
+                	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
                 ) a
                 """ + criA;
     }
@@ -1227,6 +1243,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         IFNULL(c.amount, 0) as amount, -- 角色累计充值金额
                         IFNULL(c.amount_count, 0) as amount_count, -- 角色累计充值次数
                         ROUND(IF(c.amount_count > 0, c.amount / c.amount_count, 0), 2) as avg_amount, -- 平均单价
+                        IFNULL(w.vip_level,
                         (CASE
                             WHEN c.amount >= 0 and c.amount < 2000 THEN '1'
                             WHEN c.amount >= 2000 and c.amount < 5000 THEN '2'
@@ -1235,7 +1252,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             WHEN c.amount >= 20000 and c.amount < 50000 THEN '5'
                             WHEN c.amount >= 50000 THEN '6'
                             ELSE '0'
-                            END) as vip_level, -- 角色vip等级
+                            END)) as vip_level, -- 角色vip等级
                         a.game_id as role_reg_game_id, -- 角色注册游戏id
                         d.game_name as role_reg_game_name, -- 角色注册游戏名
                         d.classify as role_reg_game_classify, -- 角色注册游戏类型
@@ -1480,19 +1497,19 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         ) 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
+                			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 (
                             -- 玩家最近充值游戏、玩家最近充值时间
@@ -1576,26 +1593,41 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         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
-                            a.source_system,
-                            a.role_id,
-                            a.role_name,
-                            a.role_level,
-                            a.combat_num ,
-                            a.game_id ,
-                            b.parent_game_id,
-                            b.super_game_id ,
-                            ROW_NUMBER()over(partition by a.source_system , a.role_id, b.parent_game_id order by a.role_level desc,a.combat_num desc) as num
-                        FROM dm_game_order.t_game_user_role a
-                        LEFT JOIN (
-                            SELECT
-                                source_system,
-                                id,
-                                IFNULL(parent_id, id) as parent_game_id,
-                                IFNULL(super_game_id, id) as super_game_id
-                            FROM dm_game_order.t_game
-                        ) b on a.source_system = b.source_system AND a.game_id = b.id
-                    ) u on a.source_system = u.source_system AND a.role_id = u.role_id AND d.super_game_id = u.super_game_id AND u.num =1
+                		SELECT
+                			a.source_system,
+                			a.role_id,
+                			a.role_name,
+                			a.role_level,
+                			a.combat_num ,
+                			a.game_id ,
+                			b.parent_game_id,
+                			b.super_game_id ,
+                			ROW_NUMBER()over(partition by a.source_system , a.role_id, b.parent_game_id order by a.role_level desc,a.combat_num desc) as num
+                		FROM dm_game_order.t_game_user_role a
+                		LEFT JOIN (
+                			SELECT
+                				source_system,
+                				id,
+                				IFNULL(parent_id, id) as parent_game_id,
+                				IFNULL(super_game_id, id) as super_game_id
+                			FROM dm_game_order.t_game
+                		) b on a.source_system = b.source_system AND a.game_id = b.id
+                	) u on a.source_system = u.source_system AND a.role_id = u.role_id AND d.super_game_id = u.super_game_id AND u.num =1
+                	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
                 ) a
                 """ + criA;
     }