Przeglądaj źródła

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

bilingfeng 1 rok temu
rodzic
commit
045104968d

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

@@ -109,11 +109,11 @@ public class AdsOrderDetailService implements IAdsOrderDetailService {
         }
         if (dto.getRegTimeStart() != null && dto.getRegTimeEnd() != null) {
             //玩家注册时间
-            cri.where().andBetween("reg_time", dto.getRegTimeStart(), dto.getRegTimeEnd());
+            cri.where().andBetween("DATE(reg_time)", dto.getRegTimeStart(), dto.getRegTimeEnd());
         }
         if (dto.getPayTimeStart() != null && dto.getPayTimeEnd() != null) {
             //支付时间,订单充值时间
-            cri.where().andBetween("pay_time", dto.getPayTimeStart(), dto.getPayTimeEnd());
+            cri.where().andBetween("DATE(pay_time)", dto.getPayTimeStart(), dto.getPayTimeEnd());
         }
         if (dto.getRegPayIntervalTimeMin() != null) {
             cri.where().andGTE("TIMESTAMPDIFF(MINUTE, reg_time, pay_time)", dto.getRegPayIntervalTimeMin());

+ 14 - 12
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PlayerDataServiceImpl.java

@@ -97,7 +97,7 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
         }
         if (dto.getRechargeBeginDate() != null && dto.getRechargeEndDate() != null) {
             //充值时间
-            cri.where().andBetween("last_recharge_time", dto.getRechargeBeginDate(), dto.getRechargeEndDate());
+            cri.where().andBetween("DATE(last_recharge_time)", dto.getRechargeBeginDate(), dto.getRechargeEndDate());
         }
         //判断是否充值
         if (BooleanUtils.isFalse(dto.getIsRecharge())) {
@@ -120,7 +120,7 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
         }
         if (dto.getBeginDate() != null && dto.getEndDate() != null) {
             //注册时间
-            cri.where().andBetween("create_time", dto.getBeginDate(), dto.getEndDate());
+            cri.where().andBetween("DATE(create_time)", dto.getBeginDate(), dto.getEndDate());
         }
         if (dto.getRegPayIntervalTimeMin() != null) {
             //充值到注册的最小间隔时间(分)
@@ -252,12 +252,13 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
                             c.role_num
                             from (
                                 select
-                                        source_system ,
-                                        user_id ,
-                                        role_name ,
-                                        create_time ,
-                                        ROW_NUMBER() OVER(PARTITION BY user_id,source_system order by create_time desc) as num
-                                    from dm_game_order.t_user_login_log
+                                    source_system ,
+                                    user_id ,
+                                    role_name ,
+                                    create_time,
+                                    update_time ,
+                                    ROW_NUMBER() OVER(PARTITION BY user_id,source_system order by update_time  desc) as num
+                                from dm_game_order.t_game_user_role
                                 ) a
                             left join (
                                 select
@@ -350,13 +351,14 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
                             a.num,
                             c.role_num
                             from (
-                                select
+                                    select
                                         source_system ,
                                         user_id ,
                                         role_name ,
-                                        create_time ,
-                                        ROW_NUMBER() OVER(PARTITION BY user_id,source_system order by create_time desc) as num
-                                    from dm_game_order.t_user_login_log
+                                        create_time,
+                                        update_time ,
+                                        ROW_NUMBER() OVER(PARTITION BY user_id,source_system order by update_time  desc) as num
+                                    from dm_game_order.t_game_user_role
                                 ) a
                             left join (
                                 select

+ 17 - 3
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -8,6 +8,7 @@ import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
 import com.zanxiang.game.data.serve.service.IRoleManageService;
 import com.zanxiang.game.data.serve.utils.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.nutz.dao.Cnd;
@@ -52,6 +53,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
         if (dto.getGameId() != null) {
             criA.where().andEquals("role_reg_game_id", dto.getGameId());
         }
+        if (dto.getParentGameId() != null) {
+            //角色注册父游戏
+            criA.where().andEquals("role_reg_parent_game_id", dto.getParentGameId());
+        }
         if (StringUtils.isNotBlank(dto.getSourceSystem())) {
             criA.where().andEquals("source_system", dto.getSourceSystem());
         }
@@ -61,13 +66,13 @@ public class RoleManageServiceImpl implements IRoleManageService {
         if (StringUtils.isNotBlank(dto.getRoleName())) {
             criA.where().andLike("role_name", dto.getRoleName());
         }
-        if (dto.getServerIds() != null) {
+        if (CollectionUtils.isNotEmpty(dto.getServerIds())) {
             //区服列表查询
             criA.where().andInList("server_id", dto.getServerIds());
         }
         if (dto.getCreateRoleBeginDate() != null && dto.getCreateRoleEndDate() != null) {
             //角色创建时间
-            criA.where().andBetween("role_create_time", dto.getCreateRoleBeginDate(), dto.getCreateRoleEndDate());
+            criA.where().andBetween("DATE(role_create_time)", dto.getCreateRoleBeginDate(), dto.getCreateRoleEndDate());
         }
         if (dto.getVipLevel() != null) {
             criA.where().andEquals("vip_level", dto.getVipLevel());
@@ -76,7 +81,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
             criA.where().andEquals("is_send_mail", dto.getIsSendMail());
         }
         if (dto.getIsChange() != null) {
-            criA.where().andEquals("is_change", dto.getIsChange());
+            //是否转端
+            criA.where().andEquals("is_change_game_type", dto.getIsChange());
         }
         if (StringUtils.isNotBlank(dto.getWeChatCompany())) {
             criA.where().andLike("we_chat_company", dto.getWeChatCompany());
@@ -1323,6 +1329,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	MAX(role_count) as role_count, -- 角色数量
                 	MAX(total_num) as total_num, -- 总付费人数
                 	MAX(total_amount) as total_amount, -- 总付费金额
+                	ROUND(IF(MAX(total_num) > 0, MAX(total_amount) / MAX(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                	ROUND(IF(MAX(create_role_count) > 0, MAX(total_num) / MAX(create_role_count), 0), 4) as amount_rate, -- 付费率
                 	MAX(ba1) as ba1, -- 今日付费金额
                 	MAX(ba1_num) as ba1_num, -- 今日付费人数
                 	MAX(ba1_count) as ba1_count, -- 今日付费次数
@@ -1361,6 +1369,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     SUM(role_count) as role_count, -- 角色数量
                     SUM(total_num) as total_num, -- 总付费人数
                     SUM(total_amount) as total_amount, -- 总付费金额
+                    ROUND(IF(SUM(total_num) > 0, SUM(total_amount) / SUM(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                    ROUND(IF(SUM(create_role_count) > 0, SUM(total_num) / SUM(create_role_count), 0), 4) as amount_rate, -- 付费率
                     SUM(ba1) as ba1, -- 今日付费金额
                     SUM(ba1_num) as ba1_num, -- 今日付费人数
                     SUM(ba1_count) as ba1_count, -- 今日付费次数
@@ -1431,6 +1441,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     SUM(role_count) as role_count, -- 角色数量
                     SUM(total_num) as total_num, -- 总付费人数
                     SUM(total_amount) as total_amount, -- 总付费金额
+                    ROUND(IF(SUM(total_num) > 0, SUM(total_amount) / SUM(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                    ROUND(IF(SUM(create_role_count) > 0, SUM(total_num) / SUM(create_role_count), 0), 4) as amount_rate, -- 付费率
                     SUM(ba1) as ba1, -- 今日付费金额
                     SUM(ba1_num) as ba1_num, -- 今日付费人数
                     SUM(ba1_count) as ba1_count, -- 今日付费次数
@@ -1497,6 +1509,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     SUM(role_count) as role_count, -- 角色数量
                     SUM(total_num) as total_num, -- 总付费人数
                     SUM(total_amount) as total_amount, -- 总付费金额
+                    ROUND(IF(SUM(total_num) > 0, SUM(total_amount) / SUM(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                    ROUND(IF(SUM(create_role_count) > 0, SUM(total_num) / SUM(create_role_count), 0), 4) as amount_rate, -- 付费率
                     SUM(ba1) as ba1, -- 今日付费金额
                     SUM(ba1_num) as ba1_num, -- 今日付费人数
                     SUM(ba1_count) as ba1_count, -- 今日付费次数