修复了权限组相关bug,初步测试可用

This commit is contained in:
zhangyuheng 2024-06-29 00:46:54 +08:00
parent 146fa32480
commit e2508904f4
6 changed files with 15 additions and 13 deletions

View File

@ -6,7 +6,7 @@
<groupId>cn.lunadeer</groupId>
<artifactId>Dominion</artifactId>
<version>1.34.0-beta</version>
<version>1.34.1-beta</version>
<packaging>jar</packaging>
<name>Dominion</name>

View File

@ -64,7 +64,7 @@ public class GroupDTO {
public static GroupDTO create(String name, DominionDTO dominionDTO) {
GroupDTO group = new GroupDTO(name, dominionDTO.getId());
InsertRow insertRow = new InsertRow().returningAll().onConflictDoNothing(new Field("id", null));
insertRow.table("group")
insertRow.table("dominion_group")
.field(group.domID)
.field(group.name)
.field(group.admin);
@ -86,7 +86,7 @@ public class GroupDTO {
}
public static void delete(Integer id) {
String sql = "DELETE FROM group WHERE id = ?;";
String sql = "DELETE FROM dominion_group WHERE id = ?;";
DatabaseManager.instance.query(sql, id);
Cache.instance.loadGroup(id);
List<PlayerPrivilegeDTO> players = PlayerPrivilegeDTO.selectByGroupId(id);
@ -96,26 +96,26 @@ public class GroupDTO {
}
public static GroupDTO select(Integer id) {
String sql = "SELECT * FROM group WHERE id = ?;";
String sql = "SELECT * FROM dominion_group WHERE id = ?;";
List<GroupDTO> groups = getDTOFromRS(DatabaseManager.instance.query(sql, id));
if (groups.size() == 0) return null;
return groups.get(0);
}
public static GroupDTO select(Integer domID, String name) {
String sql = "SELECT * FROM group WHERE dom_id = ? AND name = ?;";
String sql = "SELECT * FROM dominion_group WHERE dom_id = ? AND name = ?;";
List<GroupDTO> groups = getDTOFromRS(DatabaseManager.instance.query(sql, domID, name));
if (groups.size() == 0) return null;
return groups.get(0);
}
public static List<GroupDTO> selectAll() {
String sql = "SELECT * FROM group;";
String sql = "SELECT * FROM dominion_group;";
return getDTOFromRS(DatabaseManager.instance.query(sql));
}
public static List<GroupDTO> selectByDominionId(Integer domID) {
String sql = "SELECT * FROM group WHERE dom_id = ?;";
String sql = "SELECT * FROM dominion_group WHERE dom_id = ?;";
return getDTOFromRS(DatabaseManager.instance.query(sql, domID));
}
@ -162,7 +162,7 @@ public class GroupDTO {
private GroupDTO doUpdate(UpdateRow updateRow) {
updateRow.returningAll(id)
.table("group")
.table("dominion_group")
.where("id = ?", id.value);
try (ResultSet rs = updateRow.execute()) {
List<GroupDTO> groups = getDTOFromRS(rs);

View File

@ -166,7 +166,7 @@ public class DatabaseTables {
TableColumn group_admin = new TableColumn("admin", FieldType.BOOLEAN, false, false, true, false, false);
CreateTable.ForeignKey group_dom_id_fk = new CreateTable.ForeignKey(group_dom_id, "dominion", dominion_id, true);
CreateTable group = new CreateTable().ifNotExists();
group.table("group")
group.table("dominion_group")
.field(group_id)
.field(group_dom_id)
.field(group_name)
@ -176,7 +176,7 @@ public class DatabaseTables {
group.execute();
for (Flag flag : Flag.getAllPrivilegeFlags()) {
TableColumn column = new TableColumn(flag.getFlagName(), FieldType.BOOLEAN, false, false, true, false, flag.getDefaultValue());
new AddColumn(column).table("group").ifNotExists().execute();
new AddColumn(column).table("dominion_group").ifNotExists().execute();
}
}
}

View File

@ -36,7 +36,7 @@ public class DominionManage {
.append(Button.create("访客权限").setExecuteCommand("/dominion flag_info " + dominion.getName()).build())
.append("访客在此领地的权限");
Line privilege_list = Line.create()
.append(Button.create("成员权限").setExecuteCommand("/dominion privilege_list " + dominion.getName()).build())
.append(Button.create("成员管理").setExecuteCommand("/dominion privilege_list " + dominion.getName()).build())
.append("管理此领地成员的权限");
Line group_list = Line.create()
.append(Button.create("权限组").setExecuteCommand("/dominion group_list " + dominion.getName()).build())

View File

@ -41,7 +41,8 @@ public class GroupManage {
.append(Button.create("主菜单").setExecuteCommand("/dominion menu").build())
.append(Button.create("我的领地").setExecuteCommand("/dominion list").build())
.append(Button.create("管理界面").setExecuteCommand("/dominion manage " + dominion.getName()).build())
.append(Button.create("权限组列表").setExecuteCommand("/dominion group_list" + dominion.getName()).build())
.append(Button.create("权限组列表").setExecuteCommand("/dominion group_list " + dominion.getName()).build())
.append("权限组管理")
);
Button rename_btn = Button.create("重命名")
.setHoverText("重命名权限组 " + group.getName())
@ -57,7 +58,7 @@ public class GroupManage {
view.add(createOption(Flag.GLOW, group.getFlagValue(Flag.GLOW), dominion.getName(), group.getName(), page));
} else {
view.add(Line.create()
.append(Button.createGreen("")
.append(Button.createRed("")
.setExecuteCommand(String.format("/dominion set_group_flag %s %s admin true %s", dominion.getName(), group.getName(), page))
.build())
.append("管理员"));

View File

@ -51,5 +51,6 @@ public class SelectMember {
.setExecuteCommand("/dominion group_add_member " + dominion.getName() + " " + group.getName() + " " + p.getLastKnownName() + " " + backPage)
.build()));
}
view.showOn(player, backPage);
}
}