diff --git a/core/command/CommandUnban.java b/core/command/CommandUnban.java index 054b4027..110ee22e 100644 --- a/core/command/CommandUnban.java +++ b/core/command/CommandUnban.java @@ -24,17 +24,9 @@ public class CommandUnban extends ACommand { @Override public List tab(Object player, String name, String[] args, int index) { -// if (args.length == index || (args.length == index + 1 )) { -// List list = new ArrayList<>(); -// if (PlayMusic.nowPlayMusic != null) { -// list.add(PlayMusic.nowPlayMusic.getID()); -// } -// for (SongInfoObj item : PlayMusic.getList()) { -// list.add(item.getID()); -// } -// -// return list; -// } + if (args.length == index || (args.length == index + 1 )) { + return DataSql.getBanMusicList(); + } return Collections.emptyList(); } diff --git a/core/command/CommandUnbanPlayer.java b/core/command/CommandUnbanPlayer.java index 4bb49073..0fc937ba 100644 --- a/core/command/CommandUnbanPlayer.java +++ b/core/command/CommandUnbanPlayer.java @@ -19,9 +19,9 @@ public class CommandUnbanPlayer implements ICommand { @Override public List tab(Object player, String name, String[] args, int index) { -// if (args.length == index || (args.length == index + 1 )) { -// return AllMusic.side.getPlayerList(); -// } + if (args.length == index || (args.length == index + 1 )) { + return DataSql.getBanPlayerList(); + } return Collections.emptyList(); } diff --git a/core/sql/DataSql.java b/core/sql/DataSql.java index 76a82afb..e4a96849 100644 --- a/core/sql/DataSql.java +++ b/core/sql/DataSql.java @@ -7,6 +7,7 @@ import com.coloryr.allmusic.server.core.objs.hud.PosObj; import java.io.File; import java.sql.*; +import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Queue; @@ -443,7 +444,7 @@ public class DataSql { } /** - * 检查玩家是否在数据库 + * check a music in ban list? * * @param name 用户名 * @return 结果 @@ -469,6 +470,34 @@ public class DataSql { return false; } + + /*** + * a way to get ban music list + * @return ban music list + */ + public static List getBanMusicList() { + try { + List banList = new ArrayList<>(); + if (connection.isReadOnly() || connection.isClosed()) { + init(); + } + Statement stat = connection.createStatement(); + ResultSet set = stat.executeQuery("SELECT sid FROM allmusic_banlist"); + while (set.next()) { + String musicName = set.getString("sid"); + if (musicName != null) { + banList.add(musicName); + } + } + set.close(); + stat.close(); + return banList; + } catch (Exception e) { + e.printStackTrace(); + } + return new ArrayList<>(); + } + public static void clearBan() { task(() -> { try { @@ -545,6 +574,32 @@ public class DataSql { return false; } + /*** + * @return a list of ban players + */ + public static List getBanPlayerList() { + try { + List banList = new ArrayList<>(); + if (connection.isReadOnly() || connection.isClosed()) { + init(); + } + Statement stat = connection.createStatement(); + ResultSet set = stat.executeQuery("SELECT sid FROM allmusic_banplayer"); + while (set.next()) { + String playerName = set.getString("sid"); + if (playerName != null) { + banList.add(playerName); + } + } + set.close(); + stat.close(); + return banList; + } catch (Exception e) { + e.printStackTrace(); + } + return new ArrayList<>(); + } + public static void clearBanPlayer() { task(() -> { try {