package de.ocame.wuerfelbot.Shadowrun; import java.sql.*; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; public class db_connect extends de.ocame.wuerfelbot.DB.base { Connection conn; public db_connect() { if(!isActive()) return; open(); try { conn = getConn(); ResultSet rs = conn.prepareStatement("show tables like \"shadowrun_log\"").executeQuery(); while (rs.next()) { String s = rs.getString(1); System.out.println(s); } } catch (SQLException e) { e.printStackTrace(); } close(); } public void insertDice(String userName, String userId, String command, String result, String kanal, long MsgID, String wurfdaten) { if(!isActive()) return; open(); try { conn = getConn(); String SQL_INSERT = "INSERT INTO shadowrun_log (benutzer, benutzerId, wurf, ergebnis, kanal, msgId, wurfdaten) VALUES (?,?,?,?,?,?,?)"; PreparedStatement preparedStatement = conn.prepareStatement(SQL_INSERT); preparedStatement.setString(1, userName); preparedStatement.setString(2, userId); preparedStatement.setString(3, command); preparedStatement.setString(4, result); preparedStatement.setString(5, kanal); preparedStatement.setLong(6, MsgID); preparedStatement.setString(7, wurfdaten); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } close(); } /** * * @param channelId * @return */ public Map getChannelSettings(String channelId) { Map result = new HashMap<>(); result.put("lang", "de"); if(!isActive()) { result.put("sqlActive", "0"); return result; } open(); try { conn = getConn(); String SQL_SELECT = "SELECT * FROM shadowrun_channelSettings where channelId = ?"; PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT); preparedStatement.setString(1, channelId); ResultSet rs = preparedStatement.executeQuery(); while (rs.next()) { result.remove("lang"); result.put("lang", rs.getString("lang")); } } catch (SQLException e) { e.printStackTrace(); } close(); return result; } public void setChannelSettings(String channelId, String Sprache, String ServerId, String Kanalname) { if(!isActive()) { return; } open(); try { conn = getConn(); String SQL_SELECT = "SELECT * FROM shadowrun_channelSettings where channelId = ?"; PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT); preparedStatement.setString(1, channelId); ResultSet rs = preparedStatement.executeQuery(); if (rs.next()) { String SQL_Update = "UPDATE shadowrun_channelSettings SET lang = ? WHERE channelId = ?"; preparedStatement = conn.prepareStatement(SQL_Update); preparedStatement.setString(1, Sprache); preparedStatement.setString(2, channelId); preparedStatement.executeUpdate(); } else { String SQL_INSERT = "INSERT INTO shadowrun_channelSettings (channelId, lang, serverId, kanalname) VALUES (?,?,?,?)"; preparedStatement = conn.prepareStatement(SQL_INSERT); preparedStatement.setString(1, channelId); preparedStatement.setString(2, Sprache); preparedStatement.setString(3, ServerId); preparedStatement.setString(4, Kanalname); preparedStatement.executeUpdate(); } close(); return; } catch (SQLException e) { e.printStackTrace(); } close(); } public Map getMesssage(Long MsgId) { Map result = new HashMap<>(); if(!isActive()) { return result; } result.put("lang", "de"); open(); try { conn = getConn(); String SQL_SELECT = "SELECT * FROM shadowrun_log where MsgID = ?"; PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT); preparedStatement.setLong(1, MsgId); ResultSet rs = preparedStatement.executeQuery(); while (rs.next()) { result.put("benutzerId", rs.getString("benutzerId")); result.put("wurfdaten", rs.getString("wurfdaten")); } } catch (SQLException e) { e.printStackTrace(); } close(); return result; } } /* CREATE TABLE `shadowrun_log` ( `id` INT NOT NULL AUTO_INCREMENT, `zeitstempel` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `wurf` VARCHAR(255) NOT NULL DEFAULT '0', `ergebnis` VARCHAR(255) NOT NULL DEFAULT '0', `benutzer` VARCHAR(255) NOT NULL DEFAULT '0', `benutzerId` VARCHAR(255) NOT NULL DEFAULT '0', `kanal` VARCHAR(50) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ; CREATE TABLE `shadowrun_channelSettings` ( `id` INT NOT NULL AUTO_INCREMENT, `zeitstempel` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `channelId` VARCHAR(50) NOT NULL DEFAULT '0', `lang` VARCHAR(255) NOT NULL DEFAULT 'de', `serverId` VARCHAR(255) NULL, `kanalname` VARCHAR(255) NULL, PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ; */