完成了DTO的修改

This commit is contained in:
zhangyuheng 2024-08-24 19:50:12 +08:00
parent 85b9becfab
commit 87fc89407d

View File

@ -33,7 +33,7 @@ public class DominionDTO {
Integer id = rs.getInt("id"); Integer id = rs.getInt("id");
UUID owner = UUID.fromString(rs.getString("owner")); UUID owner = UUID.fromString(rs.getString("owner"));
String name = rs.getString("name"); String name = rs.getString("name");
String world = rs.getString("world"); UUID world_uid = UUID.fromString(rs.getString("world_uid"));
Integer x1 = rs.getInt("x1"); Integer x1 = rs.getInt("x1");
Integer y1 = rs.getInt("y1"); Integer y1 = rs.getInt("y1");
Integer z1 = rs.getInt("z1"); Integer z1 = rs.getInt("z1");
@ -48,7 +48,7 @@ public class DominionDTO {
} }
String color = rs.getString("color"); String color = rs.getString("color");
DominionDTO dominion = new DominionDTO(id, owner, name, world, x1, y1, z1, x2, y2, z2, parentDomId, DominionDTO dominion = new DominionDTO(id, owner, name, world_uid, x1, y1, z1, x2, y2, z2, parentDomId,
rs.getString("join_message"), rs.getString("join_message"),
rs.getString("leave_message"), rs.getString("leave_message"),
flags, flags,
@ -79,7 +79,7 @@ public class DominionDTO {
if (id == -1) { if (id == -1) {
return new DominionDTO(-1, return new DominionDTO(-1,
UUID.fromString("00000000-0000-0000-0000-000000000000"), UUID.fromString("00000000-0000-0000-0000-000000000000"),
"根领地", "all", "根领地", UUID.fromString("00000000-0000-0000-0000-000000000000"),
-2147483648, -2147483648, -2147483648, -2147483648, -2147483648, -2147483648,
2147483647, 2147483647, 2147483647, -1); 2147483647, 2147483647, 2147483647, -1);
} }
@ -89,17 +89,17 @@ public class DominionDTO {
return dominions.getFirst(); return dominions.getFirst();
} }
public static List<DominionDTO> selectByParentId(String world, Integer parentId) { public static List<DominionDTO> selectByParentId(UUID world_uid, Integer parentId) {
String sql = "SELECT * FROM dominion WHERE world = ? AND parent_dom_id = ? AND id > 0;"; String sql = "SELECT * FROM dominion WHERE world_uid = ? AND parent_dom_id = ? AND id > 0;";
return query(sql, world, parentId); return query(sql, world_uid.toString(), parentId);
} }
public static List<DominionDTO> selectByLocation(String world, Integer x, Integer y, Integer z) { public static List<DominionDTO> selectByLocation(UUID world_uid, Integer x, Integer y, Integer z) {
String sql = "SELECT * FROM dominion WHERE world = ? AND " + String sql = "SELECT * FROM dominion WHERE world_uid = ? AND " +
"x1 <= ? AND x2 >= ? AND " + "x1 <= ? AND x2 >= ? AND " +
"y1 <= ? AND y2 >= ? AND " + "y1 <= ? AND y2 >= ? AND " +
"z1 <= ? AND z2 >= ? AND " + "id > 0;"; "z1 <= ? AND z2 >= ? AND " + "id > 0;";
return query(sql, world, x, x, y, y, z, z); return query(sql, world_uid.toString(), x, x, y, y, z, z);
} }
public static DominionDTO select(String name) { public static DominionDTO select(String name) {
@ -113,7 +113,7 @@ public class DominionDTO {
InsertRow insert = new InsertRow().returningAll().table("dominion").onConflictDoNothing(new Field("id", null)); InsertRow insert = new InsertRow().returningAll().table("dominion").onConflictDoNothing(new Field("id", null));
insert.field(dominion.owner) insert.field(dominion.owner)
.field(dominion.name) .field(dominion.name)
.field(dominion.world) .field(dominion.world_uid)
.field(dominion.x1).field(dominion.y1).field(dominion.z1) .field(dominion.x1).field(dominion.y1).field(dominion.z1)
.field(dominion.x2).field(dominion.y2).field(dominion.z2) .field(dominion.x2).field(dominion.y2).field(dominion.z2)
.field(dominion.parentDomId) .field(dominion.parentDomId)
@ -139,7 +139,7 @@ public class DominionDTO {
Cache.instance.loadDominions(); Cache.instance.loadDominions();
} }
private DominionDTO(Integer id, UUID owner, String name, String world, private DominionDTO(Integer id, UUID owner, String name, UUID world_uid,
Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2, Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2,
Integer parentDomId, Integer parentDomId,
String joinMessage, String leaveMessage, String joinMessage, String leaveMessage,
@ -149,7 +149,7 @@ public class DominionDTO {
this.id.value = id; this.id.value = id;
this.owner.value = owner.toString(); this.owner.value = owner.toString();
this.name.value = name; this.name.value = name;
this.world.value = world; this.world_uid.value = world_uid.toString();
this.x1.value = x1; this.x1.value = x1;
this.y1.value = y1; this.y1.value = y1;
this.z1.value = z1; this.z1.value = z1;
@ -165,13 +165,13 @@ public class DominionDTO {
} }
private DominionDTO(Integer id, UUID owner, String name, String world, private DominionDTO(Integer id, UUID owner, String name, UUID world_uid,
Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2, Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2,
Integer parentDomId) { Integer parentDomId) {
this.id.value = id; this.id.value = id;
this.owner.value = owner.toString(); this.owner.value = owner.toString();
this.name.value = name; this.name.value = name;
this.world.value = world; this.world_uid.value = world_uid.toString();
this.x1.value = x1; this.x1.value = x1;
this.y1.value = y1; this.y1.value = y1;
this.z1.value = z1; this.z1.value = z1;
@ -181,20 +181,19 @@ public class DominionDTO {
this.parentDomId.value = parentDomId; this.parentDomId.value = parentDomId;
} }
public DominionDTO(UUID owner, String name, String world, public DominionDTO(UUID owner, String name, UUID world_uid,
Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2) { Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2) {
this(null, owner, name, world, x1, y1, z1, x2, y2, z2, -1); this(null, owner, name, world_uid, x1, y1, z1, x2, y2, z2, -1);
} }
public static DominionDTO create(UUID owner, String name, String world, public static DominionDTO create(UUID owner, String name, UUID world_uid,
Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2, DominionDTO parent) { Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2, DominionDTO parent) {
return new DominionDTO(null, owner, name, world, x1, y1, z1, x2, y2, z2, parent == null ? -1 : parent.getId()); return new DominionDTO(null, owner, name, world_uid, x1, y1, z1, x2, y2, z2, parent == null ? -1 : parent.getId());
} }
private final Field id = new Field("id", FieldType.INT); private final Field id = new Field("id", FieldType.INT);
private final Field owner = new Field("owner", FieldType.STRING); private final Field owner = new Field("owner", FieldType.STRING);
private final Field name = new Field("name", FieldType.STRING); private final Field name = new Field("name", FieldType.STRING);
private final Field world = new Field("world", FieldType.STRING);
private final Field x1 = new Field("x1", FieldType.INT); private final Field x1 = new Field("x1", FieldType.INT);
private final Field y1 = new Field("y1", FieldType.INT); private final Field y1 = new Field("y1", FieldType.INT);
private final Field z1 = new Field("z1", FieldType.INT); private final Field z1 = new Field("z1", FieldType.INT);
@ -207,6 +206,7 @@ public class DominionDTO {
private final Map<Flag, Boolean> flags = new HashMap<>(); private final Map<Flag, Boolean> flags = new HashMap<>();
private final Field tp_location = new Field("tp_location", "default"); private final Field tp_location = new Field("tp_location", "default");
private final Field color = new Field("color", "#00BFFF"); private final Field color = new Field("color", "#00BFFF");
private final Field world_uid = new Field("world_uid", FieldType.STRING);
// getters and setters // getters and setters
@ -247,8 +247,12 @@ public class DominionDTO {
return doUpdate(new UpdateRow().field(this.name)); return doUpdate(new UpdateRow().field(this.name));
} }
public String getWorld() { public World getWorld() {
return (String) world.value; return Dominion.instance.getServer().getWorld(getWorldUid());
}
public UUID getWorldUid() {
return UUID.fromString((String) world_uid.value);
} }
public Integer getX1() { public Integer getX1() {
@ -384,12 +388,12 @@ public class DominionDTO {
} else { } else {
// 0:0:0 // 0:0:0
String[] loc = ((String) tp_location.value).split(":"); String[] loc = ((String) tp_location.value).split(":");
World w = Dominion.instance.getServer().getWorld(getWorld()); World w = getWorld();
if (loc.length == 3 && w != null) { if (loc.length == 3 && w != null) {
return new Location(w, Integer.parseInt(loc[0]), Integer.parseInt(loc[1]), Integer.parseInt(loc[2])); return new Location(w, Integer.parseInt(loc[0]), Integer.parseInt(loc[1]), Integer.parseInt(loc[2]));
} else { } else {
XLogger.warn("领地传送点数据异常: %s", tp_location); XLogger.warn("领地传送点数据异常: %s", tp_location);
XLogger.debug("world: %s, loc.length: %d", world, loc.length); XLogger.debug("world: %s, loc.length: %d", getWorld(), loc.length);
return null; return null;
} }
} }
@ -401,11 +405,11 @@ public class DominionDTO {
} }
public Location getLocation1() { public Location getLocation1() {
return new Location(Dominion.instance.getServer().getWorld(getWorld()), getX1(), getY1(), getZ1()); return new Location(getWorld(), getX1(), getY1(), getZ1());
} }
public Location getLocation2() { public Location getLocation2() {
return new Location(Dominion.instance.getServer().getWorld(getWorld()), getX2(), getY2(), getZ2()); return new Location(getWorld(), getX2(), getY2(), getZ2());
} }
public DominionDTO setColor(String color) { public DominionDTO setColor(String color) {