1
1
mirror of https://github.com/geekfrog/PermissionsTime.git synced 2025-09-06 20:26:59 +00:00
Files
PermissionsTime/src/main/gg/frog/mc/permissionstime/database/SqlManager.java
GeekFrog 77fb63bf56 调整目录结构
增加称号功能
2018-06-23 15:37:38 +08:00

147 lines
3.2 KiB
Java

package gg.frog.mc.permissionstime.database;
import java.util.Collections;
import java.util.List;
import gg.frog.mc.base.PluginMain;
import gg.frog.mc.base.config.PluginCfg;
import gg.frog.mc.permissionstime.database.impl.MySQLPlayerDataDao;
import gg.frog.mc.permissionstime.database.impl.SqlitePlayerDataDao;
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
import lib.PatPeter.SQLibrary.Database;
import lib.PatPeter.SQLibrary.MySQL;
import lib.PatPeter.SQLibrary.SQLite;
public class SqlManager {
private PluginMain pm;
private Database db = null;
private IPlayerDataDao pds = null;
public SqlManager(PluginMain pm) {
this.pm = pm;
}
public Database getDb() {
return db;
}
public boolean updateDatabase() {
if (db != null) {
db.close();
}
if (PluginCfg.USE_MYSQL) {
db = new MySQL(PluginMain.LOG, "[" + pm.PLUGIN_NAME + "] ", PluginCfg.SQL_HOSTNAME, PluginCfg.SQL_PORT, PluginCfg.SQL_DATABASE, PluginCfg.SQL_USERNAME, PluginCfg.SQL_PASSWORD);
pds = new MySQLPlayerDataDao(pm, this);
} else {
db = new SQLite(PluginMain.LOG, "[" + pm.PLUGIN_NAME + "] ", pm.getDataFolder().getAbsolutePath(), "playerData", ".db");
pds = new SqlitePlayerDataDao(pm, this);
}
if (db.open()) {
try {
if (!pds.tableExist()) {
pds.creatTable();
}
return true;
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public List<PlayerDataBean> getAllTime(String uuid) {
if (uuid != null)
for (int i = 0; i < 3; i++) {
try {
return pds.queryPlayerData(uuid);
} catch (Exception e) {
e.printStackTrace();
}
}
return Collections.emptyList();
}
public List<PlayerDataBean> getTime(String uuid) {
if (uuid != null)
for (int i = 0; i < 3; i++) {
try {
return pds.queryNotExpirePlayerData(uuid);
} catch (Exception e) {
e.printStackTrace();
}
}
return Collections.emptyList();
}
public boolean giveTime(String uuid, String packageName, int time) {
if (uuid != null)
for (int i = 0; i < 3; i++) {
try {
if (pds.addTime(uuid, packageName, time)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public boolean setTime(String uuid, String packageName, int time) {
if (uuid != null)
for (int i = 0; i < 3; i++) {
try {
if (pds.setTime(uuid, packageName, time)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public boolean removeTime(String uuid, String packageName) {
if (uuid != null)
for (int i = 0; i < 3; i++) {
try {
if (pds.delPlayData(uuid, packageName)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public boolean removeAllTime(String uuid) {
if (uuid != null)
for (int i = 0; i < 3; i++) {
try {
if (pds.delPlayData(uuid)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public boolean delById(Long id) {
for (int i = 0; i < 3; i++) {
try {
if (pds.delPlayData(id)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
}