让修改价格等行为异步操作数据库

This commit is contained in:
17jiong 2018-01-29 02:58:21 +08:00
parent 4b41bdff57
commit 7a74e88cd1
1 changed files with 16 additions and 7 deletions

View File

@ -656,13 +656,22 @@ public class ContainerShop implements Shop {
final String world = this.getLocation().getWorld().getName(); final String world = this.getLocation().getWorld().getName();
final int unlimited = this.isUnlimited() ? 1 : 0; final int unlimited = this.isUnlimited() ? 1 : 0;
final String q = "UPDATE shops SET owner = ?, itemConfig = ?, unlimited = ?, type = ?, price = ? WHERE x = ? AND y = ? and z = ? and world = ?"; final String q = "UPDATE shops SET owner = ?, itemConfig = ?, unlimited = ?, type = ?, price = ? WHERE x = ? AND y = ? and z = ? and world = ?";
try { final String owner = this.getOwner();
plugin.getDB().execute(q, this.getOwner(), Util.serialize(this.getItem()), unlimited, shopType.toID(), this.getPrice(), x, y, z, world); final String item = Util.serialize(this.getItem());
} catch (final Exception e) { double price = this.getPrice();
plugin.getLogger().warning("无法保存商店到数据库!!!"); // Async database execute
plugin.getLogger().warning("错误信息: " + e.getMessage()); plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
e.printStackTrace(); @Override
} public void run() {
try {
plugin.getDB().execute(q, owner, item, unlimited, shopType.toID(), price, x, y, z, world);
} catch (final Exception e) {
plugin.getLogger().warning("无法保存商店到数据库!!!");
plugin.getLogger().warning("错误信息: " + e.getMessage());
e.printStackTrace();
}
}
});
} }
private void checkDisplay() { private void checkDisplay() {