|  | @@ -927,57 +927,99 @@ public class RoleManageServiceImpl implements IRoleManageService {
 | 
	
		
			
				|  |  |          dao.execute(sql);
 | 
	
		
			
				|  |  |          //查询结果
 | 
	
		
			
				|  |  |          List<Map> list = sql.getList(Map.class);
 | 
	
		
			
				|  |  | +        if(CollectionUtils.isNotEmpty(list)){
 | 
	
		
			
				|  |  | +            List<String> keys = Arrays.asList("putUserId", "operUserId", "gsId", "customerServiceId");
 | 
	
		
			
				|  |  | +            List<Long> userIds = new ArrayList<>();
 | 
	
		
			
				|  |  | +            for (Map map : list) {
 | 
	
		
			
				|  |  | +                //把投手id和运营id和GSID和客服人员ID 转成List
 | 
	
		
			
				|  |  | +                for (String key : keys) {
 | 
	
		
			
				|  |  | +                    if (map.get(key) != null) {
 | 
	
		
			
				|  |  | +                        userIds.add(Long.valueOf(map.get(key).toString()));
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            //去重userIds
 | 
	
		
			
				|  |  | +            userIds = userIds.stream().distinct().collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            //发送RPC接口查询所有用户
 | 
	
		
			
				|  |  | +            ResultVO<Map<Long, String>> userMap = sysUserRpc.getUserNameByIds(userIds);
 | 
	
		
			
				|  |  | +            for (Map map : list) {
 | 
	
		
			
				|  |  | +                //投手名
 | 
	
		
			
				|  |  | +                updateUserName(map, "putUserId", "putUserName", userMap);
 | 
	
		
			
				|  |  | +                //运营人员名
 | 
	
		
			
				|  |  | +                updateUserName(map, "operUserId", "operUserName", userMap);
 | 
	
		
			
				|  |  | +                //GS人员名
 | 
	
		
			
				|  |  | +                updateUserName(map, "gsId", "gsName", userMap);
 | 
	
		
			
				|  |  | +                //客服人员名
 | 
	
		
			
				|  |  | +                updateUserName(map, "customerServiceId", "customerServiceName", userMap);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          return new Page<>(list, pager);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private Criteria getSqlByQuery(RoleLevelParamDTO dto) {
 | 
	
		
			
				|  |  |          Criteria criA = Cnd.cri();
 | 
	
		
			
				|  |  | -        if(CollectionUtils.isNotEmpty(dto.getUserId())){
 | 
	
		
			
				|  |  | +        if(dto.getGsId()!=null){
 | 
	
		
			
				|  |  | +            //gsId
 | 
	
		
			
				|  |  | +            criA.where().andEquals("b.gs_id", dto.getGsId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if(dto.getPitcherId()!=null){
 | 
	
		
			
				|  |  | +            //投手id
 | 
	
		
			
				|  |  | +            criA.where().andEquals("c.pitcher_id", dto.getPitcherId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if(dto.getCustomerServiceId()!=null){
 | 
	
		
			
				|  |  | +            //客服id
 | 
	
		
			
				|  |  | +            criA.where().andEquals("b.customer_service_id", dto.getCustomerServiceId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if(dto.getOperUserId()!=null){
 | 
	
		
			
				|  |  | +            //运营id
 | 
	
		
			
				|  |  | +            criA.where().andEquals("b.oper_user_id", dto.getOperUserId());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(dto.getUserId())) {
 | 
	
		
			
				|  |  |              //玩家id
 | 
	
		
			
				|  |  | -            criA.where().andInList("user_id", dto.getUserId());
 | 
	
		
			
				|  |  | +            criA.where().andInList("a.user_id", dto.getUserId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(dto.getUserName())) {
 | 
	
		
			
				|  |  |              //玩家名称
 | 
	
		
			
				|  |  | -            criA.where().andLike("user_name", dto.getUserName());
 | 
	
		
			
				|  |  | +            criA.where().andLike("a.user_name", dto.getUserName());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(dto.getServerName())) {
 | 
	
		
			
				|  |  |              //区服名称
 | 
	
		
			
				|  |  | -            criA.where().andLike("server_name", dto.getServerName());
 | 
	
		
			
				|  |  | +            criA.where().andLike("a.server_name", dto.getServerName());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(CollectionUtils.isNotEmpty(dto.getServerId())){
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(dto.getServerId())) {
 | 
	
		
			
				|  |  |              //区服id
 | 
	
		
			
				|  |  | -            criA.where().andInStrList("server_id", dto.getServerId());
 | 
	
		
			
				|  |  | +            criA.where().andInStrList("a.server_id", dto.getServerId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(dto.getGameName())) {
 | 
	
		
			
				|  |  |              //游戏名称
 | 
	
		
			
				|  |  | -            criA.where().andLike("game_name", dto.getGameName());
 | 
	
		
			
				|  |  | +            criA.where().andLike("a.game_name", dto.getGameName());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if(CollectionUtils.isNotEmpty(dto.getGameId())){
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(dto.getGameId())) {
 | 
	
		
			
				|  |  |              //游戏id
 | 
	
		
			
				|  |  | -            criA.where().andInList("game_id", dto.getGameId());
 | 
	
		
			
				|  |  | +            criA.where().andInList("a.game_id", dto.getGameId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(dto.getRoleId())) {
 | 
	
		
			
				|  |  |              //角色id
 | 
	
		
			
				|  |  | -            criA.where().andEquals("role_id", dto.getRoleId());
 | 
	
		
			
				|  |  | +            criA.where().andEquals("a.role_id", dto.getRoleId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(dto.getRoleName())) {
 | 
	
		
			
				|  |  |              //角色名称
 | 
	
		
			
				|  |  | -            criA.where().andLike("role_name", dto.getRoleName());
 | 
	
		
			
				|  |  | +            criA.where().andLike("a.role_name", dto.getRoleName());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //角色等级区间筛选
 | 
	
		
			
				|  |  |          if (dto.getRoleLevelMin() != null) {
 | 
	
		
			
				|  |  | -            criA.where().andGTE("role_level", dto.getRoleLevelMin());
 | 
	
		
			
				|  |  | +            criA.where().andGTE("a.role_level", dto.getRoleLevelMin());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (dto.getRoleLevelMax() != null) {
 | 
	
		
			
				|  |  | -            criA.where().andLTE("role_level", dto.getRoleLevelMax());
 | 
	
		
			
				|  |  | +            criA.where().andLTE("a.role_level", dto.getRoleLevelMax());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //角色创建时间
 | 
	
		
			
				|  |  |          if (dto.getCreateTimeMin() != null && dto.getCreateTimeMax() != null) {
 | 
	
		
			
				|  |  | -            criA.where().andBetween("create_time", dto.getCreateTimeMin(), dto.getCreateTimeMax());
 | 
	
		
			
				|  |  | +            criA.where().andBetween("a.create_time", dto.getCreateTimeMin(), dto.getCreateTimeMax());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //等级上报时间
 | 
	
		
			
				|  |  |          if (dto.getLevelTimeMin() != null && dto.getLevelTimeMax() != null) {
 | 
	
		
			
				|  |  | -            criA.where().andBetween("level_time", dto.getLevelTimeMin(), dto.getLevelTimeMax());
 | 
	
		
			
				|  |  | +            criA.where().andBetween("a.level_time", dto.getLevelTimeMin(), dto.getLevelTimeMax());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return criA;
 | 
	
	
		
			
				|  | @@ -985,28 +1027,46 @@ public class RoleManageServiceImpl implements IRoleManageService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private String getLevelListSql(Criteria criA) {
 | 
	
		
			
				|  |  |          return """
 | 
	
		
			
				|  |  | -                select
 | 
	
		
			
				|  |  | -                    role_id as roleId,
 | 
	
		
			
				|  |  | -                    role_name as roleName,
 | 
	
		
			
				|  |  | -                    user_id as userId,
 | 
	
		
			
				|  |  | -                    user_name as userName,
 | 
	
		
			
				|  |  | -                    game_id as gameId,
 | 
	
		
			
				|  |  | -                    game_name as gameName,
 | 
	
		
			
				|  |  | -                    server_id as serverId,
 | 
	
		
			
				|  |  | -                    server_name as serverName,
 | 
	
		
			
				|  |  | -                    create_time as createTime,
 | 
	
		
			
				|  |  | -                    role_level as roleLevel,
 | 
	
		
			
				|  |  | -                    level_time as levelTime
 | 
	
		
			
				|  |  | -                    from ads_role_level_log
 | 
	
		
			
				|  |  | +                  select
 | 
	
		
			
				|  |  | +                     a.role_id as roleId,
 | 
	
		
			
				|  |  | +                     a.role_name as roleName,
 | 
	
		
			
				|  |  | +                     a.user_id as userId,
 | 
	
		
			
				|  |  | +                     a.user_name as userName,
 | 
	
		
			
				|  |  | +                     a.game_id as gameId,
 | 
	
		
			
				|  |  | +                     a.game_name as gameName,
 | 
	
		
			
				|  |  | +                     a.server_id as serverId,
 | 
	
		
			
				|  |  | +                     a.server_name as serverName,
 | 
	
		
			
				|  |  | +                     a.create_time as createTime,
 | 
	
		
			
				|  |  | +                     a.role_level as roleLevel,
 | 
	
		
			
				|  |  | +                     a.level_time as levelTime,
 | 
	
		
			
				|  |  | +                     a.agent_id as agentId,
 | 
	
		
			
				|  |  | +                     b.gs_id as gsId,
 | 
	
		
			
				|  |  | +                     b.customer_service_id as customerServiceId,
 | 
	
		
			
				|  |  | +                     b.oper_user_id as operUserId,
 | 
	
		
			
				|  |  | +                     c.pitcher_id as pitcherId
 | 
	
		
			
				|  |  | +                     from ads_role_level_log a
 | 
	
		
			
				|  |  | +                     left join dm_game_order.t_role_operate b on a.user_id = b.user_id
 | 
	
		
			
				|  |  | +                                                                     and a.role_id = b.role_id
 | 
	
		
			
				|  |  | +                                                                     and a.server_id = b.server_id
 | 
	
		
			
				|  |  | +                                                                     and a.game_id = b.game_id
 | 
	
		
			
				|  |  | +                     left join dm_game_order.t_pitcher_agent c on a.agent_id = c.id and c.source_system =  'ZX_ONE'
 | 
	
		
			
				|  |  |                  """ + criA;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private String getLevelListCountSql(Criteria criA) {
 | 
	
		
			
				|  |  |          return """
 | 
	
		
			
				|  |  | -                select
 | 
	
		
			
				|  |  | -                    count(1)
 | 
	
		
			
				|  |  | -                    from ads_role_level_log
 | 
	
		
			
				|  |  | -                """ + criA;
 | 
	
		
			
				|  |  | +                select count(1) from (
 | 
	
		
			
				|  |  | +                      select
 | 
	
		
			
				|  |  | +                                  *
 | 
	
		
			
				|  |  | +                                    from ads_role_level_log a
 | 
	
		
			
				|  |  | +                  left join dm_game_order.t_role_operate b on a.user_id = b.user_id
 | 
	
		
			
				|  |  | +                                                                  and a.role_id = b.role_id
 | 
	
		
			
				|  |  | +                                                                  and a.server_id = b.server_id
 | 
	
		
			
				|  |  | +                                                                  and a.game_id = b.game_id
 | 
	
		
			
				|  |  | +                  left join dm_game_order.t_pitcher_agent c on a.agent_id = c.id and c.source_system =  'ZX_ONE'
 | 
	
		
			
				|  |  | +                  """ + criA + """
 | 
	
		
			
				|  |  | +                                     ) a
 | 
	
		
			
				|  |  | +                """;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |