Explorar el Código

订单添加字段-回传相关以及累充

Letianhua hace 1 año
padre
commit
16b97837f7

+ 6 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/AdsOrderDetailListDTO.java

@@ -228,4 +228,10 @@ public class AdsOrderDetailListDTO extends BasePage {
     @ApiModelProperty(notes = "订单渠道类型:买量 -> buy ; 自然量 -> nature")
     private String orderAgentType;
 
+    /**
+     * 回传状态
+     */
+    @ApiModelProperty(notes = "回传状态: -1 - 回传失败; 0 - 未回传; 1 - 回传成功; 2 - 无回传数据")
+    private Integer backStatus;
+
 }

+ 6 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/AdsOrderDetailTotalDTO.java

@@ -215,4 +215,10 @@ public class AdsOrderDetailTotalDTO {
     @ApiModelProperty(notes = "订单渠道类型:买量 -> buy ; 自然量 -> nature")
     private String orderAgentType;
 
+    /**
+     * 回传状态
+     */
+    @ApiModelProperty(notes = "回传状态: -1 - 回传失败; 0 - 未回传; 1 - 回传成功; 2 - 无回传数据")
+    private Integer backStatus;
+
 }

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

@@ -184,4 +184,34 @@ public class AdsOrderDetailVO {
     @ApiModelProperty(notes = "收款账户名")
     private String merchantName;
 
+    /**
+     * 角色累计充值金额
+     */
+    @ApiModelProperty(notes = "角色累计充值金额")
+    private BigDecimal roleTotalAmount;
+
+    /**
+     * 角色累计充值次数
+     */
+    @ApiModelProperty(notes = "角色累计充值次数")
+    private Long roleTotalAmountCount;
+
+    /**
+     * 回传状态
+     */
+    @ApiModelProperty(notes = "回传状态: -1 - 回传失败; 0 - 未回传; 1 - 回传成功; 2 - 无回传数据")
+    private Integer backStatus;
+
+    /**
+     * 回传金额
+     */
+    @ApiModelProperty(notes = "回传金额")
+    private Long backMoney;
+
+    /**
+     * 回传信息
+     */
+    @ApiModelProperty(notes = "回传信息")
+    private String backMsg;
+
 }

+ 140 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdsOrderDetailService.java

@@ -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,10 @@ 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, IFNULL(m.back_status, IFNULL(n.is_back, 2))) as back_status, -- 订单的回传状态:-1-回传失败;0-未回传;1-已回传;2-没有回传数据
+                  		IFNULL(l.back_money, IFNULL(m.back_money, n.back_money)) as back_money, -- 订单回传金额
+                  		IFNULL(l.back_msg, IFNULL(m.back_msg, n.back_msg)) as back_msg -- 回传信息
                 	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 +447,41 @@ 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
+                			order_no,
+                			back_status,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_byte.t_game_oceanengine_order_log
+                	) l on a.order_id = l.order_no
+                	LEFT JOIN (
+                		SELECT
+                			order_id ,
+                			back_status,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_tencent.t_game_tencent_mini_game_order
+                	) m on a.order_id = m.order_id
+                	LEFT JOIN (
+                		SELECT
+                			order_id ,
+                			is_back,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_tencent.t_game_tencent_order
+                	) n on a.order_id = n.order_id
                 ) a
                 """;
     }
@@ -475,6 +523,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 +547,10 @@ 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, IFNULL(m.back_status, IFNULL(n.is_back, 2))) as back_status, -- 订单的回传状态:-1-回传失败;0-未回传;1-已回传;2-没有回传数据
+                  		IFNULL(l.back_money, IFNULL(m.back_money, n.back_money)) as back_money, -- 订单回传金额
+                  		IFNULL(l.back_msg, IFNULL(m.back_msg, n.back_msg)) as back_msg -- 回传信息
                 	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 +582,41 @@ 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
+                			order_no,
+                			back_status,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_byte.t_game_oceanengine_order_log
+                	) l on a.order_id = l.order_no
+                	LEFT JOIN (
+                		SELECT
+                			order_id ,
+                			back_status,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_tencent.t_game_tencent_mini_game_order
+                	) m on a.order_id = m.order_id
+                	LEFT JOIN (
+                		SELECT
+                			order_id ,
+                			is_back,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_tencent.t_game_tencent_order
+                	) n on a.order_id = n.order_id
                 ) a
                 """;
     }
@@ -571,12 +659,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 +683,10 @@ 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, IFNULL(m.back_status, IFNULL(n.is_back, 2))) as back_status, -- 订单的回传状态:-1-回传失败;0-未回传;1-已回传;2-没有回传数据
+                  		IFNULL(l.back_money, IFNULL(m.back_money, n.back_money)) as back_money, -- 订单回传金额
+                  		IFNULL(l.back_msg, IFNULL(m.back_msg, n.back_msg)) as back_msg -- 回传信息
                 	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 +710,49 @@ 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
+                			order_no,
+                			back_status,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_byte.t_game_oceanengine_order_log
+                	) l on a.order_id = l.order_no
+                	LEFT JOIN (
+                		SELECT
+                			order_id ,
+                			back_status,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_tencent.t_game_tencent_mini_game_order
+                	) m on a.order_id = m.order_id
+                	LEFT JOIN (
+                		SELECT
+                			order_id ,
+                			is_back,
+                			back_msg,
+                			back_money
+                		FROM dm_ad_tencent.t_game_tencent_order
+                	) n on a.order_id = n.order_id
                 ) a
                 """;
     }