mirror of
https://github.com/geekfrog/PermissionsTime.git
synced 2025-09-06 02:56:58 +00:00
支持跨服权限
This commit is contained in:
@ -55,7 +55,7 @@ public class GiveCmd implements Runnable {
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid.toString() + "\n" + pack.toString() + "\n" + time + "天"));
|
||||
}
|
||||
if (sm.giveTime(uuid.toString(), packageName, days)) {
|
||||
if (sm.giveTime(((PluginCfg.USE_MYSQL && pack.getGlobal()) ? "g:" : "") + uuid.toString(), packageName, days)) {
|
||||
if (player.isOnline()) {
|
||||
Player p = player.getPlayer();
|
||||
try {
|
||||
|
@ -108,10 +108,10 @@ public class MainCommand implements CommandExecutor {
|
||||
sender.sendMessage(StrUtil.messageFormat("/" + pm.PLUGIN_NAME_LOWER_CASE + " set <playerName> <packageName> <time> \n - Set player package <time>day."));
|
||||
}
|
||||
if (!isPlayer || sender.isOp() || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".remove")) {
|
||||
sender.sendMessage(StrUtil.messageFormat("/" + pm.PLUGIN_NAME_LOWER_CASE + " remove <playerName> <packageName> \n - Remove player package."));
|
||||
sender.sendMessage(StrUtil.messageFormat("/" + pm.PLUGIN_NAME_LOWER_CASE + " remove <playerName> <packageName> [t/f delGlobal] \n - Remove player package."));
|
||||
}
|
||||
if (!isPlayer || sender.isOp() || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".removeall")) {
|
||||
sender.sendMessage(StrUtil.messageFormat("/" + pm.PLUGIN_NAME_LOWER_CASE + " removeall <playerName> \n - Remove player all package."));
|
||||
sender.sendMessage(StrUtil.messageFormat("/" + pm.PLUGIN_NAME_LOWER_CASE + " removeall <playerName> [t/f delGlobal] \n - Remove player all package."));
|
||||
}
|
||||
if (!isPlayer || sender.isOp() || sender.hasPermission(pm.PLUGIN_NAME_LOWER_CASE + ".reload")) {
|
||||
sender.sendMessage(StrUtil.messageFormat("/" + pm.PLUGIN_NAME_LOWER_CASE + " reload \n -Reloads the config file."));
|
||||
|
@ -43,7 +43,7 @@ public class MeCmd implements Runnable {
|
||||
PermissionPackageBean pc = PackagesCfg.PACKAGES.get(pdb.getPackageName());
|
||||
if (pc != null) {
|
||||
String expireString = StrUtil.timestampToString(pdb.getExpire());
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "权限包: {0}({1}), 到期时间: {2}", pc.getDisplayName(), pdb.getPackageName(), expireString));
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "{0}权限包: {1}({2}), 到期时间: {3}", pdb.getGlobal() ? "*" : "", pc.getDisplayName(), pdb.getPackageName(), expireString));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -28,7 +28,7 @@ public class PackagesCmd implements Runnable {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "共有{0}种权限包", PackagesCfg.PACKAGES.size()));
|
||||
for (Entry<String, PermissionPackageBean> e : PackagesCfg.PACKAGES.entrySet()) {
|
||||
PermissionPackageBean p = e.getValue();
|
||||
sender.sendMessage(StrUtil.messageFormat("PackgeName: {0}, DisplayName: {1}", e.getKey(), p.getDisplayName()));
|
||||
sender.sendMessage(StrUtil.messageFormat("{0}PackgeName: {1}, DisplayName: {2}", p.getGlobal() ? "*" : "", e.getKey(), p.getDisplayName()));
|
||||
}
|
||||
} else if (args.length == 2) {
|
||||
String packageName = args[1];
|
||||
|
@ -30,8 +30,12 @@ public class RemoveAllCmd implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (args.length == 2) {
|
||||
if (args.length == 2 || args.length == 3) {
|
||||
String playerName = args[1];
|
||||
boolean delGlobal = false;
|
||||
if (args.length == 3 && "t".equalsIgnoreCase(args[2]) && PluginCfg.USE_MYSQL) {
|
||||
delGlobal = true;
|
||||
}
|
||||
OfflinePlayer player = pm.getOfflinePlayer(playerName);
|
||||
if (player != null) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + "执行中,请等待..."));
|
||||
@ -39,7 +43,7 @@ public class RemoveAllCmd implements Runnable {
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid.toString()));
|
||||
}
|
||||
if (sm.removeAllTime(uuid.toString())) {
|
||||
if (sm.removeAllTime((delGlobal ? "g:" : "") + uuid.toString())) {
|
||||
if (player.isOnline()) {
|
||||
Player p = player.getPlayer();
|
||||
try {
|
||||
|
@ -31,9 +31,13 @@ public class RemoveCmd implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (args.length == 3) {
|
||||
if (args.length == 3 || args.length == 4) {
|
||||
String playerName = args[1];
|
||||
String packageName = args[2];
|
||||
boolean delGlobal = false;
|
||||
if (args.length == 4 && "t".equalsIgnoreCase(args[3]) && PluginCfg.USE_MYSQL) {
|
||||
delGlobal = true;
|
||||
}
|
||||
PermissionPackageBean pack = PackagesCfg.PACKAGES.get(packageName);
|
||||
if (pack != null) {
|
||||
OfflinePlayer player = pm.getOfflinePlayer(playerName);
|
||||
@ -43,7 +47,7 @@ public class RemoveCmd implements Runnable {
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid.toString() + "\n" + pack.toString()));
|
||||
}
|
||||
if (sm.removeTime(uuid.toString(), packageName)) {
|
||||
if (sm.removeTime((delGlobal ? "g:" : "") + uuid.toString(), packageName)) {
|
||||
if (player.isOnline()) {
|
||||
Player p = player.getPlayer();
|
||||
try {
|
||||
|
@ -55,7 +55,7 @@ public class SetCmd implements Runnable {
|
||||
if (PluginCfg.IS_DEBUG) {
|
||||
sender.sendMessage(StrUtil.messageFormat(PluginCfg.PLUGIN_PREFIX + uuid.toString() + "\n" + pack.toString() + "\n" + time + "天"));
|
||||
}
|
||||
if (sm.setTime(uuid.toString(), packageName, days)) {
|
||||
if (sm.setTime(((PluginCfg.USE_MYSQL && pack.getGlobal()) ? "g:" : "") + uuid.toString(), packageName, days)) {
|
||||
if (player.isOnline()) {
|
||||
Player p = player.getPlayer();
|
||||
try {
|
||||
|
@ -23,8 +23,8 @@ public class LangCfg extends PluginConfig {
|
||||
|
||||
@Override
|
||||
protected void loadToDo() {
|
||||
NO_PERMISSION = setGetDefault("nopermission", "&4你没有权限这么做");
|
||||
CONFIG_RELOADED = setGetDefault("configReloaded", "&a配置重载完成");
|
||||
NO_PERMISSION = getConfig().getString("nopermission", "&4你没有权限这么做");
|
||||
CONFIG_RELOADED = getConfig().getString("configReloaded", "&a配置重载完成");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ public class PluginCfg extends PluginConfig {
|
||||
public static boolean IS_DEBUG = false;
|
||||
public static String LANG;
|
||||
public static boolean USE_MYSQL = false;
|
||||
public static String SQL_SERVER_ID;
|
||||
public static String SQL_HOSTNAME;
|
||||
public static int SQL_PORT;
|
||||
public static String SQL_DATABASE;
|
||||
@ -33,6 +34,7 @@ public class PluginCfg extends PluginConfig {
|
||||
getConfig().set("metrics", true);
|
||||
getConfig().set("debug", false);
|
||||
getConfig().set("mysql.enable", false);
|
||||
getConfig().set("mysql.serverId", "default");
|
||||
getConfig().set("mysql.hostname", "localhost");
|
||||
getConfig().set("mysql.port", 3306);
|
||||
getConfig().set("mysql.database", "minecraft");
|
||||
@ -49,6 +51,7 @@ public class PluginCfg extends PluginConfig {
|
||||
LANG = setGetDefault("lang", "zh-cn");
|
||||
USE_MYSQL = setGetDefault("mysql.enable", false);
|
||||
if (USE_MYSQL) {
|
||||
SQL_SERVER_ID = setGetDefault("mysql.serverId", "default");
|
||||
SQL_HOSTNAME = setGetDefault("mysql.hostname", "localhost");
|
||||
SQL_PORT = setGetDefault("mysql.port", 3306);
|
||||
SQL_DATABASE = setGetDefault("mysql.database", "minecraft");
|
||||
|
@ -5,7 +5,7 @@ import java.util.List;
|
||||
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
|
||||
public interface IPlayerDataService {
|
||||
public interface IPlayerDataDao {
|
||||
|
||||
static long TIME_UNIT = 24 * 60 * 60 * 1000L;// 一天
|
||||
|
@ -5,8 +5,8 @@ import java.util.List;
|
||||
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.impl.MySQLPlayerDataService;
|
||||
import gg.frog.mc.permissionstime.database.impl.SqlitePlayerDataService;
|
||||
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 gg.frog.mc.permissionstime.utils.StrUtil;
|
||||
import lib.PatPeter.SQLibrary.Database;
|
||||
@ -17,7 +17,7 @@ public class SqlManager {
|
||||
|
||||
private PluginMain pm;
|
||||
private Database db = null;
|
||||
private IPlayerDataService pds = null;
|
||||
private IPlayerDataDao pds = null;
|
||||
|
||||
public SqlManager(PluginMain pm) {
|
||||
this.pm = pm;
|
||||
@ -33,10 +33,10 @@ public class SqlManager {
|
||||
}
|
||||
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 MySQLPlayerDataService(pm, this);
|
||||
pds = new MySQLPlayerDataDao(pm, this);
|
||||
} else {
|
||||
db = new SQLite(PluginMain.LOG, "[" + pm.PLUGIN_NAME + "] ", pm.getDataFolder().getAbsolutePath(), "playerData", ".db");
|
||||
pds = new SqlitePlayerDataService(pm, this);
|
||||
pds = new SqlitePlayerDataDao(pm, this);
|
||||
}
|
||||
if(db.open()) {
|
||||
try {
|
||||
|
@ -7,17 +7,17 @@ import java.util.List;
|
||||
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataService;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataDao;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
import gg.frog.mc.permissionstime.utils.StrUtil;
|
||||
import gg.frog.mc.permissionstime.utils.database.DatabaseUtil;
|
||||
|
||||
public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataService {
|
||||
public class MySQLPlayerDataDao extends DatabaseUtil implements IPlayerDataDao {
|
||||
|
||||
private PluginMain pm;
|
||||
|
||||
public MySQLPlayerDataService(PluginMain pm, SqlManager sm) {
|
||||
public MySQLPlayerDataDao(PluginMain pm, SqlManager sm) {
|
||||
super(sm);
|
||||
this.pm = pm;
|
||||
}
|
||||
@ -41,7 +41,7 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
|
||||
@Override
|
||||
public boolean creatTable() throws Exception {
|
||||
String sql = "CREATE TABLE `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `uuid` VARCHAR (255) NOT NULL, `packageName` VARCHAR (255) NOT NULL, `expire` BIGINT NOT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `UUID_PACKAGE` (`uuid`, `packageName`));";
|
||||
String sql = "CREATE TABLE `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `uuid` VARCHAR (255) NOT NULL, `packageName` VARCHAR (255) NOT NULL, `serverId` VARCHAR (255), `expire` BIGINT NOT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `UUID_PACKAGE_SERVERID` (`uuid`, `packageName`, `serverId`));";
|
||||
try {
|
||||
getDB().query(sql);
|
||||
return true;
|
||||
@ -58,7 +58,11 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
if (pdb.getId() != null) {
|
||||
sql = "UPDATE `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` SET `uuid`='" + pdb.getUuid() + "', `packageName`='" + pdb.getPackageName() + "', `expire`='" + pdb.getExpire() + "' WHERE (`id`='" + pdb.getId() + "');";
|
||||
} else {
|
||||
sql = "INSERT INTO `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` (`uuid`, `packageName`, `expire`) VALUES ('" + pdb.getUuid() + "', '" + pdb.getPackageName() + "', " + pdb.getExpire() + ");";
|
||||
if (bean.getGlobal()) {
|
||||
sql = "INSERT INTO `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` (`uuid`, `packageName`, `serverId`, `expire`) VALUES ('" + pdb.getUuid() + "', '" + pdb.getPackageName() + "', NULL, " + pdb.getExpire() + ");";
|
||||
} else {
|
||||
sql = "INSERT INTO `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` (`uuid`, `packageName`, `serverId`, `expire`) VALUES ('" + pdb.getUuid() + "', '" + pdb.getPackageName() + "', '" + PluginCfg.SQL_SERVER_ID + "', " + pdb.getExpire() + ");";
|
||||
}
|
||||
}
|
||||
try {
|
||||
getDB().query(sql);
|
||||
@ -71,31 +75,51 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
|
||||
@Override
|
||||
public boolean setTime(String uuid, String packageName, int days) throws Exception {
|
||||
boolean global = uuid.startsWith("g:") ? true : false;
|
||||
if (global) {
|
||||
uuid = uuid.substring(2);
|
||||
}
|
||||
long now = new Date().getTime();
|
||||
long addTime = days * TIME_UNIT;
|
||||
long expire = now + addTime;
|
||||
PlayerDataBean pdb = queryPlayerData(uuid, packageName);
|
||||
if (pdb == null) {
|
||||
pdb = new PlayerDataBean(null, uuid, packageName, expire);
|
||||
if (global) {
|
||||
pdb.setGlobal(true);
|
||||
}
|
||||
return setPlayerData(pdb);
|
||||
} else {
|
||||
pdb.setExpire(expire);
|
||||
if (global) {
|
||||
pdb.setGlobal(true);
|
||||
}
|
||||
return setPlayerData(pdb);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addTime(String uuid, String packageName, int days) throws Exception {
|
||||
boolean global = uuid.startsWith("g:") ? true : false;
|
||||
if (global) {
|
||||
uuid = uuid.substring(2);
|
||||
}
|
||||
long now = new Date().getTime();
|
||||
long addTime = days * TIME_UNIT;
|
||||
long expire = now + addTime;
|
||||
PlayerDataBean pdb = queryPlayerData(uuid, packageName);
|
||||
PlayerDataBean pdb = queryPlayerData((global ? "g:" : "") + uuid, packageName);
|
||||
if (pdb == null) {
|
||||
pdb = new PlayerDataBean(null, uuid, packageName, expire);
|
||||
if (global) {
|
||||
pdb.setGlobal(true);
|
||||
}
|
||||
return setPlayerData(pdb);
|
||||
} else {
|
||||
if (pdb.getExpire() < now) {
|
||||
pdb.setExpire(expire);
|
||||
if (global) {
|
||||
pdb.setGlobal(true);
|
||||
}
|
||||
return setPlayerData(pdb);
|
||||
} else {
|
||||
String sql = "UPDATE `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` SET `expire`='" + addTime + "' WHERE (`id`='" + pdb.getId() + "');";
|
||||
@ -112,7 +136,7 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
|
||||
@Override
|
||||
public List<PlayerDataBean> queryPlayerData(String uuid) throws Exception {
|
||||
String sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where (`uuid`='" + uuid + "');";
|
||||
String sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where `uuid`='" + uuid + "' AND (`serverId`='" + PluginCfg.SQL_SERVER_ID + "' OR `serverId` IS NULL);";
|
||||
try {
|
||||
List<PlayerDataBean> pdbList = new ArrayList<>();
|
||||
ResultSet rs = getDB().query(sql);
|
||||
@ -120,8 +144,12 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
long tid = rs.getLong("id");
|
||||
String tuuid = rs.getString("uuid");
|
||||
String tpackageName = rs.getString("packageName");
|
||||
String tserverId = rs.getString("serverId");
|
||||
long texpire = rs.getLong("expire");
|
||||
PlayerDataBean tpd = new PlayerDataBean(tid, tuuid, tpackageName, texpire);
|
||||
if (tserverId == null) {
|
||||
tpd.setGlobal(true);
|
||||
}
|
||||
pdbList.add(tpd);
|
||||
}
|
||||
return pdbList;
|
||||
@ -133,15 +161,23 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
|
||||
@Override
|
||||
public PlayerDataBean queryPlayerData(String uuid, String packageName) throws Exception {
|
||||
String sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where (`uuid`='" + uuid + "' AND `packageName`='" + packageName + "');";
|
||||
String sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where `uuid`='" + uuid + "' AND `packageName`='" + packageName + "' AND `serverId`='" + PluginCfg.SQL_SERVER_ID + "';";
|
||||
if (uuid.startsWith("g:")) {
|
||||
uuid = uuid.substring(2);
|
||||
sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where `uuid`='" + uuid + "' AND `packageName`='" + packageName + "' AND `serverId` IS NULL;";
|
||||
}
|
||||
try {
|
||||
ResultSet rs = getDB().query(sql);
|
||||
while (rs.next()) {
|
||||
long tid = rs.getLong("id");
|
||||
String tuuid = rs.getString("uuid");
|
||||
String tpackageName = rs.getString("packageName");
|
||||
String tserverId = rs.getString("serverId");
|
||||
long texpire = rs.getLong("expire");
|
||||
PlayerDataBean tpd = new PlayerDataBean(tid, tuuid, tpackageName, texpire);
|
||||
if (tserverId == null) {
|
||||
tpd.setGlobal(true);
|
||||
}
|
||||
return tpd;
|
||||
}
|
||||
return null;
|
||||
@ -154,7 +190,7 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
@Override
|
||||
public List<PlayerDataBean> queryNotExpirePlayerData(String uuid) throws Exception {
|
||||
long now = new Date().getTime();
|
||||
String sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where (`uuid`='" + uuid + "' AND `expire` > " + now + ");";
|
||||
String sql = "SELECT * FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` where `uuid`='" + uuid + "' AND (`serverId`='" + PluginCfg.SQL_SERVER_ID + "' OR `serverId` IS NULL) AND `expire` > " + now + ";";
|
||||
try {
|
||||
List<PlayerDataBean> pdbList = new ArrayList<>();
|
||||
ResultSet rs = getDB().query(sql);
|
||||
@ -162,8 +198,12 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
long tid = rs.getLong("id");
|
||||
String tuuid = rs.getString("uuid");
|
||||
String tpackageName = rs.getString("packageName");
|
||||
String tserverId = rs.getString("serverId");
|
||||
long texpire = rs.getLong("expire");
|
||||
PlayerDataBean tpd = new PlayerDataBean(tid, tuuid, tpackageName, texpire);
|
||||
if (tserverId == null) {
|
||||
tpd.setGlobal(true);
|
||||
}
|
||||
pdbList.add(tpd);
|
||||
}
|
||||
return pdbList;
|
||||
@ -175,7 +215,11 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
|
||||
@Override
|
||||
public boolean delPlayData(String uuid) throws Exception {
|
||||
String sql = "DELETE FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` WHERE (`uuid`='" + uuid + "');";
|
||||
String sql = "DELETE FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` WHERE `uuid`='" + uuid + "' AND `serverId`='" + PluginCfg.SQL_SERVER_ID + "';";
|
||||
if (uuid.startsWith("g:")) {
|
||||
uuid = uuid.substring(2);
|
||||
sql = "DELETE FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` WHERE `uuid`='" + uuid + "' AND `serverId` IS NULL;";
|
||||
}
|
||||
try {
|
||||
getDB().query(sql);
|
||||
return true;
|
||||
@ -187,7 +231,11 @@ public class MySQLPlayerDataService extends DatabaseUtil implements IPlayerDataS
|
||||
|
||||
@Override
|
||||
public boolean delPlayData(String uuid, String packageName) throws Exception {
|
||||
String sql = "DELETE FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` WHERE (`uuid`='" + uuid + "' AND `packageName`='" + packageName + "');";
|
||||
String sql = "DELETE FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` WHERE `uuid`='" + uuid + "' AND `packageName`='" + packageName + "'AND `serverId`='" + PluginCfg.SQL_SERVER_ID + "';";
|
||||
if (uuid.startsWith("g:")) {
|
||||
uuid = uuid.substring(2);
|
||||
sql = "DELETE FROM `" + PluginCfg.SQL_TABLE_PREFIX + "playerData` WHERE `uuid`='" + uuid + "' AND `packageName`='" + packageName + "'AND `serverId` IS NULL;";
|
||||
}
|
||||
try {
|
||||
getDB().query(sql);
|
||||
return true;
|
@ -7,17 +7,17 @@ import java.util.List;
|
||||
|
||||
import gg.frog.mc.permissionstime.PluginMain;
|
||||
import gg.frog.mc.permissionstime.config.PluginCfg;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataService;
|
||||
import gg.frog.mc.permissionstime.database.IPlayerDataDao;
|
||||
import gg.frog.mc.permissionstime.database.SqlManager;
|
||||
import gg.frog.mc.permissionstime.model.db.PlayerDataBean;
|
||||
import gg.frog.mc.permissionstime.utils.StrUtil;
|
||||
import gg.frog.mc.permissionstime.utils.database.DatabaseUtil;
|
||||
|
||||
public class SqlitePlayerDataService extends DatabaseUtil implements IPlayerDataService {
|
||||
public class SqlitePlayerDataDao extends DatabaseUtil implements IPlayerDataDao {
|
||||
|
||||
private PluginMain pm;
|
||||
|
||||
public SqlitePlayerDataService(PluginMain pm, SqlManager sm) {
|
||||
public SqlitePlayerDataDao(PluginMain pm, SqlManager sm) {
|
||||
super(sm);
|
||||
this.pm = pm;
|
||||
}
|
@ -5,6 +5,7 @@ public class PlayerDataBean {
|
||||
private Long id;
|
||||
private String uuid;
|
||||
private String packageName;
|
||||
private Boolean global = false;
|
||||
private Long expire;
|
||||
|
||||
public PlayerDataBean() {
|
||||
@ -43,6 +44,14 @@ public class PlayerDataBean {
|
||||
this.packageName = packageName;
|
||||
}
|
||||
|
||||
public Boolean getGlobal() {
|
||||
return global;
|
||||
}
|
||||
|
||||
public void setGlobal(Boolean global) {
|
||||
this.global = global;
|
||||
}
|
||||
|
||||
public Long getExpire() {
|
||||
return expire;
|
||||
}
|
||||
@ -53,6 +62,7 @@ public class PlayerDataBean {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PlayerDataBean [id=" + id + ", uuid=" + uuid + ", packageName=" + packageName + ", expire=" + expire + "]";
|
||||
return "PlayerDataBean [id=" + id + ", uuid=" + uuid + ", packageName=" + packageName + ", global=" + global + ", expire=" + expire + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user