Skip to content
This repository was archived by the owner on May 5, 2025. It is now read-only.

Commit 8aea2a8

Browse files
committed
add many functions
1 parent 7693964 commit 8aea2a8

File tree

1 file changed

+126
-6
lines changed
  • src/main/java/top/mryan2005/managesysteminjava/BasicClass

1 file changed

+126
-6
lines changed

src/main/java/top/mryan2005/managesysteminjava/BasicClass/LoginPart.java

Lines changed: 126 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,20 @@ public void readUsersTable() {
3636
}
3737
try {
3838
while (res.next()) {
39-
User user = new User(res.getString("username"), res.getString("password"), res.getString("level"), res.getString("role"), res.getString("name"), res.getString("avator"));
39+
String role = switch (res.getInt("role")) {
40+
case 0 -> "forbidden";
41+
case 1 -> "admin";
42+
case 2 -> "public";
43+
case 3 -> "Dictionary Admin";
44+
case 4 -> "professor";
45+
case 5 -> "Community Admin";
46+
case 6 -> "Owner";
47+
default -> "";
48+
};
49+
if(role.matches("")) {
50+
continue;
51+
}
52+
User user = new User(res.getString("username"), res.getString("password"), res.getInt("level"), role, res.getString("name"), res.getString("avator"));
4053
users.put(res.getString("username"), user);
4154
}
4255
} catch (SQLException e) {
@@ -78,32 +91,136 @@ private String runMd5(String password) {
7891

7992
public void setAvatar(String username, String avatar) {
8093
sql.runSQL("UPDATE Users.[user] SET avatar = '" + avatar + "' WHERE username = '" + username + "'");
94+
users.get(username).avatar = avatar;
8195
}
8296

8397
public void setUName(String username, String UName) {
8498
sql.runSQL("UPDATE Users.[user] SET name = '" + UName + "' WHERE username = '" + username + "'");
99+
users.get(username).UName = UName;
85100
}
86101

87102
public void setPassword(String username, String password) {
88103
password = runMd5(password);
89104
sql.runSQL("UPDATE Users.[user] SET password = '" + password + "' WHERE username = '" + username + "'");
105+
users.get(username).password = password;
90106
}
91107

92108
public void setSex(String username, String sex) {
93109
sql.runSQL("UPDATE Users.[user] SET sex = '" + sex + "' WHERE username = '" + username + "'");
110+
users.get(username).Sex = sex;
94111
}
95112

96113
public void setLevel(String username, int level) {
97114
sql.runSQL("UPDATE Users.[user] SET level = '" + valueOf(level) + "' WHERE username = '" + username + "'");
115+
users.get(username).level = level;
98116
}
99117

100-
public void setRole(String username, int role) {
101-
sql.runSQL("UPDATE Users.[user] SET role = '" + valueOf(role) + "' WHERE username = '" + username + "'");
118+
public String LevelUp(String username, String Operator) {
119+
if(users.get(Operator).role.matches("Owner") || users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Community Admin")) {
120+
if(users.get(username) == null) {
121+
return "用户不存在!";
122+
}
123+
sql.runSQL("UPDATE Users.[user] SET level = " + valueOf(users.get(username).level+1) + " WHERE username = '" + username + "'");
124+
users.get(username).level = users.get(username).level+1;
125+
return "";
126+
} else {
127+
return "权限不足!";
128+
}
102129
}
103130

104-
public void removeUser(String username) {
105-
sql.runSQL("DELETE FROM Users.[user] WHERE username = '" + username + "'");
106-
readUsersTable();
131+
public String LevelUp(String username, String Operator, int dis) {
132+
if(users.get(Operator).role.matches("Owner") || users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Community Admin")) {
133+
if(users.get(username) == null) {
134+
return "用户不存在!";
135+
}
136+
sql.runSQL("UPDATE Users.[user] SET level = " + valueOf(users.get(username).level+dis) + " WHERE username = '" + username + "'");
137+
users.get(username).level = users.get(username).level+dis;
138+
return "";
139+
} else {
140+
return "权限不足!";
141+
}
142+
}
143+
144+
public void levelDown(String username, String Operator) {
145+
if(users.get(Operator).role.matches("Owner") || users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Community Admin")) {
146+
if(users.get(username) == null) {
147+
return;
148+
}
149+
sql.runSQL("UPDATE Users.[user] SET level = " + valueOf(users.get(username).level-1) + " WHERE username = '" + username + "'");
150+
users.get(username).level = users.get(username).level-1;
151+
}
152+
}
153+
154+
public void levelDown(String username, String Operator, int dis) {
155+
if(users.get(Operator).role.matches("Owner") || users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Community Admin")) {
156+
if(users.get(username) == null) {
157+
return;
158+
}
159+
sql.runSQL("UPDATE Users.[user] SET level = " + valueOf(users.get(username).level-dis) + " WHERE username = '" + username + "'");
160+
users.get(username).level = users.get(username).level-dis;
161+
}
162+
}
163+
164+
public void removeUser(String username, String Operator) {
165+
if(users.get(Operator).role.matches("Owner")) {
166+
return;
167+
} else if((users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Owner")) && !users.get(username).role.matches("Owner")) {
168+
sql.runSQL("DELETE FROM Users.[user] WHERE username = '" + username + "'");
169+
users.remove(username);
170+
}
171+
}
172+
173+
public void forbidAnUser(String username, String Operator) {
174+
if(users.get(Operator).role.matches("Owner")) {
175+
return;
176+
} else if((users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Owner") || users.get(Operator).role.matches("Community Admin")) && (!users.get(username).role.matches("Owner") || !users.get(username).role.matches("admin") || !users.get(username).role.matches("Community Admin"))) {
177+
sql.runSQL("UPDATE Users.[user] SET role = '0' WHERE username = '" + username + "'");
178+
users.get(username).role = "forbidden";
179+
}
180+
}
181+
182+
public void allowAnUser(String username, String Operator) {
183+
if(!users.get(Operator).role.matches("forbidden")) {
184+
return;
185+
} else if(users.get(Operator).role.matches("admin") || users.get(Operator).role.matches("Owner") || users.get(Operator).role.matches("Community Admin")) {
186+
sql.runSQL("UPDATE Users.[user] SET role = '2' WHERE username = '" + username + "'");
187+
users.get(username).role = "public";
188+
}
189+
}
190+
191+
public void ChangeUserRole(String username, String Operator, String role) {
192+
if(users.get(Operator).role.matches("Owner")) {
193+
return;
194+
} else if(users.get(username) == null) {
195+
return;
196+
} else if(users.get(Operator).role.matches("Owner")) {
197+
int res = switch (role) {
198+
case "admin" -> 1;
199+
case "Dictionary Admin" -> 3;
200+
case "professor" -> 4;
201+
case "Community Admin" -> 5;
202+
case "public" -> 2;
203+
default -> 0;
204+
};
205+
if(users.get(username).role.matches(role)) {
206+
return;
207+
}
208+
sql.runSQL("UPDATE Users.[user] SET role = "+valueOf(res)+" WHERE username = '" + username + "'");
209+
users.get(username).role = role;
210+
} else if(users.get(Operator).role.matches("admin")) {
211+
int res = switch (role) {
212+
case "Dictionary Admin" -> 3;
213+
case "professor" -> 4;
214+
case "Community Admin" -> 5;
215+
case "public" -> 2;
216+
default -> 0;
217+
};
218+
if(users.get(username).role.matches(role)) {
219+
return;
220+
}
221+
sql.runSQL("UPDATE Users.[user] SET role = "+valueOf(res)+" WHERE username = '" + username + "'");
222+
users.get(username).role = role;
223+
}
107224
}
108225

109226
public static void main(String[] args) {
@@ -117,6 +234,9 @@ public static void main(String[] args) {
117234
} else {
118235
System.out.println("登录失败!");
119236
}
237+
login.setAvatar("test", "test");
238+
login.setUName("test", "test");
239+
login.setPassword("test", "123456");
120240
} catch (SQLException e) {
121241
throw new RuntimeException(e);
122242
}

0 commit comments

Comments
 (0)