Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.96 KB | None | 0 0
  1. package com.garnixmc.garnixclans.manager;
  2.  
  3. import com.garnixmc.garnixclans.object.Clan;
  4. import com.garnixmc.garnixclans.object.ClanPlayer;
  5. import org.bukkit.Bukkit;
  6.  
  7. import java.sql.Connection;
  8. import java.sql.PreparedStatement;
  9. import java.sql.ResultSet;
  10. import java.sql.SQLException;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13.  
  14. import static com.garnixmc.garnixclans.GarnixClans.*;
  15.  
  16. public class ClanManager {
  17.  
  18. private List<Clan> clans = new ArrayList<>();
  19. private List<ClanPlayer> clanPlayers = new ArrayList<>();
  20.  
  21. public List<Clan> getClans() {
  22. return clans;
  23. }
  24.  
  25. public List<ClanPlayer> getClanPlayers() {
  26. return clanPlayers;
  27. }
  28.  
  29. public Clan getClanByTag(String tag) {
  30. return clans.stream().filter(clan -> clan.getTag().equalsIgnoreCase(tag)).findFirst().orElse(null);
  31. }
  32.  
  33. public ClanPlayer getClanByPlayer(String player) {
  34. return clanPlayers.stream().filter(p -> p.getPlayerName().equalsIgnoreCase(player)).findFirst().orElse(null);
  35. }
  36.  
  37. public boolean existsClan(String tag) {
  38. return getClanByTag(tag) != null;
  39. }
  40.  
  41. public void loadAll() {
  42. try {
  43. clans.clear();
  44. clanPlayers.clear();
  45. Connection connection = getLocalService().connection;
  46. PreparedStatement preparedStatement = connection
  47. .prepareStatement("select * from " + getLocalService().table_name);
  48. ResultSet resultSet = preparedStatement.executeQuery();
  49. while (resultSet.next()) {
  50. Clan clan = getClanByTag(resultSet.getString("tag"));
  51. if (clan == null) {
  52. clan = new Clan(resultSet.getString("tag"),
  53. resultSet.getString("colorTag"),
  54. resultSet.getString("name"),
  55. resultSet.getString("founded"),
  56. resultSet.getDouble("bank"),
  57. resultSet.getString("founder"),
  58. null,
  59. null);
  60. clans.add(clan);
  61. }
  62. }
  63. PreparedStatement preparedStatement2 = connection
  64. .prepareStatement("select * from " + getLocalService().table_name_2);
  65. ResultSet resultSet2 = preparedStatement2.executeQuery();
  66. while (resultSet2.next()) {
  67. ClanPlayer clanPlayer = getClanByPlayer(resultSet2.getString("playerName"));
  68. if (clanPlayer == null) {
  69. clanPlayer = new ClanPlayer(resultSet2.getString("playerName"),
  70. resultSet2.getString("clan"),
  71. resultSet2.getString("lastLogin"),
  72. resultSet2.getInt("neutralKills"),
  73. resultSet2.getInt("civilKills"),
  74. resultSet2.getInt("neutralDeaths"),
  75. resultSet2.getInt("civilDeaths"), false);
  76. clanPlayers.add(clanPlayer);
  77. }
  78. }
  79. } catch (
  80. Exception exception) {
  81. exception.printStackTrace();
  82. }
  83. }
  84.  
  85. public void insertClan(String tag, String colorTag, String name, String founded, String founder) {
  86. Clan clan = new Clan(tag,
  87. colorTag,
  88. name, founded, 0D,
  89. founder,
  90. null,
  91. null);
  92. clans.add(clan);
  93. Bukkit.getScheduler().runTaskAsynchronously(getInstance(), () -> {
  94. try {
  95. Connection connection = getLocalService().connection;
  96. PreparedStatement preparedStatement = connection
  97. .prepareStatement("insert into " + getLocalService().table_name
  98. + " (tag, colorTag, name, founded, bank, founder, members, trusteds)" +
  99. " VALUES (?,?,?,?,?,?,?,?)");
  100. preparedStatement.setString(1, tag);
  101. preparedStatement.setString(2, colorTag);
  102. preparedStatement.setString(3, name);
  103. preparedStatement.setString(4, founded);
  104. preparedStatement.setDouble(5, 0D);
  105. preparedStatement.setString(6, founder);
  106. preparedStatement.setString(7, "null");
  107. preparedStatement.setString(8, "null");
  108. preparedStatement.executeUpdate();
  109. preparedStatement.close();
  110. } catch (SQLException e) {
  111. e.printStackTrace();
  112. }
  113. });
  114. }
  115.  
  116. public void updateClan(Clan clan, boolean async) {
  117. if (async) {
  118. Bukkit.getScheduler().runTaskAsynchronously(getInstance(), () -> {
  119. try {
  120. Connection connection = getLocalService().connection;
  121. PreparedStatement preparedStatement = connection
  122. .prepareStatement("update " + getLocalService().table_name_2
  123. + " set tag = ?, colorTag = ?,bank = ?, members = ?," +
  124. " trusteds = ? where founder = ?");
  125. preparedStatement.setString(1, clan.getTag());
  126. preparedStatement.setString(2, clan.getColorTag());
  127. preparedStatement.setDouble(3, clan.getBank());
  128. preparedStatement.setString(4, clan.getMembers() != null ? getApi().setSplited(clan.getMembers()) : null);
  129. preparedStatement.setString(5, clan.getTrusteds() != null ? getApi().setSplited(clan.getTrusteds()) : null);
  130. preparedStatement.setString(6, clan.getFounder());
  131. preparedStatement.executeUpdate();
  132. } catch (SQLException e) {
  133. e.printStackTrace();
  134. }
  135. });
  136. } else {
  137. try {
  138. Connection connection = getLocalService().connection;
  139. PreparedStatement preparedStatement = connection
  140. .prepareStatement("update " + getLocalService().table_name_2
  141. + " set tag = ?, colorTag = ?,bank = ?, members = ?," +
  142. " trusteds = ? where founder = ?");
  143. preparedStatement.setString(1, clan.getTag());
  144. preparedStatement.setString(2, clan.getColorTag());
  145. preparedStatement.setDouble(3, clan.getBank());
  146. preparedStatement.setString(4, clan.getMembers() != null ? getApi().setSplited(clan.getMembers()) : null);
  147. preparedStatement.setString(5, clan.getTrusteds() != null ? getApi().setSplited(clan.getTrusteds()) : null);
  148. preparedStatement.setString(6, clan.getFounder());
  149. preparedStatement.executeUpdate();
  150. } catch (SQLException e) {
  151. e.printStackTrace();
  152. }
  153. }
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement