Просмотр исходного кода

fix:修改角色ip登录数量列表sql

zhangxianyu 1 месяц назад
Родитель
Сommit
9208f22953

+ 10 - 13
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -1090,7 +1090,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         if (StringUtils.isEmpty(ipCountIp)) {
             return new ArrayList<>();
         }
-        return baseService.ipCountList(Arrays.stream(ipCountIp.split(",")).map(String::trim).collect(Collectors.toList()),dto.getRoleId());
+        return baseService.ipCountList(Arrays.stream(ipCountIp.split(",")).map(String::trim).collect(Collectors.toList()), dto.getRoleId());
     }
 
     @Override
@@ -1108,7 +1108,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
     }
 
     @Override
-    public List<Map> ipCountList(List<String> ip,String roleId) {
+    public List<Map> ipCountList(List<String> ip, String roleId) {
         Criteria criteria = Cnd.cri();
         criteria.where().andInStrList("a.ip", ip);
         criteria.where().andNotIsNull("a.ip");
@@ -1118,17 +1118,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
         criteria.where().andNotEquals("a.role_id", "null");
         criteria.where().andNotEquals("a.role_id", "");
         criteria.where().andNotEquals("a.role_id", "");
-        if(roleId!=null){
-            criteria.where().andEquals("b.role_id", roleId);
-        }
-        String ipCountList = getIpCountList(criteria);
+        String ipCountList = getIpCountList(criteria, roleId);
         Sql sql = Sqls.create(ipCountList);
         sql.setCallback(Sqls.callback.maps());
         dao.execute(sql);
         return sql.getList(Map.class);
     }
 
-    private String getIpCountList(Criteria criteria) {
+    private String getIpCountList(Criteria criteria, String roleId) {
         return """
                 SELECT a.ip,
                        COUNT(DISTINCT a.role_id) AS ipRoleCount,
@@ -1137,8 +1134,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
                          LEFT JOIN
                      dm_game_order.t_user_login_log b
                      ON
-                         a.ip = b.ip AND b.role_id = a.role_id
-                 """ + criteria + """
+                         a.ip = b.ip AND b.role_id = a.role_id and b.role_id = """ + roleId + """
+                """ + criteria + """
                  group by a.ip
                 """;
     }
@@ -1154,7 +1151,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         }
         Map map = maps.get(0);
         String userCountGroup = String.valueOf(map.get("user_count_group"));
-        if (StringUtils.isEmpty(userCountGroup)|| "null".equals(userCountGroup)) {
+        if (StringUtils.isEmpty(userCountGroup) || "null".equals(userCountGroup)) {
             return new ArrayList<>();
         }
         return baseService.userDetailList(Arrays.stream(userCountGroup.split(",")).map(String::trim).map(Long::valueOf).collect(Collectors.toList()), dto);
@@ -1201,7 +1198,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
     public List<Map> roleDetailList(List<String> roleId) {
         Criteria criteria = Cnd.cri();
         criteria.where().andInStrList("a.role_id", roleId);
-        criteria.where().andEquals("a.source_system","ZX_ONE");
+        criteria.where().andEquals("a.source_system", "ZX_ONE");
         criteria.where().andInList("a.game_id", Arrays.asList(35L, 36L, 10035L));
         String roleDetailListSql = getRoleDetailListSql(criteria);
         Sql sql = Sqls.create(roleDetailListSql);
@@ -1230,7 +1227,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 from dm_game_order.t_game_user_role a
                          left join game_dw.dw_order_day_amount b on a.role_id = b.role_id
                 left join dm_game_order.t_game c on a.game_id = c.id and c.source_system = 'ZX_ONE'
-                """+criteria+"""
+                """ + criteria + """
                 GROUP BY a.country, a.role_id, a.user_id, a.server_id
                 """;
     }
@@ -1259,7 +1256,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         }
         Map map = maps.get(0);
         String suspectedRoleIds = String.valueOf(map.get("suspected_role_ids"));
-        if (StringUtils.isEmpty(suspectedRoleIds)|| "null".equals(suspectedRoleIds)) {
+        if (StringUtils.isEmpty(suspectedRoleIds) || "null".equals(suspectedRoleIds)) {
             return new ArrayList<>();
         }
         return baseService.roleDetailList(Arrays.stream(suspectedRoleIds.split(",")).map(String::trim).collect(Collectors.toList()));