Browse Source

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

bilingfeng 3 months ago
parent
commit
5414864c4a

+ 8 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/RoleRechargeRankingDTO.java

@@ -288,6 +288,12 @@ public class RoleRechargeRankingDTO extends BasePage {
     @ApiModelProperty(value = "角色最近充值时间最大值")
     private LocalDate roleLastPayTimeMax;
 
-
-
+    @ApiModelProperty(value = "注册城市")
+    private String ipCity;
+    @ApiModelProperty(value = "注册归属地")
+    private String ipProv;
+    @ApiModelProperty(value = "最新登录城市")
+    private String loginIpCity;
+    @ApiModelProperty(value = "最新登录归属地")
+    private String loginIpProv;
 }

+ 41 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -439,6 +439,19 @@ public class RoleManageServiceImpl implements IRoleManageService {
         if (dto.getRoleLastPayTimeMin() != null && dto.getRoleLastPayTimeMax() != null) {
             criA.where().andBetween("DATE(role_last_pay_time)", dto.getRoleLastPayTimeMin(), dto.getRoleLastPayTimeMax());
         }
+
+        if (StringUtils.isNotBlank(dto.getIpCity())){
+            criA.where().andEquals("ip_city",dto.getIpCity());
+        }
+        if(StringUtils.isNotBlank(dto.getIpProv())){
+            criA.where().andEquals("ip_prov",dto.getIpProv());
+        }
+        if (StringUtils.isNotBlank(dto.getLoginIpCity())){
+            criA.where().andEquals("login_ip_city",dto.getLoginIpCity());
+        }
+        if(StringUtils.isNotBlank(dto.getLoginIpProv())){
+            criA.where().andEquals("login_ip_prov",dto.getLoginIpProv());
+        }
         return criA;
     }
 
@@ -2424,6 +2437,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         ara.role_total_amount as role_total_amount, -- 创角24小时内总充值金额
                 		ara.max_amount as max_amount, -- 创角24小时内单笔最大充值金额
                 		ara.min_amount as min_amount, -- 创角24小时内单笔最小充值金额
+                		i.ip_city,
+                  		i.ip_prov,
+                  		ix.login_ip_city,
+                   		ix.login_ip_prov,
                 		ara.role_amount as role_amount -- 角色充值数组
                     FROM
                     (
@@ -2590,6 +2607,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
                                                 z.reg_mobile as reg_mobile,
                                                 z.reg_email as reg_email,
                                                 z.user_create_time as user_create_time,
+                                                z.ip_city,
+                                                z.ip_prov,
                                                 z.user_reg_game_id as user_reg_game_id
                                                 FROM
                                                 (
@@ -2603,10 +2622,32 @@ public class RoleManageServiceImpl implements IRoleManageService {
                                                         reg_email ,
                                                         create_time as user_create_time,
                                                         game_id as user_reg_game_id,
+                                                        ip_city,
+                                                        ip_prov,
                                                         ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
                                                     FROM dm_game_order.t_game_user
                                                 ) z WHERE z.num = 1
                                         ) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
+                                        LEFT JOIN (
+                                                                                 -- 玩家登录ip
+                                                                                     SELECT
+                                                                                     zx.user_id,
+                                                                                     zx.ip_prov as login_ip_prov,
+                                                                                     zx.ip_city as login_ip_city,
+                                                                                     zx.source_system
+                                                                                     FROM
+                                                                                     (
+                                                                                        select
+                                                                                        user_id,
+                                                                                        ip_prov,
+                                                                                        ip_city,
+                                                                                        source_system,
+                                                                                        ROW_NUMBER()over(partition by user_id, source_system order by create_time desc, id asc) as num
+                                                                                        from
+                                                                                        dm_game_order.t_user_login_log
+                                                                                     ) zx WHERE zx.num = 1
+                                                                             ) ix on i.source_system = ix.source_system AND i.association_user_id = ix.user_id 
+                                        
                     LEFT JOIN (
                         SELECT
                             -- 原始服名