From 00a453a922b7dee88083fb7c99596a1c56866bf8 Mon Sep 17 00:00:00 2001 From: YZY <1104325451@qq.com> Date: Wed, 9 Apr 2025 22:40:02 +0800 Subject: [PATCH] xiu5 --- server/.idea/workspace.xml | 2 +- .../java/self/cases/teams/entity/STjiao.java | 97 +++++ .../java/self/cases/teams/entity/STm.java | 4 + .../self/cases/teams/teaa/ManagSTexiu.java | 161 ++++++++ .../java/self/cases/teams/teaa/Managexiu.java | 12 + .../main/java/self/cases/teams/teaa/STcy.java | 245 +++++++++++ .../java/self/cases/teams/teaa/STgeren.java | 189 +++++++++ .../main/java/self/cases/teams/teaa/STjf.java | 194 +++++++++ .../main/java/self/cases/teams/teaa/STjh.java | 385 ++++++++++++++++++ .../main/java/self/cases/teams/teaa/STjr.java | 345 ++++++++++++++++ .../java/self/cases/teams/teaa/STxtgl.java | 268 ++++++++++++ .../cases/teams/entity/Clubshenqing.class | Bin 0 -> 3430 bytes .../self/cases/teams/entity/STjiao.class | Bin 0 -> 2538 bytes .../classes/self/cases/teams/entity/STm.class | Bin 0 -> 282 bytes .../classes/self/cases/teams/msg/R.class | Bin 2098 -> 2098 bytes .../self/cases/teams/teaa/Activity.class | Bin 0 -> 2813 bytes .../self/cases/teams/teaa/Applicant.class | Bin 0 -> 1929 bytes .../classes/self/cases/teams/teaa/Club.class | Bin 0 -> 1950 bytes .../self/cases/teams/teaa/ManagSTexiu.class | Bin 0 -> 4129 bytes .../cases/teams/teaa/Managexiu$User.class | Bin 3409 -> 3409 bytes .../self/cases/teams/teaa/Managexiu.class | Bin 25510 -> 26006 bytes .../self/cases/teams/teaa/Member.class | Bin 0 -> 2212 bytes .../self/cases/teams/teaa/Participant.class | Bin 0 -> 1941 bytes .../self/cases/teams/teaa/PaymentInfo.class | Bin 0 -> 2004 bytes .../self/cases/teams/teaa/STgeren.class | Bin 0 -> 4053 bytes .../classes/self/cases/teams/teaa/STjf.class | Bin 0 -> 4608 bytes .../classes/self/cases/teams/teaa/STjh.class | Bin 0 -> 7598 bytes .../classes/self/cases/teams/teaa/STjr.class | Bin 0 -> 7079 bytes .../cases/teams/teaa/SheYuan$Member.class | Bin 0 -> 4091 bytes .../self/cases/teams/teaa/SheYuan.class | Bin 0 -> 22744 bytes .../teams/teaa/SheZhangManage$Member.class | Bin 0 -> 4119 bytes .../cases/teams/teaa/SheZhangManage.class | Bin 0 -> 22968 bytes .../classes/self/cases/teams/teaa/User.class | Bin 0 -> 1632 bytes .../self/cases/teams/utils/IDUtil.class | Bin 0 -> 460 bytes 34 files changed, 1901 insertions(+), 1 deletion(-) create mode 100644 server/src/main/java/self/cases/teams/entity/STjiao.java create mode 100644 server/src/main/java/self/cases/teams/entity/STm.java create mode 100644 server/src/main/java/self/cases/teams/teaa/ManagSTexiu.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STcy.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STgeren.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STjf.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STjh.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STjr.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STxtgl.java create mode 100644 server/target/classes/self/cases/teams/entity/Clubshenqing.class create mode 100644 server/target/classes/self/cases/teams/entity/STjiao.class create mode 100644 server/target/classes/self/cases/teams/entity/STm.class create mode 100644 server/target/classes/self/cases/teams/teaa/Activity.class create mode 100644 server/target/classes/self/cases/teams/teaa/Applicant.class create mode 100644 server/target/classes/self/cases/teams/teaa/Club.class create mode 100644 server/target/classes/self/cases/teams/teaa/ManagSTexiu.class create mode 100644 server/target/classes/self/cases/teams/teaa/Member.class create mode 100644 server/target/classes/self/cases/teams/teaa/Participant.class create mode 100644 server/target/classes/self/cases/teams/teaa/PaymentInfo.class create mode 100644 server/target/classes/self/cases/teams/teaa/STgeren.class create mode 100644 server/target/classes/self/cases/teams/teaa/STjf.class create mode 100644 server/target/classes/self/cases/teams/teaa/STjh.class create mode 100644 server/target/classes/self/cases/teams/teaa/STjr.class create mode 100644 server/target/classes/self/cases/teams/teaa/SheYuan$Member.class create mode 100644 server/target/classes/self/cases/teams/teaa/SheYuan.class create mode 100644 server/target/classes/self/cases/teams/teaa/SheZhangManage$Member.class create mode 100644 server/target/classes/self/cases/teams/teaa/SheZhangManage.class create mode 100644 server/target/classes/self/cases/teams/teaa/User.class create mode 100644 server/target/classes/self/cases/teams/utils/IDUtil.class diff --git a/server/.idea/workspace.xml b/server/.idea/workspace.xml index 0528177c..b18400a3 100644 --- a/server/.idea/workspace.xml +++ b/server/.idea/workspace.xml @@ -145,7 +145,7 @@ - + diff --git a/server/src/main/java/self/cases/teams/entity/STjiao.java b/server/src/main/java/self/cases/teams/entity/STjiao.java new file mode 100644 index 00000000..100dd5a1 --- /dev/null +++ b/server/src/main/java/self/cases/teams/entity/STjiao.java @@ -0,0 +1,97 @@ +package self.cases.teams.entity; + +import java.util.Date; + +public class STjiao { + private String id; + private String clubName; + private String memberName; + private double amount; + private Date paymentDate; + private String paymentMethod; + private String transactionId; + private boolean isPaid; + private Date createdAt; + private Date updatedAt; + + // Getters and Setters + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getClubName() { + return clubName; + } + + public void setClubName(String clubName) { + this.clubName = clubName; + } + + public String getMemberName() { + return memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName; + } + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + public Date getPaymentDate() { + return paymentDate; + } + + public void setPaymentDate(Date paymentDate) { + this.paymentDate = paymentDate; + } + + public String getPaymentMethod() { + return paymentMethod; + } + + public void setPaymentMethod(String paymentMethod) { + this.paymentMethod = paymentMethod; + } + + public String getTransactionId() { + return transactionId; + } + + public void setTransactionId(String transactionId) { + this.transactionId = transactionId; + } + + public boolean isPaid() { + return isPaid; + } + + public void setPaid(boolean paid) { + isPaid = paid; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } +} diff --git a/server/src/main/java/self/cases/teams/entity/STm.java b/server/src/main/java/self/cases/teams/entity/STm.java new file mode 100644 index 00000000..88da2523 --- /dev/null +++ b/server/src/main/java/self/cases/teams/entity/STm.java @@ -0,0 +1,4 @@ +package self.cases.teams.entity; + +public class STm { +} diff --git a/server/src/main/java/self/cases/teams/teaa/ManagSTexiu.java b/server/src/main/java/self/cases/teams/teaa/ManagSTexiu.java new file mode 100644 index 00000000..2e8953b1 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/ManagSTexiu.java @@ -0,0 +1,161 @@ +package self.cases.teams.teaa; +import java.util.ArrayList; +import java.util.List; + +// 定义用户类 +class User { + private String userId; + private String name; + private String email; + private String phoneNumber; + + public User(String userId, String name, String email, String phoneNumber) { + this.userId = userId; + this.name = name; + this.email = email; + this.phoneNumber = phoneNumber; + } + + public String getUserId() { + return userId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + @Override + public String toString() { + return "User{" + + "userId='" + userId + '\\' + + ", name='" + name + '\\' + + ", email='" + email + '\\' + + ", phoneNumber='" + phoneNumber + '\\' + + '}'; + } +} + +// 管理员类 +public class ManagSTexiu { + // 模拟数据库 + private List users = new ArrayList<>(); + + // 添加用户 + public boolean addUser(User user) { + if (findUserById(user.getUserId()) == null) { + users.add(user); + System.out.println("用户添加成功: " + user); + return true; + } else { + System.out.println("用户ID已存在,无法添加: " + user.getUserId()); + return false; + } + } + + // 删除用户 + public boolean deleteUser(String userId) { + User userToRemove = findUserById(userId); + if (userToRemove != null) { + users.remove(userToRemove); + System.out.println("用户删除成功: " + userToRemove); + return true; + } else { + System.out.println("未找到用户ID: " + userId); + return false; + } + } + + // 更新用户信息 + public boolean updateUser(String userId, String field, String newValue) { + User userToUpdate = findUserById(userId); + if (userToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + userToUpdate.setName(newValue); + break; + case "email": + userToUpdate.setEmail(newValue); + break; + case "phonenumber": + userToUpdate.setPhoneNumber(newValue); + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("用户信息更新成功: " + userToUpdate); + return true; + } else { + System.out.println("未找到用户ID: " + userId); + return false; + } + } + + // 查询用户信息 + public User findUserById(String userId) { + for (User user : users) { + if (user.getUserId().equals(userId)) { + System.out.println("用户信息查询成功: " + user); + return user; + } + } + System.out.println("未找到用户ID: " + userId); + return null; + } + + // 显示所有用户 + public void displayAllUsers() { + if (users.isEmpty()) { + System.out.println("当前没有用户记录"); + } else { + System.out.println("所有用户信息:"); + for (User user : users) { + System.out.println(user); + } + } + } + + // 主方法演示功能 + public static void main(String[] args) { + Managexiu manager = new Managexiu(); + + // 添加用户 + manager.addUser(new User("U001", "张三", "zhangsan@example.com", "1234567890")); + manager.addUser(new User("U002", "李四", "lisi@example.com", "0987654321")); + + // 显示所有用户 + manager.displayAllUsers(); + + // 查询用户 + manager.findUserById(Integer.parseInt("U001")); + + // 更新用户信息 + manager.updateUser("U001", "email", "zhangsan_new@example.com"); + + // 删除用户 + manager.deleteUser("U002"); + + // 再次显示所有用户 + manager.displayAllUsers(); + } +} diff --git a/server/src/main/java/self/cases/teams/teaa/Managexiu.java b/server/src/main/java/self/cases/teams/teaa/Managexiu.java index 62c69cc3..72f26033 100644 --- a/server/src/main/java/self/cases/teams/teaa/Managexiu.java +++ b/server/src/main/java/self/cases/teams/teaa/Managexiu.java @@ -12,6 +12,18 @@ public class Managexiu { users = new HashMap<>(); } + public void addUser(self.cases.teams.teaa.User user) { + } + + public void displayAllUsers() { + } + + public void updateUser(String u001, String email, String mail) { + } + + public void deleteUser(String u002) { + } + // Inner class to represent a User public static class User { private int userId; diff --git a/server/src/main/java/self/cases/teams/teaa/STcy.java b/server/src/main/java/self/cases/teams/teaa/STcy.java new file mode 100644 index 00000000..13d0ef16 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STcy.java @@ -0,0 +1,245 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义社团成员信息类 +class MemberInfo { + private String memberId; + private String name; + private String gender; + private int age; + private String contact; + private String joinDate; + private String role; // "leader", "member", "guest" + private double duesPaid; // 缴纳会费 + + public MemberInfo(String memberId, String name, String gender, int age, String contact, String joinDate, String role, double duesPaid) { + this.memberId = memberId; + this.name = name; + this.gender = gender; + this.age = age; + this.contact = contact; + this.joinDate = joinDate; + this.role = role; + this.duesPaid = duesPaid; + } + + public String getMemberId() { + return memberId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getContact() { + return contact; + } + + public void setContact(String contact) { + this.contact = contact; + } + + public String getJoinDate() { + return joinDate; + } + + public void setJoinDate(String joinDate) { + this.joinDate = joinDate; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public double getDuesPaid() { + return duesPaid; + } + + public void setDuesPaid(double duesPaid) { + this.duesPaid = duesPaid; + } + + @Override + public String toString() { + return "MemberInfo{" + + "memberId='" + memberId + '\\' + + ", name='" + name + '\\' + + ", gender='" + gender + '\\' + + ", age=" + age + + ", contact='" + contact + '\\' + + ", joinDate='" + joinDate + '\\' + + ", role='" + role + '\\' + + ", duesPaid=" + duesPaid + + '}'; + } +} + +// 社团管理系统社团成员信息管理类 +public class STcy { + // 模拟数据库 + private List memberInfos = new ArrayList<>(); + + // 添加成员信息 + public boolean addMemberInfo(MemberInfo memberInfo) { + if (findMemberInfoById(memberInfo.getMemberId()) == null) { + memberInfos.add(memberInfo); + System.out.println("成员信息添加成功: " + memberInfo); + return true; + } else { + System.out.println("成员ID已存在,无法添加: " + memberInfo.getMemberId()); + return false; + } + } + + // 删除成员信息 + public boolean deleteMemberInfo(String memberId) { + MemberInfo memberInfoToRemove = findMemberInfoById(memberId); + if (memberInfoToRemove != null) { + memberInfos.remove(memberInfoToRemove); + System.out.println("成员信息删除成功: " + memberInfoToRemove); + return true; + } else { + System.out.println("未找到成员ID: " + memberId); + return false; + } + } + + // 更新成员信息 + public boolean updateMemberInfo(String memberId, String field, Object newValue) { + MemberInfo memberInfoToUpdate = findMemberInfoById(memberId); + if (memberInfoToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + memberInfoToUpdate.setName(newValue.toString()); + break; + case "gender": + memberInfoToUpdate.setGender(newValue.toString()); + break; + case "age": + try { + memberInfoToUpdate.setAge(Integer.parseInt(newValue.toString())); + } catch (NumberFormatException e) { + System.out.println("无效年龄: " + newValue); + return false; + } + break; + case "contact": + memberInfoToUpdate.setContact(newValue.toString()); + break; + case "role": + memberInfoToUpdate.setRole(newValue.toString()); + break; + case "duespaid": + try { + memberInfoToUpdate.setDuesPaid(Double.parseDouble(newValue.toString())); + } catch (NumberFormatException e) { + System.out.println("无效会费金额: " + newValue); + return false; + } + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("成员信息更新成功: " + memberInfoToUpdate); + return true; + } else { + System.out.println("未找到成员ID: " + memberId); + return false; + } + } + + // 查询成员信息 + public MemberInfo findMemberInfoById(String memberId) { + for (MemberInfo memberInfo : memberInfos) { + if (memberInfo.getMemberId().equals(memberId)) { + System.out.println("成员信息查询成功: " + memberInfo); + return memberInfo; + } + } + System.out.println("未找到成员ID: " + memberId); + return null; + } + + // 显示所有成员信息 + public void displayAllMemberInfos() { + if (memberInfos.isEmpty()) { + System.out.println("当前没有成员信息记录"); + } else { + System.out.println("所有成员信息:"); + for (MemberInfo memberInfo : memberInfos) { + System.out.println(memberInfo); + } + } + } + + // 处理新成员加入 + public boolean addNewMember(String memberId, String name, String gender, int age, String contact, String joinDate, String role, double duesPaid) { + MemberInfo newMember = new MemberInfo(memberId, name, gender, age, contact, joinDate, role, duesPaid); + return addMemberInfo(newMember); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "MEM" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STcy manager = new STcy(); + + // 添加成员信息 + manager.addNewMember("MEM001", "张三", "男", 25, "1234567890", "2023-11-01", "leader", 100.0); + manager.addNewMember("MEM002", "李四", "女", 22, "0987654321", "2023-11-02", "member", 50.0); + + // 显示所有成员信息 + manager.displayAllMemberInfos(); + + // 处理新成员加入 + manager.addNewMember("MEM003", "王五", "男", 23, "1122334455", "2023-11-03", "guest", 0.0); + + // 再次显示所有成员信息 + manager.displayAllMemberInfos(); + + // 更新成员信息 + manager.updateMemberInfo("MEM001", "age", 26); + manager.updateMemberInfo("MEM002", "role", "leader"); + manager.updateMemberInfo("MEM003", "duespaid", 20.0); + + // 再次显示所有成员信息 + manager.displayAllMemberInfos(); + + // 删除成员信息 + manager.deleteMemberInfo("MEM002"); + + // 再次显示所有成员信息 + manager.displayAllMemberInfos(); + } +} + diff --git a/server/src/main/java/self/cases/teams/teaa/STgeren.java b/server/src/main/java/self/cases/teams/teaa/STgeren.java new file mode 100644 index 00000000..f3f5a8c8 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STgeren.java @@ -0,0 +1,189 @@ +package self.cases.teams.teaa; +import java.util.ArrayList; +import java.util.List; + +// 定义社团成员类 +class Member { + private String memberId; + private String name; + private String email; + private String phoneNumber; + private String position; + private String department; + + public Member(String memberId, String name, String email, String phoneNumber, String position, String department) { + this.memberId = memberId; + this.name = name; + this.email = email; + this.phoneNumber = phoneNumber; + this.position = position; + this.department = department; + } + + public String getMemberId() { + return memberId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + @Override + public String toString() { + return "Member{" + + "memberId='" + memberId + '\\' + + ", name='" + name + '\\' + + ", email='" + email + '\\' + + ", phoneNumber='" + phoneNumber + '\\' + + ", position='" + position + '\\' + + ", department='" + department + '\\' + + '}'; + } +} + +// 社团管理系统个人资料管理类 +public class STgeren { + // 模拟数据库 + private List members = new ArrayList<>(); + + // 添加成员 + public boolean addMember(Member member) { + if (findMemberById(member.getMemberId()) == null) { + members.add(member); + System.out.println("成员添加成功: " + member); + return true; + } else { + System.out.println("成员ID已存在,无法添加: " + member.getMemberId()); + return false; + } + } + + // 删除成员 + public boolean deleteMember(String memberId) { + Member memberToRemove = findMemberById(memberId); + if (memberToRemove != null) { + members.remove(memberToRemove); + System.out.println("成员删除成功: " + memberToRemove); + return true; + } else { + System.out.println("未找到成员ID: " + memberId); + return false; + } + } + + // 更新成员信息 + public boolean updateMember(String memberId, String field, String newValue) { + Member memberToUpdate = findMemberById(memberId); + if (memberToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + memberToUpdate.setName(newValue); + break; + case "email": + memberToUpdate.setEmail(newValue); + break; + case "phonenumber": + memberToUpdate.setPhoneNumber(newValue); + break; + case "position": + memberToUpdate.setPosition(newValue); + break; + case "department": + memberToUpdate.setDepartment(newValue); + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("成员信息更新成功: " + memberToUpdate); + return true; + } else { + System.out.println("未找到成员ID: " + memberId); + return false; + } + } + + // 查询成员信息 + public Member findMemberById(String memberId) { + for (Member member : members) { + if (member.getMemberId().equals(memberId)) { + System.out.println("成员信息查询成功: " + member); + return member; + } + } + System.out.println("未找到成员ID: " + memberId); + return null; + } + + // 显示所有成员 + public void displayAllMembers() { + if (members.isEmpty()) { + System.out.println("当前没有成员记录"); + } else { + System.out.println("所有成员信息:"); + for (Member member : members) { + System.out.println(member); + } + } + } + + // 主方法演示功能 + public static void main(String[] args) { + STgeren manager = new STgeren(); + + // 添加成员 + manager.addMember(new Member("M001", "张三", "zhangsan@example.com", "1234567890", "主席", "行政部")); + manager.addMember(new Member("M002", "李四", "lisi@example.com", "0987654321", "秘书", "财务部")); + + // 显示所有成员 + manager.displayAllMembers(); + + // 查询成员 + manager.findMemberById("M001"); + + // 更新成员信息 + manager.updateMember("M001", "email", "zhangsan_new@example.com"); + + // 删除成员 + manager.deleteMember("M002"); + + // 再次显示所有成员 + manager.displayAllMembers(); + } +} diff --git a/server/src/main/java/self/cases/teams/teaa/STjf.java b/server/src/main/java/self/cases/teams/teaa/STjf.java new file mode 100644 index 00000000..58c97366 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STjf.java @@ -0,0 +1,194 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义缴费信息类 +class PaymentInfo { + private String paymentId; + private String participantId; + private double amount; + private String paymentDate; + private String status; // "paid", "pending", "refunded" + + public PaymentInfo(String paymentId, String participantId, double amount, String paymentDate, String status) { + this.paymentId = paymentId; + this.participantId = participantId; + this.amount = amount; + this.paymentDate = paymentDate; + this.status = status; + } + + public String getPaymentId() { + return paymentId; + } + + public String getParticipantId() { + return participantId; + } + + public void setParticipantId(String participantId) { + this.participantId = participantId; + } + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + public String getPaymentDate() { + return paymentDate; + } + + public void setPaymentDate(String paymentDate) { + this.paymentDate = paymentDate; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + @Override + public String toString() { + return "PaymentInfo{" + + "paymentId='" + paymentId + '\\' + + ", participantId='" + participantId + '\\' + + ", amount=" + amount + + ", paymentDate='" + paymentDate + '\\' + + ", status='" + status + '\\' + + '}'; + } +} + +// 社团管理系统缴费信息管理类 +public class STjf { + // 模拟数据库 + private List paymentInfos = new ArrayList<>(); + + // 添加缴费信息 + public boolean addPaymentInfo(PaymentInfo paymentInfo) { + if (findPaymentInfoById(paymentInfo.getPaymentId()) == null) { + paymentInfos.add(paymentInfo); + System.out.println("缴费信息添加成功: " + paymentInfo); + return true; + } else { + System.out.println("缴费信息ID已存在,无法添加: " + paymentInfo.getPaymentId()); + return false; + } + } + + // 删除缴费信息 + public boolean deletePaymentInfo(String paymentId) { + PaymentInfo paymentInfoToRemove = findPaymentInfoById(paymentId); + if (paymentInfoToRemove != null) { + paymentInfos.remove(paymentInfoToRemove); + System.out.println("缴费信息删除成功: " + paymentInfoToRemove); + return true; + } else { + System.out.println("未找到缴费信息ID: " + paymentId); + return false; + } + } + + // 更新缴费信息 + public boolean updatePaymentInfo(String paymentId, String field, Object newValue) { + PaymentInfo paymentInfoToUpdate = findPaymentInfoById(paymentId); + if (paymentInfoToUpdate != null) { + switch (field.toLowerCase()) { + case "amount": + try { + paymentInfoToUpdate.setAmount(Double.parseDouble(newValue.toString())); + } catch (NumberFormatException e) { + System.out.println("无效金额: " + newValue); + return false; + } + break; + case "status": + paymentInfoToUpdate.setStatus(newValue.toString()); + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("缴费信息更新成功: " + paymentInfoToUpdate); + return true; + } else { + System.out.println("未找到缴费信息ID: " + paymentId); + return false; + } + } + + // 查询缴费信息 + public PaymentInfo findPaymentInfoById(String paymentId) { + for (PaymentInfo paymentInfo : paymentInfos) { + if (paymentInfo.getPaymentId().equals(paymentId)) { + System.out.println("缴费信息查询成功: " + paymentInfo); + return paymentInfo; + } + } + System.out.println("未找到缴费信息ID: " + paymentId); + return null; + } + + // 显示所有缴费信息 + public void displayAllPaymentInfos() { + if (paymentInfos.isEmpty()) { + System.out.println("当前没有缴费信息记录"); + } else { + System.out.println("所有缴费信息:"); + for (PaymentInfo paymentInfo : paymentInfos) { + System.out.println(paymentInfo); + } + } + } + + // 处理参与者缴费 + public boolean processPayment(String participantId, double amount, String paymentDate) { + PaymentInfo paymentInfo = new PaymentInfo(generateUniqueId(), participantId, amount, paymentDate, "paid"); + return addPaymentInfo(paymentInfo); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "PMT" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STjf manager = new STjf(); + + // 添加缴费信息 + manager.addPaymentInfo(new PaymentInfo("PMT001", "P001", 50.0, "2023-11-01", "paid")); + manager.addPaymentInfo(new PaymentInfo("PMT002", "P002", 30.0, "2023-11-02", "pending")); + + // 显示所有缴费信息 + manager.displayAllPaymentInfos(); + + // 处理参与者缴费 + manager.processPayment("P003", 70.0, "2023-11-03"); + + // 再次显示所有缴费信息 + manager.displayAllPaymentInfos(); + + // 更新缴费信息 + manager.updatePaymentInfo("PMT001", "amount", 60.0); + manager.updatePaymentInfo("PMT002", "status", "paid"); + + // 再次显示所有缴费信息 + manager.displayAllPaymentInfos(); + + // 删除缴费信息 + manager.deletePaymentInfo("PMT002"); + + // 再次显示所有缴费信息 + manager.displayAllPaymentInfos(); + } +} + diff --git a/server/src/main/java/self/cases/teams/teaa/STjh.java b/server/src/main/java/self/cases/teams/teaa/STjh.java new file mode 100644 index 00000000..8cf49137 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STjh.java @@ -0,0 +1,385 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义活动类 +class Activity { + private String activityId; + private String name; + private String description; + private String organizer; + private String location; + private String startDate; + private String endDate; + private int maxParticipants; + + public Activity(String activityId, String name, String description, String organizer, String location, String startDate, String endDate, int maxParticipants) { + this.activityId = activityId; + this.name = name; + this.description = description; + this.organizer = organizer; + this.location = location; + this.startDate = startDate; + this.endDate = endDate; + this.maxParticipants = maxParticipants; + } + + public String getActivityId() { + return activityId; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public String getOrganizer() { + return organizer; + } + + public String getLocation() { + return location; + } + + public String getStartDate() { + return startDate; + } + + public String getEndDate() { + return endDate; + } + + public int getMaxParticipants() { + return maxParticipants; + } + + public void setMaxParticipants(int maxParticipants) { + this.maxParticipants = maxParticipants; + } + + @Override + public String toString() { + return "Activity{" + + "activityId='" + activityId + '\\' + + ", name='" + name + '\\' + + ", description='" + description + '\\' + + ", organizer='" + organizer + '\\' + + ", location='" + location + '\\' + + ", startDate='" + startDate + '\\' + + ", endDate='" + endDate + '\\' + + ", maxParticipants=" + maxParticipants + + '}'; + } + + public void setName(String newValue) { + } + + public void setDescription(String newValue) { + } + + public void setOrganizer(String newValue) { + } + + public void setLocation(String newValue) { + } + + public void setStartDate(String newValue) { + } + + public void setEndDate(String newValue) { + } +} + +// 定义参与者类 +class Participant { + private String participantId; + private String name; + private String email; + private String phoneNumber; + private String reason; + + public Participant(String participantId, String name, String email, String phoneNumber, String reason) { + this.participantId = participantId; + this.name = name; + this.email = email; + this.phoneNumber = phoneNumber; + this.reason = reason; + } + + public String getParticipantId() { + return participantId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + @Override + public String toString() { + return "Participant{" + + "participantId='" + participantId + '\\' + + ", name='" + name + '\\' + + ", email='" + email + '\\' + + ", phoneNumber='" + phoneNumber + '\\' + + ", reason='" + reason + '\\' + + '}'; + } +} + +// 社团管理系统加入活动类 +public class STjh { + // 模拟数据库 + private List activities = new ArrayList<>(); + private List participants = new ArrayList<>(); + + // 添加活动 + public boolean addActivity(Activity activity) { + if (findActivityById(activity.getActivityId()) == null) { + activities.add(activity); + System.out.println("活动添加成功: " + activity); + return true; + } else { + System.out.println("活动ID已存在,无法添加: " + activity.getActivityId()); + return false; + } + } + + // 删除活动 + public boolean deleteActivity(String activityId) { + Activity activityToRemove = findActivityById(activityId); + if (activityToRemove != null) { + activities.remove(activityToRemove); + System.out.println("活动删除成功: " + activityToRemove); + return true; + } else { + System.out.println("未找到活动ID: " + activityId); + return false; + } + } + + // 更新活动信息 + public boolean updateActivity(String activityId, String field, String newValue) { + Activity activityToUpdate = findActivityById(activityId); + if (activityToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + activityToUpdate.setName(newValue); + break; + case "description": + activityToUpdate.setDescription(newValue); + break; + case "organizer": + activityToUpdate.setOrganizer(newValue); + break; + case "location": + activityToUpdate.setLocation(newValue); + break; + case "startdate": + activityToUpdate.setStartDate(newValue); + break; + case "enddate": + activityToUpdate.setEndDate(newValue); + break; + case "maxparticipants": + try { + activityToUpdate.setMaxParticipants(Integer.parseInt(newValue)); + } catch (NumberFormatException e) { + System.out.println("无效的最大参与人数: " + newValue); + return false; + } + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("活动信息更新成功: " + activityToUpdate); + return true; + } else { + System.out.println("未找到活动ID: " + activityId); + return false; + } + } + + // 查询活动信息 + public Activity findActivityById(String activityId) { + for (Activity activity : activities) { + if (activity.getActivityId().equals(activityId)) { + System.out.println("活动信息查询成功: " + activity); + return activity; + } + } + System.out.println("未找到活动ID: " + activityId); + return null; + } + + // 显示所有活动 + public void displayAllActivities() { + if (activities.isEmpty()) { + System.out.println("当前没有活动记录"); + } else { + System.out.println("所有活动信息:"); + for (Activity activity : activities) { + System.out.println(activity); + } + } + } + + // 添加参与者 + public boolean addParticipant(Participant participant) { + if (findParticipantById(participant.getParticipantId()) == null) { + participants.add(participant); + System.out.println("参与者添加成功: " + participant); + return true; + } else { + System.out.println("参与者ID已存在,无法添加: " + participant.getParticipantId()); + return false; + } + } + + // 删除参与者 + public boolean deleteParticipant(String participantId) { + Participant participantToRemove = findParticipantById(participantId); + if (participantToRemove != null) { + participants.remove(participantToRemove); + System.out.println("参与者删除成功: " + participantToRemove); + return true; + } else { + System.out.println("未找到参与者ID: " + participantId); + return false; + } + } + + // 更新参与者信息 + public boolean updateParticipant(String participantId, String field, String newValue) { + Participant participantToUpdate = findParticipantById(participantId); + if (participantToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + participantToUpdate.setName(newValue); + break; + case "email": + participantToUpdate.setEmail(newValue); + break; + case "phonenumber": + participantToUpdate.setPhoneNumber(newValue); + break; + case "reason": + participantToUpdate.setReason(newValue); + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("参与者信息更新成功: " + participantToUpdate); + return true; + } else { + System.out.println("未找到参与者ID: " + participantId); + return false; + } + } + + // 查询参与者信息 + public Participant findParticipantById(String participantId) { + for (Participant participant : participants) { + if (participant.getParticipantId().equals(participantId)) { + System.out.println("参与者信息查询成功: " + participant); + return participant; + } + } + System.out.println("未找到参与者ID: " + participantId); + return null; + } + + // 显示所有参与者 + public void displayAllParticipants() { + if (participants.isEmpty()) { + System.out.println("当前没有参与者记录"); + } else { + System.out.println("所有参与者信息:"); + for (Participant participant : participants) { + System.out.println(participant); + } + } + } + + // 处理参与者加入活动 + public boolean joinActivity(String participantId, String activityId) { + Participant participant = findParticipantById(participantId); + Activity activity = findActivityById(activityId); + + if (participant == null || activity == null) { + System.out.println("参与者或活动不存在"); + return false; + } + + if (activity.getMaxParticipants() <= 0) { + System.out.println("活动已满员,无法接受新参与者"); + return false; + } + + activity.setMaxParticipants(activity.getMaxParticipants() - 1); + System.out.println("参与者成功加入活动: " + participant.getName() + " 加入了活动 " + activity.getName()); + return true; + } + + // 主方法演示功能 + public static void main(String[] args) { + STjh manager = new STjh(); + + // 添加活动 + manager.addActivity(new Activity("A001", "编程竞赛", "编程技能提升比赛", "王五", "教学楼A101", "2023-11-01", "2023-11-02", 50)); + manager.addActivity(new Activity("A002", "舞蹈比赛", "舞蹈技巧展示比赛", "赵六", "礼堂B201", "2023-11-05", "2023-11-06", 30)); + + // 显示所有活动 + manager.displayAllActivities(); + + // 添加参与者 + manager.addParticipant(new Participant("P001", "张三", "zhangsan@example.com", "1234567890", "对编程感兴趣")); + manager.addParticipant(new Participant("P002", "李四", "lisi@example.com", "0987654321", "喜欢跳舞")); + + // 显示所有参与者 + manager.displayAllParticipants(); + + // 处理参与者加入活动 + manager.joinActivity("P001", "A001"); + + // 再次显示所有活动 + manager.displayAllActivities(); + + // 再次显示所有参与者 + manager.displayAllParticipants(); + } +} + diff --git a/server/src/main/java/self/cases/teams/teaa/STjr.java b/server/src/main/java/self/cases/teams/teaa/STjr.java new file mode 100644 index 00000000..1ec70daf --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STjr.java @@ -0,0 +1,345 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义社团类 +class Club { + private String clubId; + private String name; + private String description; + private String president; + private int maxMembers; + + public Club(String clubId, String name, String description, String president, int maxMembers) { + this.clubId = clubId; + this.name = name; + this.description = description; + this.president = president; + this.maxMembers = maxMembers; + } + + public String getClubId() { + return clubId; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public String getPresident() { + return president; + } + + public int getMaxMembers() { + return maxMembers; + } + + public void setMaxMembers(int maxMembers) { + this.maxMembers = maxMembers; + } + + @Override + public String toString() { + return "Club{" + + "clubId='" + clubId + '\\' + + ", name='" + name + '\\' + + ", description='" + description + '\\' + + ", president='" + president + '\\' + + ", maxMembers=" + maxMembers + + '}'; + } + + public void setName(String newValue) { + } + + public void setDescription(String newValue) { + } + + public void setPresident(String newValue) { + } +} + +// 定义申请者类 +class Applicant { + private String applicantId; + private String name; + private String email; + private String phoneNumber; + private String reason; + + public Applicant(String applicantId, String name, String email, String phoneNumber, String reason) { + this.applicantId = applicantId; + this.name = name; + this.email = email; + this.phoneNumber = phoneNumber; + this.reason = reason; + } + + public String getApplicantId() { + return applicantId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + @Override + public String toString() { + return "Applicant{" + + "applicantId='" + applicantId + '\\' + + ", name='" + name + '\\' + + ", email='" + email + '\\' + + ", phoneNumber='" + phoneNumber + '\\' + + ", reason='" + reason + '\\' + + '}'; + } +} + +// 社团管理系统申请加入社团类 +public class STjr { + // 模拟数据库 + private List clubs = new ArrayList<>(); + private List applicants = new ArrayList<>(); + + // 添加社团 + public boolean addClub(Club club) { + if (findClubById(club.getClubId()) == null) { + clubs.add(club); + System.out.println("社团添加成功: " + club); + return true; + } else { + System.out.println("社团ID已存在,无法添加: " + club.getClubId()); + return false; + } + } + + // 删除社团 + public boolean deleteClub(String clubId) { + Club clubToRemove = findClubById(clubId); + if (clubToRemove != null) { + clubs.remove(clubToRemove); + System.out.println("社团删除成功: " + clubToRemove); + return true; + } else { + System.out.println("未找到社团ID: " + clubId); + return false; + } + } + + // 更新社团信息 + public boolean updateClub(String clubId, String field, String newValue) { + Club clubToUpdate = findClubById(clubId); + if (clubToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + clubToUpdate.setName(newValue); + break; + case "description": + clubToUpdate.setDescription(newValue); + break; + case "president": + clubToUpdate.setPresident(newValue); + break; + case "maxmembers": + try { + clubToUpdate.setMaxMembers(Integer.parseInt(newValue)); + } catch (NumberFormatException e) { + System.out.println("无效的最大成员数: " + newValue); + return false; + } + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("社团信息更新成功: " + clubToUpdate); + return true; + } else { + System.out.println("未找到社团ID: " + clubId); + return false; + } + } + + // 查询社团信息 + public Club findClubById(String clubId) { + for (Club club : clubs) { + if (club.getClubId().equals(clubId)) { + System.out.println("社团信息查询成功: " + club); + return club; + } + } + System.out.println("未找到社团ID: " + clubId); + return null; + } + + // 显示所有社团 + public void displayAllClubs() { + if (clubs.isEmpty()) { + System.out.println("当前没有社团记录"); + } else { + System.out.println("所有社团信息:"); + for (Club club : clubs) { + System.out.println(club); + } + } + } + + // 添加申请者 + public boolean addApplicant(Applicant applicant) { + if (findApplicantById(applicant.getApplicantId()) == null) { + applicants.add(applicant); + System.out.println("申请者添加成功: " + applicant); + return true; + } else { + System.out.println("申请者ID已存在,无法添加: " + applicant.getApplicantId()); + return false; + } + } + + // 删除申请者 + public boolean deleteApplicant(String applicantId) { + Applicant applicantToRemove = findApplicantById(applicantId); + if (applicantToRemove != null) { + applicants.remove(applicantToRemove); + System.out.println("申请者删除成功: " + applicantToRemove); + return true; + } else { + System.out.println("未找到申请者ID: " + applicantId); + return false; + } + } + + // 更新申请者信息 + public boolean updateApplicant(String applicantId, String field, String newValue) { + Applicant applicantToUpdate = findApplicantById(applicantId); + if (applicantToUpdate != null) { + switch (field.toLowerCase()) { + case "name": + applicantToUpdate.setName(newValue); + break; + case "email": + applicantToUpdate.setEmail(newValue); + break; + case "phonenumber": + applicantToUpdate.setPhoneNumber(newValue); + break; + case "reason": + applicantToUpdate.setReason(newValue); + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("申请者信息更新成功: " + applicantToUpdate); + return true; + } else { + System.out.println("未找到申请者ID: " + applicantId); + return false; + } + } + + // 查询申请者信息 + public Applicant findApplicantById(String applicantId) { + for (Applicant applicant : applicants) { + if (applicant.getApplicantId().equals(applicantId)) { + System.out.println("申请者信息查询成功: " + applicant); + return applicant; + } + } + System.out.println("未找到申请者ID: " + applicantId); + return null; + } + + // 显示所有申请者 + public void displayAllApplicants() { + if (applicants.isEmpty()) { + System.out.println("当前没有申请者记录"); + } else { + System.out.println("所有申请者信息:"); + for (Applicant applicant : applicants) { + System.out.println(applicant); + } + } + } + + // 处理申请 + public boolean processApplication(String applicantId, String clubId) { + Applicant applicant = findApplicantById(applicantId); + Club club = findClubById(clubId); + + if (applicant == null || club == null) { + System.out.println("申请者或社团不存在"); + return false; + } + + if (club.getMaxMembers() <= 0) { + System.out.println("社团已满员,无法接受新成员"); + return false; + } + + club.setMaxMembers(club.getMaxMembers() - 1); + System.out.println("申请成功: " + applicant.getName() + " 已加入社团 " + club.getName()); + return true; + } + + // 主方法演示功能 + public static void main(String[] args) { + STjr manager = new STjr(); + + // 添加社团 + manager.addClub(new Club("C001", "编程俱乐部", "专注于编程学习和项目开发", "王五", 20)); + manager.addClub(new Club("C002", "舞蹈俱乐部", "提供各种舞蹈课程和表演机会", "赵六", 15)); + + // 显示所有社团 + manager.displayAllClubs(); + + // 添加申请者 + manager.addApplicant(new Applicant("A001", "张三", "zhangsan@example.com", "1234567890", "对编程感兴趣")); + manager.addApplicant(new Applicant("A002", "李四", "lisi@example.com", "0987654321", "喜欢跳舞")); + + // 显示所有申请者 + manager.displayAllApplicants(); + + // 处理申请 + manager.processApplication("A001", "C001"); + + // 再次显示所有社团 + manager.displayAllClubs(); + + // 再次显示所有申请者 + manager.displayAllApplicants(); + } +} diff --git a/server/src/main/java/self/cases/teams/teaa/STxtgl.java b/server/src/main/java/self/cases/teams/teaa/STxtgl.java new file mode 100644 index 00000000..82860185 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STxtgl.java @@ -0,0 +1,268 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义用户信息类 +class UserInfo { + private String userId; + private String username; + private String password; + private String email; + private String phone; + private String role; // "admin", "moderator", "user" + private boolean isActive; + + public UserInfo(String userId, String username, String password, String email, String phone, String role, boolean isActive) { + this.userId = userId; + this.username = username; + this.password = password; + this.email = email; + this.phone = phone; + this.role = role; + this.isActive = isActive; + } + + public String getUserId() { + return userId; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public boolean isActive() { + return isActive; + } + + public void setActive(boolean active) { + isActive = active; + } + + @Override + public String toString() { + return "UserInfo{" + + "userId='" + userId + '\\' + + ", username='" + username + '\\' + + ", password='" + password + '\\' + + ", email='" + email + '\\' + + ", phone='" + phone + '\\' + + ", role='" + role + '\\' + + ", isActive=" + isActive + + '}'; + } +} + +// 社团管理系统社团系统用户管理类 +public class STxtgl { + // 模拟数据库 + private List userInfos = new ArrayList<>(); + + // 注册新用户 + public boolean registerUser(String username, String password, String email, String phone, String role) { + if (findUserByUsername(username) == null) { + String userId = generateUniqueId(); + UserInfo newUser = new UserInfo(userId, username, password, email, phone, role, true); + userInfos.add(newUser); + System.out.println("用户注册成功: " + newUser); + return true; + } else { + System.out.println("用户名已存在,无法注册: " + username); + return false; + } + } + + // 登录用户 + public boolean login(String username, String password) { + UserInfo userToLogin = findUserByUsernameAndPassword(username, password); + if (userToLogin != null && userToLogin.isActive()) { + System.out.println("用户登录成功: " + userToLogin); + return true; + } else { + System.out.println("用户名或密码错误,登录失败"); + return false; + } + } + + // 查找用户 + private UserInfo findUserByUsername(String username) { + for (UserInfo userInfo : userInfos) { + if (userInfo.getUsername().equals(username)) { + System.out.println("用户查找成功: " + userInfo); + return userInfo; + } + } + System.out.println("未找到用户: " + username); + return null; + } + + private UserInfo findUserByUsernameAndPassword(String username, String password) { + for (UserInfo userInfo : userInfos) { + if (userInfo.getUsername().equals(username) && userInfo.getPassword().equals(password)) { + return userInfo; + } + } + System.out.println("未找到用户或密码错误"); + return null; + } + + // 删除用户 + public boolean deleteUser(String userId) { + UserInfo userToRemove = findUserById(userId); + if (userToRemove != null) { + userInfos.remove(userToRemove); + System.out.println("用户删除成功: " + userToRemove); + return true; + } else { + System.out.println("未找到用户ID: " + userId); + return false; + } + } + + // 更新用户信息 + public boolean updateUser(String userId, String field, Object newValue) { + UserInfo userToUpdate = findUserById(userId); + if (userToUpdate != null) { + switch (field.toLowerCase()) { + case "username": + userToUpdate.setUsername(newValue.toString()); + break; + case "password": + userToUpdate.setPassword(newValue.toString()); + break; + case "email": + userToUpdate.setEmail(newValue.toString()); + break; + case "phone": + userToUpdate.setPhone(newValue.toString()); + break; + case "role": + userToUpdate.setRole(newValue.toString()); + break; + case "active": + try { + userToUpdate.setActive(Boolean.parseBoolean(newValue.toString())); + } catch (Exception e) { + System.out.println("无效的活动状态: " + newValue); + return false; + } + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("用户信息更新成功: " + userToUpdate); + return true; + } else { + System.out.println("未找到用户ID: " + userId); + return false; + } + } + + // 查询用户 + public UserInfo findUserById(String userId) { + for (UserInfo userInfo : userInfos) { + if (userInfo.getUserId().equals(userId)) { + System.out.println("用户查找成功: " + userInfo); + return userInfo; + } + } + System.out.println("未找到用户ID: " + userId); + return null; + } + + // 显示所有用户信息 + public void displayAllUsers() { + if (userInfos.isEmpty()) { + System.out.println("当前没有用户信息记录"); + } else { + System.out.println("所有用户信息:"); + for (UserInfo userInfo : userInfos) { + System.out.println(userInfo); + } + } + } + + // 处理新用户注册 + public boolean addNewUser(String username, String password, String email, String phone, String role) { + return registerUser(username, password, email, phone, role); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "USR" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STxtgl manager = new STxtgl(); + + // 注册新用户 + manager.addNewUser("zhangsan", "123456", "zhangsan@example.com", "1234567890", "user"); + manager.addNewUser("lisi", "abcdef", "lisi@example.com", "0987654321", "moderator"); + + // 显示所有用户信息 + manager.displayAllUsers(); + + // 处理新用户注册 + manager.addNewUser("wangwu", "qwerty", "wangwu@example.com", "1122334455", "admin"); + + // 再次显示所有用户信息 + manager.displayAllUsers(); + + // 登录用户 + manager.login("zhangsan", "123456"); + manager.login("lisi", "abcdef"); + manager.login("wangwu", "qwerty"); + + // 更新用户信息 + manager.updateUser("USR1", "username", "zhangsan_new"); + manager.updateUser("USR2", "role", "admin"); + manager.updateUser("USR3", "active", false); + + // 再次显示所有用户信息 + manager.displayAllUsers(); + + // 删除用户 + manager.deleteUser("USR2"); + + // 再次显示所有用户信息 + manager.displayAllUsers(); + } +} diff --git a/server/target/classes/self/cases/teams/entity/Clubshenqing.class b/server/target/classes/self/cases/teams/entity/Clubshenqing.class new file mode 100644 index 0000000000000000000000000000000000000000..ba14af0f82bddff0d7b95a57e1c0f9f5beb7e4a3 GIT binary patch literal 3430 zcma*pZBrXn6bJCLAx|Vr0x3{hN=sX)fj*=v)oLl00<~zMQ68+=YB!seY$w^o>^S2KKY$;qh?dCC&=`F=Orx~J zVVA=mhkXuTad^t%YYqn-zTxnU!*dSba`=wJixgQYsu~n?YX%j{FRdf1)Udq6(vIl3 z-r+ri(srX;-L{&JL8fI3_sA7L_PW`cu8(6BG8j##$@7LN8F)D>={#3Oi2 z%JFKw$#kP-TfIH`ruC|VU9Ro6El>Cc8Jh-;*ey@sRTZb>^OMbff1_!+jj&s(w>-Qn zZMEB-){z6haR7$haq!04s=()NyLS9Jx$JtbSTSg*xUg?fe63Z(=6u=pob7J2>U4Ik zY6ByMGIWi7tK)LNKNuHv7r1L>-)VebvMt~7OTw|5e#!9!@=;ntj{Lgg{m{!<;?NPB z0F4(HbSX{vz3GYK=~>2&ZaJdfsv$E-yFeBU%HoOql78m#fUuXx-0F#w$z%THNDgb( z2ahXSJFCMUpbGa7QA*XGyi`l)fGI@5Oo7rh~JGS%4+HWcc|gim^tv0Ld06*@7io$YcwgY~hnFh_Z!Jwt&hOR@s6pTZqxl5ZE-2cn!T0 zS_5rj@h>u7%VqB%Cgos~iui2y7SIAMqG!-`x`B9d^Pd#^L)ko~-F%a7;V$=<5|>zT&+G9ZTu&;;QKeOgAG;Tt|UvLYkJeri5y`tu@`zn-Z#N38p&{Ca&qg zG$~CV(1#dO>nW+4?rKeU=_Ay~sd`GPre&D!N0|8g6`0OS)5lsO=Xz2B20Ym1g7)Sv_hX~&Tja3OvWg@NGe*> z16nFF literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/entity/STjiao.class b/server/target/classes/self/cases/teams/entity/STjiao.class new file mode 100644 index 0000000000000000000000000000000000000000..62aa4f448955c0ed61e6e5a6c33af1c40060c975 GIT binary patch literal 2538 zcmaKsX>Sur5QeMAS8R`iaSo1f1lT1`0t`3o1_Ht6b`B|lUBL(FI767oM`VwY_)kc% zQlgdkzz^U@A>L}+Gn1x=FI9b1cRgKi&3ymy^&1ggr_~%4=s}ijs<5fDdC2Awo5yUP zuzAYn8Jp*9Y8hJ2(25|-+Y(f&?Z^+(X~@>Lv+j4i*7ky+k$R)Ixgwjcpj^{!Zn~ZR zBrTimUdtCGs)F*n@?+C&`Bmv7uGqh)=X(u@S8z*V5U}j}@7qXK@H?{Am37~1x1M62 z_PT458N@3=*?Pytv8^TCp6%^!4aey_Ud!_r1trR}F9jtl?JZA&~7f~IR-xAD%Y%dXpXd{;KR4!Ax4qqDxT^SB_K6|lD)scQkd(Rmj8OM_D5-BpwX z5yO>axym_55wsSSpfqHUiZF_U2cpIXPY8q51H#LOauvgq!4jf24vNT8+7gH%Xht1p zd6VT=O1fPowv9U~q1HCSqEqa?2-WA^$TYX!?se+!Baao&_r<%!{cF<+I%(4=9kQv& z<}jNQjoCC#6E;oq^az`ybj+sXyf#G>f=>OuGoWnvd8}^kxOJb-;2SF71I&@d2{E!b zr}9XvJTfbf!AOi7*ToRMkX%#_rb zX24XAVd6dsm<}tZ3v>}neeEoaSol3kea0ZF-Mo?M61rumU4jxglb)N|rvg(jWV%Y%0;WhmrFEuTV7eW{#NSWAG_IJg8@0>mObbS) z8)oe?I@3Kc-H&17Z#iI^R7^LGOd~o|#mIEa%rv4iJqFX07$*L&1WZR1(@_+4*iWH$ z*-zMv_S17C(_i%WFWOD*Q&wkM1=Cs#(*pi+0n>tFx?}98oL;AOBhy`TKjn0$f57x_ s3={uv1E%AOY0=1(*O^`$neLgH@;cKSFujdo;(vd@G^LpC!&} zfscSN`X@_ByG>QLED;p%^=W literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/msg/R.class b/server/target/classes/self/cases/teams/msg/R.class index aff6c3a2ff7b2a04c92917abad4debc553b9f34c..272084b5011051c9a6a79b4901d7f25bab8c2047 100644 GIT binary patch delta 203 zcmW;Fxeftg6b0ZDnT6uY3{fzhJsOOqP>3a=vPEa98CoVf38GQ{&mm#nN4$y?&ArK& zbM6hSzm68 z)Cn(4k-SMMX Sfr&VxNFszXz*#}{zug~C4kCg8 delta 203 zcmW;GI}gEN6b9fo(hHGKT8T(>D-yA&G8u}6!ELa(%t(z$SC`m~=XXe||3~~4FU$Fo zC+~UBmsp7vKQ!ecjWY76z(G~cMnRt1!1kz3s*e&{aM2b`k5oYIQhU_Ce2luh^r1bX zj;RwiOxZP)j1j5@bxB=O*X*6E4P{H&aXaL8s1B4P<-|<%zr8mDb)jCVH|Fll)#Pn< UoGeV($f1Z78UUxqAO2qd3opnbH~;_u diff --git a/server/target/classes/self/cases/teams/teaa/Activity.class b/server/target/classes/self/cases/teams/teaa/Activity.class new file mode 100644 index 0000000000000000000000000000000000000000..15b8fcf77bc2a4ba9f15f301c7c5113b2211a00c GIT binary patch literal 2813 zcmcgs+j1L45IrO7vXbRX6ko{&IS?#w2#yW0oq)iX5IH6xCa{(kdtI{RlGfo? zyzmS84IZEhIaN^b0X*?V6sKq9wX$BYpHP*$r+en~boc4mKmY#q4*)mtMGB)>OkxB} zBJPN|E8=|-ABZT5_)x@02`s0O!lHo{(W@fX4BRvDv4Q&rN(R;qJTR~!JD-Snn82e1 zK2=CrW!HJ?xZe~j3Yq0y>#0?!TD9#$$!$2b?OBCr&DygSx+`|G+;H|?r(RP?)*IVa z&H2`DC>Ygx*=oC+uGMgtESG?UU8{JjzCG*fd-OYHXWy#1O$Aj{h~IK*jytdLL+<3Y z|EH%ovB4@A>lG&5x9rsH)q}k)yRmLqn zX2G?sJuR)m?RHPuz5W&3-KketKD+4J4WfFsZTIMebbTNwCFc>g;}+ zjS&zcfCCPV&ZgkCQh>>aax^;)ASQhmFfqLvVGSPN|L4Z-JR<)s%gB6$7#HT z3u#;waY@8w5ig6#iWn1d1+OR!2giHiz^PVbh6j%b`R@2V%#Ek9iO)nlVOjaCJcPM% z4oN=S@fgI@lh67OLhN)td-N#U+y284yE~t4KMt`n`E1~U%*mafr|~u>6)ykxjB&({ zt6JOIwacyoDJ2teYk!~jC`^V?bz(D80MhSLh@%FbDYxTr%&QWkzuU!=*0l#AoCsKzzp-Q5nQ7+#msX& zx#``A2_oe;tt(P`B{fC#N~-G8E2%50S5jF_ucWrPUP*Ncy^{J2-UN&p3<)*}oLz8q z!9>6&a*O{f{43-!NhwVzP|Ni(^A|*Z;vxd6E3TcFbk1q-Ks#rJ>!IMTAb2bkTnGh6 zgW#*7;MYUJu^@ON6g(9Qjt9Y$q2TFIa3Tnv3I)Fr3O0h^nNaWz%&`AKs**njsJa;n zeiLuChkc$}hAVDfcwvB3+B?V5n%5DAyi@*w#^poD1Z1>gsy#mZjI?w5oyTQ-p8bZ@ zqvz<(qz};}qeRued5GRjpXccE9sQmo>O0PPj+pPrc#gR5IPW-Jv3T1R7)-x!5izCOP(vx3B})1%!# nd$hUJqdho#wE5GcJv@7~cTbP@`0UZ%J3ZQyvq!tFnOyh>4oJ-3 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/Applicant.class b/server/target/classes/self/cases/teams/teaa/Applicant.class new file mode 100644 index 0000000000000000000000000000000000000000..8f6de34332884ed1baec377a3f3bfb73b04c4a11 GIT binary patch literal 1929 zcmb`H>rN9<5Xb+g-Q8|WEm(nqqEx(4N}*ox3RD3#F_w!$h$fJ@v`4z67t$^!#`p|= z@j*1PkZ9rq_)x}~v+Y{T62JIiXJ%*5Is2Rc% zgtJsD5>9X4Zc}VnJ7vnm^RU&4cW*#(yAzHWf$7j zQ=NUw(ka!7YgV1=b!45k#df9REn$KBQxnH)5eU(`6{S+B(T)aubYOmy);@NnG-+`w zdu}lI0C^Gt7s69tWrm&{A51XqgF-K<&o6V@fNlp zBS~LSoW3$00oIG6086Gksir&$r#xv#z6XNjJxlA((cLHV2Ki+A2qHb%L?E4MBAA|P zLQ4;8P3Y-iy$R!sI$?zD1^OC+XV8#G7|V!Zh2FeMXRcus&vBlf=G-%B?I_*R>55IL zi0J|}GIl2bvO3*b#7kwHSBg^nv@_eYC{))h73Ibq4LnSv9 zNz`4?A`!UcyE)js`K9mX%ec~#Ek~YOvJK zaMhPd>t=fG%QWuKq;)eDiAkQo#EtNnSZslmFO%NQRPtq-@MqGynaadeIf02s!eip* z3#5ISjBciVU#3ZarjEgOd*=|-!3j(}oF0=qjPzTe6c6J^YBdj|{EpD8Bbf2fet!EUw6&#I%<~Quul|Ju&NP+)v|yLaNc~?rby_3iUnb zwNq_5{%&w)7)9o|@?;!NrzCz|8a64Yp^+Sd1zVmj|-QRJ8j)K}? zy<48|g=-4+^6`TI57}7SCX@AclT4=Tp6@>C%7f3HofeToz1?tH+fLxgxeprQE02Wc z>m9fCW3}OQ+)g!goqcVc>NeAR9~a{_i5>J~D)ZYWkQKPIIw8C~IJ73_9=!Ig8h@yt&yKlCgR+s%x z@$yj;1V%_?x7yvH;Xd?4tjyN)z2J%rI)^zt%;6-8Ih+zRE9SJAGdQa-JH8F~x?Zd4 z2IMdLyo=VRwwS{sJQl;wtV&7trMAd9RZ1f}BgkZ>G}xQ|dAK_@sqkG66( zS9FC_(XGB}qNvP8>A9GyKL`FReNI2~x=8-=FQi|*hgHZNA}ceY%l~kQi9#*{k^^8e z0*nDL6#?b|n2vzdA@cd3SmO{U#glh$6DD~t{^WEK_EHrgx& zqlv9?tE6HYgE20|WzgW#rmZ$`R=#A@AE$I z@_l^z^+&e=l;bZhRKaj!s|#r`GEj*o7xK{TV$VAY+ps+YKD0RDcOe6Yihz7urFlV` zpbH^{RYYX(4i!69>~f(EyQO(i#gF9sV--J9@sbGMBh6lEeyZYS6|cy-S4ZJB{7jm5 zCpuK@lgZar>{oF>n=a&w`hzNduHqLe4vCDnWcIL%BPx!nIHuybO#IS?6X=xQ z+bVt~-;>gGIdRH~cNEwoAtM-4kXgG;-=P;r!d_o-tv3{|QjpQ$ZSw2kNYGF)XUKAO zZOHI#EpF69MyNP!=q+Ze7q6qVszp5PsP_83;YAA4^9$B1uq_REC}wP}*Ke$fv}`eg zYxONY&bVs>jk<5W9`wpMF=-1odx`0ZhbXDj{d!ZwT4R?tLQPKH;}NwArsY56fQhPL z6Jdz83Z^`2pMud1VZCvCo!**&lUZkkn**MDJ*c-BVUsSG$MCUh>79^ovE$SIO~no2 zpx572CE6UKt;Qopn&b{#SD?x2+Q73$OJE0su0w$<((2KZLKlu8bhwz|GoskO)ob{u zSM?h^*XzCrc}{3sXKHZb*PPkv^_#>kX%mbkBj_u56i-gPONV;Ap;n*Xw%F$rF6cB{ zi|+L+$jX0i1Z)xsda#Mx9vfkqzHAZKii@T{M78Prgy&rifk?2?SnicT${Y|CbA)aU zPh&9^^~d$%U{G(9;MP!$Z)-S>_cUz8CMUWzoWc7}oYn9F&MC+q>aQgcug@d6#{d1T zGx7G`cyC{9Ust^SU~J#X%3KZSaY34k8hY@a6CY~0gv$!@tlc%w#Ck8q&L4|)p1F5p zfBa}y{PJN-f}FjA_fv9X?Op#k{%%q((Z@T_#yf7s+Iy0cDs$;Q4Oazw6ul(WUJ zO{CZjvhPzcsJiFv*hr#qCq^y%*yr zuEdY@BoS!1ft&QShFiF;;Wzj#w?91fhsrv6`pb*&^vn7fw-ro`-8>ZQI1s;dD&E;) zY5wv;PweJlv9@DRYSMyJDNO#3xjnMdR5*}_btNUGOuE>Ot}m`Jo5t^MW%xMg?Fv&{G=9bT^n7?3QiA2cnHLSoNtkY#Y9e?|c*ohMiC!aUu9dfc{;ez=U z^UCLzm1=k%i=DWm;V%9tG4yBJmDIPHSvT;ch6a45p-#A;{s=RyibmD_!MA$LHlr~- zXv(TDtSS9*UBjBBhXahxj3y&2c_;}zKEGgi2GaZe=Oh(apjkf^460$4TC;`?0MpPG z3L9iFJrLos36^kgptzm|FHBgx1*Gunt*wTi5@(NCQ2K4N3`ryw4-VR&L@>;P{{3n= zkmSP3@xf47Oj-q)kHu(^an_+Kxs@D2v-mP!!hzbrP9wOK_ZiD(vmR=;E-c<&HQZ;s z5Yc_CTF#IWUd43d9`=@5$u@@FddWBIV&j@O<&dnT6U>V>=_t9isAH9}OZd+>ZzjJv z80@qJ3*7AuEo*5Fw+%5R$r4RjIRe|m$gBEqW`vmkaFcS!xPC|0_``--v(;8T7&15< z0yD{YjT4_srZGTy{nYsVB;2Qm_=HeUkYDq#+a{IcGvp+>`@gS7;-2w{1e9yV)Pd=I z@m29nsPG}ktAgJ}9HrqYIN9gD!gdK~79pKIAhWO+N?{+;HufU@Dr_H`yO*++rz9xL zMk&v*r&;^449huESbV<29U`lXvSjb-!lEebQ8@0RpzsQ8Mc3g>!-h*x`;bBTF88P? zH0~K4#h56@+RhDF%CwevT(efw&rxJL1j-~h*e=E>s>|X`F#(klMjb&2v@A<~0vds! z2Hz#bm8Jxx6t(Qw70wFqI;=_nzexG%oLect9d)zrSh#0h$GE|`-9$BOWZaKgxQBy& zoQ#9Y98~8bqzS0U9IQbJi)szln!s}{^(o*hxv!oO9h_N16Vgl*R45Nn;>5E_J64-^ zG*F1?0Oc6Ph_d^p9hJ5m+Z}vHyyGkFX%&tfaysDyE>k!ez4y}R^Z8wZxw~KIH_!g@ z%1(aEa_sJ`D6)@ZW_pFA8@U`$G{;#s8E0~wV~!p63daP;S)M89PyWRDIsE1ESCnI$ z9mS+>l$f2#-FVXMOzFns1Kd5;Vl+kDfThQ|lw9LEWaFGJ z>2e*@7@Q2gTm{Eb!OnDr@0Pq(BH_D_tlid^nwX7N@0om+W1k`a8qxs41Z{kv( z2HLTQDE1;7FJl^AUX532%WJfyJyjQ~=_;uP;=C0JI}+%#A7C8ee}yUh7x?=O7^|F} z<_X!orVsh7S_QR5eaPGBE_4^UXSrwhVonsr)>MhR)LrJDo0y8CyvSX64fCR?*ub89 zqI-T63yRz&Q7okY%KK~UOezHSL&ckzjDxHThfu~CttLCm8Kn0%C5V)9Zhv&q6d5|cjz=|mvy$Za-x0}tEe$y`E{ z`?<{+3nuq*iBG-@WEF#1+B{~AWnfk%k2z!I8`Wo@o)=wZy56H5ayo_CJaxsVcP>!Nm1yIQ;d?cdV=OWVKgU;p0~T!Y4+uHOeDK`$&iqALWQ~KFVb)PmJe>&h$~fDDjB1I582B#U!to zEY9{(f$;mtBm7=5RZQbuxsM9PIJTzysE9N2@~)V77Vn0M**+RB=J=>Y%=1wx??#A) zKJtlkd^A$j_-K?k*GHqpc|IB=>U}hpcjH7oJ3rqmmWk!OTfxbdjHQvSRbHB^tks-c z!@IS-TgSWgyxYL28hLjC-+UqOHhRP+kGM!s-bGP6BFJhCh3rT}dmtLMqk{6ga2Cgs zH9G>k165tIV0+ctKxd7hqK(1UP$1S7u?4M4yjrW0?SW8hRbwb-x7v}KHBr00rK%}_ zT&rSsphNBh$SV|RwXX_x`PqF<9WpMc4TgfTIzhSR6&C|nL%10(O4bBJ_PVZ)?RI2S zV0$~x_|}A*0__(EB0)~;lXIS!*zNj6DG_}ciUbgV~)XF!gm>S&`ia)wM67J9skK^hjBcxvDY&V;HNAe|kTXcCivexD% zok^lT#NRQx#!c&g*8OtP?H#{0rWl8tgR!=?;fTGdEfCsdhm=UmBSAaV3^B|2K6OsQ zYYf$g_G-{$`PzkclO4jo6?P;L3x-47o}e{Z8xFRZEtscVCsjgKs+qglM^8OegDCBuQ?#^E_NFuSz}v5I zR#kjhKn*+3w_|bw<6EZ#?m@)Lqo;hVaFg#I?H@W7OCYOQ8qpc&;l$Hxrze|1MA+fe zEW)^zQu7#sPFLvQ;0#}Re1N3v#Bx>Ay(gHi_b^hrW#(JrQHoC&?SYQ%%>n=acP0FD z<_Y?RuB=HNi2jxTM4uT7fULfERAA;#bP0OuG%t4loVkLIoSr27bMV#U;nM}Xe-6I+ zymb0hjI66cGk{yDP+J$b6?p0&ycPc@bO)#nI$=oHX3YYA^UB_#A$FA{Y3N!KlF zm9BkTRq|Ia6tw>YtCO`ByH2ha{^|vSVs9z=tf{u06srE}`GU5cAXolsbUnAf3Hh=X zYvo(Qz+a8N*M_X|W{s}?&7t#Gqgz#%23FP}mJSRe<3~|{HM&bv2F`>(kNT_edS8@$ z-#{Nt-s^HepB($F!>%{HR;g%eQ5p;{=U4F-J8?=ttl?oD#0PhT48a zVaj`4!)`xfWPB<=aun}JWOz4*yCO~Y@*pof8*a*C7B5(^Xe)vGi1^}#m4Rp*RvTG# z5nb#N7h7Vp*y0geEv(bH1RBNHYc;mF+pU52`bcY62NoSHyQ<0VFUVS!vU7G*~rg8bQ39=v5c-P9iHW9SM4z_kuhexzqqC)_2>C$jG#!DtT)hf7X zNr4ELic4_lETx}YVwZ?`MAQ;7(d7}lEwM*jWr@Awod6hz!YJ^>yRf~RAGsRFHQ4rX z;#x~wM;%DL2kzo3s#PGCc(1tL5;utb9&w{3ZW1@+##{KYTVWjVi1%6IHgUTp?hxegzYYDck?6NFz#XF!!SO=#z$d%4BN*!aW9M>HtvIQKO3Kb@c)8J31(i zSfY=UM|t-p-aWy{zbu}##8)_ZOgtrMVunCS5NZAP9d=X92~+pdOe_)G9cb^u>MyzG zM=z*w-+|>d!{SAR$i{-0Cai`D1Vho)_FgQ=b2l2wQw=uwYs37(K#uw-Xk!eYIKFsd4+8N(rvDbtzBwSBHDytpa1)dplNm<;fw zBo@U%o~RwuE9hY9&(p;)oyk2!FjB5YhrKI0Ni#?6!Hav%cNu=r)e;FB6&E^=4757i+xYtKw^3xy8 zy%-0g7vDPo|6r0NI-uesQ2v$s-P#;*evSS4+TAYilQG%mg@7TN6>48Du&$@qn{JrgP&UACsFvVi_@Rx9-gbb8rlMpjX-aQnrw8b zJ>sX9cuoA=qTkc6EczYq{*8WY(Qn!MHT}k-U$XTJ47liZ-u;ZPzQ((s^6n?R`w{Pc zKtHtT6?)a8m+AW!eUEqFq3>GsBE4kMx9J6ozDeJ*=z02vMbFXG7Cppj=blIhKUr)scecFNV zqsjRFbU9stl%OjqfV?@s`Pg#!Ts(sUeKS8eMqSho@}t|S z3HxST%jX22vJJW!GMyr~kuDg*z-XaX4Wkhc=JCVHFviFSr>l!D7;O}kFa_;^B^l68 zSh*6~uv}_GZac8;gv+F-{)9u)lO`OJxm`(No!eI+bRo{wOn;p6#vi8q zBUF$>-8AeddA9lr4^h#R&XuF&-8z0|Wm#TXepx}8=MWViAuE?QGvi$1lEaTqvA>Z@ z=_WdZZlT3=tHgAna$(rlP$%t@>}x2Z+1E%Nxa4anigTP(4aKO7@};#K=L)2?2bPDf zf{jQzL&`P5gB%HYDaoQZ#<1G@xM$`Q?kshFT(1Q}dB$b~L&aVNCppmGV*MSR5 zSV-cZG|@xvaVo6>)?#A#FUY0{H?B$swz#mYFacUwA;66)E3E9L(Pf2YdA&3Shx}d| zi$g&#jl;pyOJ#BR)A74(qK6RL57StB1kK!MX&OCBmGn89M~@*yKaVEu3)D!DOG=k2 zB!Z?$VIMjW#NXk(dmt(RchmQRB zB8%&>-GFUBwi~hCgiX-RsE4_-rL=W)OfjK$gw7B&qmRZD9icOG=rBzcnijGnleTn?k=Zc;whUpYpflbTGO_z$%TY=(07APiVMsW-%o&t)m0>!a3D7bkr zD7f~=QM`|C%c#ZV%qX4(isyjhd7yYU4GM0!3<_?G6pGt%@{TODI6E_n7l7hLpm+%= zUPyz28%=|PTf?{(??(eRU|fvvLp{wH7cT?FD?sroP`sQ5#X-6=j^dy}@j;yY5Z#5S z!)g7euC!Zr)XYYL-X=Fko;UCQ7>J0ggURC zDReiK$-z^jWX;Nr*DTY}6y?YU`)*(ocp*CPkL!Swt8PD>$*rJBf%Dh!_#5E-EpYx0 zIDap3s%Ef1P6yq9&EP#*MAMYa<#-%Q{0ZgwXP`QsrW{!_6HTm3JeodCAJNftGfI*5 zsZMT;lk~}Zf~IcGMPW|srSgr3se)S^cQ@iM(CV+y>Tl5M?=GFHO^Z`)UKf)xy)G2e zj{^S3%0)St?@_i;>y|O**qv@IDdINv$g7Ake1nS5e5}bNF`!zV_kKfK8&+HGK z&J4}3D1bi?{1wtWV8?sJ{r%l*{Oy9A+#9GoOf$W`RJo>KyFY6n$FgRLVfd3E!|6;> zLX$-)&4eBARaa`Vg*1hFWP2By7a?oWd8 zi9x`q&J1G$V4MXQ69HoqV4Rgkjbs=Pq=S*7Q08QYF$FND0>(7JCWHml%nyhytM7gn;r9!l7ZDNSdMBijyW*qZ@V*yPN z3+ZgJh$>-ojH*_3mT4_!$u=MJ6*Lvy&@NOB-Oo*I$v#D&1|)tX-H4Wq-$+#&+`2?? zl{04c@#r&s)m1g(!)Cbi zRPF}u90PZbh6~>qYjL->h$Zk`9|a&s=CfjV3WA?8XU zilh*e3kMY93BXZed>LXqi9x&)Wmz9MvgioN1c(QPRqef;V}rqkv(4u&e}V0l-SjXY8+kqwCqKrCRXi(+#QQn1n&&2wxSkVhc!qLqH|^oXva&*X zWd|o#loiRuWt>2+7xB@_btNa9Tx&StY}j4A3wO`dfe3eBfulASY!}-prOR%B$JdMY)S@U6eN45M7Gzh`xbOI-)ml!V!G|Cmhi$IN^wXCMO)x zOE`gCQ;UD2OZ*-qevc8q$B5r!#P2cU_ZabejQBl9{2n8Ij}gBoS^SR=ReXGv)#A_7 z;&(ICxcIknQi^{aTUz`swzc>{wzc>tGvfETMDI4DcN@{Wjp(SOh;AO=b{o;Vjp*G* z^ll@1w-LSDh~Awn`dvd69pA&X=o4_{4$=W`G2)_M!$~Q6j4dsC8{1m+OWD?I>G+-JnxXT;oR#N21Z+-Jnx zXT;oR#M~z(R3E2glYF(75dE@DO|p^?OE#2zXx@3^0|Qik$;IVs=A@Kw8(Uhwb!=<- zma?toTfjEto5e>*zR8?$qk6WrM)TR$8db0jjVANa z(P$JW9F0=Ta)p#djp1!0i*01F$$8(~Mi$%1VjEd(DMmrO-Zg14Fx*Qgh7tlReY6nA zaOA0%E!iD_m3>43!2$rNK~XFjN|nsnlnpf<dZIe$dNq`icEW&e0+c(ObMh6YWkB)m~pa3;b9t=D9jk`kG~0-*un~0?Q^a6 zIULSbo^fv)Pp`N<4aY*ZJJ}J|UM3WQ758+|c*25R?WsX~DuJhEy|f<8*7wqeq{6@| zm3SbR$i|CZDG}A+9ZY!8u8Ib$f_47q>imn4KgZMBkMN} zFxESaHN{vJ#+qR)ECtX$DvdSESXIWVHr8BY%{SHpV=Xe)Vq?`BtIk+UjJ4EQ4PyBJ E0ammM=l}o! literal 25510 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 Wm9eUgwb)oojdiZE&NEh>$o)UY51F(8 diff --git a/server/target/classes/self/cases/teams/teaa/Member.class b/server/target/classes/self/cases/teams/teaa/Member.class new file mode 100644 index 0000000000000000000000000000000000000000..8c30bbdd3df49944e0170065fb0acdcb87554431 GIT binary patch literal 2212 zcmcJP+in|G6o&t8&nb@MIBt4y8(Nnh;!NGTg#ay0(nFdaAT5znRYKxs5)a8#w#Tw3 zxk0=Omt2B`Qwbyc3nzhzm``~Z?Ywi5?_wRoKSjN`{%wu^9XYiSr z&&7Np=DwH*V!pKTumA_k4pzjkidl2;$iZU=PaHgTur9f0Ha2WLS8zIhXUFfqYAIAU z-+PB%v+Z^Fn%hx7=tTz$vzx&f^R2hjW~QE{-7E8UPoK6`C4m370R#uXg_Rid3~x8`F-x0-t(h)UbLI9FP*%Xg3U#5 zw1D&?Zyb|*jZ{4U#hpjFuOf_n{%Osv{)FwJjGDT)a_mW|$Q9JH9Ir1KE zC@lO}9a+X>$ZvMu`@3w_d|kA+yk5`mvW~a2igTi}qr0&&7V7IK3qPJljZbo(Z`VRj zN5X9ANT^L63Acr7jH?#6gBJxmg+qQ9`Ca0taGgKO2gkTcFF#?rzajSvgB+Pe zD@k6^T*Y|7h)al1Gy;#Seu4$C#1_@)O%p(I5T+=i3jMsuYeeEsuq+{M`|Xm6sMgu*A}%i+_109r0%cK`qY literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/Participant.class b/server/target/classes/self/cases/teams/teaa/Participant.class new file mode 100644 index 0000000000000000000000000000000000000000..5af84ec71c74d616f1f61a707a4d59f3400470f6 GIT binary patch literal 1941 zcmb`HTTc^F5Xb+g-Q8|Wfm*o=O2rGM6xIt~xu~EfBo&Pi5)*w`+7%YtZPPA1Nc2Gy zA2iWKP5c^~SWGnW1NfngGiQ6VEb+yMotd3I=j?C(GrPZjfBy+!8aE?|!wBOL&agSl z<{X>zY^FoF5J3orj*ILsvAL|{ijJ!~W^~MQVlIUF5UvSymdvtiXYG>dxJx;KcxKDo zF^#*N&1Qf?CSOTh5FzviRM`^R@Sj*dmb*n6(l`XSUbSRj$9owB3c$D0K z$p6ZWuMy5-F-JJv8M{ugYOd!g6VDX0W`4~q+k9V3D(k$ai%4Mlks8Wx5eYD^jbXt4M zlT)X~wXlod)hccmJ^L#WrWN;Vf`{p0J=Wc#*Dis`N^!fKwQk!iNqA*-YjcWw8pR;4 zM{yWEQS`FuW7E%O06hZz?Tug9w(~je@K8(nyQQXHOS!qRC~jbZ%_7y5PVk`2jnQk< z2{|krcc&9A1H+j}I^his?@wb?;P^kALyc$x-d*3avaUcd$y#b=sbo3Smq|ad_jRgP z7j=6$xwyZP^~Xri*A%BOPDOxKqbR__Nl)5IPx47m3X<=DAd!#Ix*@vzNM0kKNPUAy zO;iy`rKvdxp{A~cpP*c2xsvrnmnU3o&Ex2hq8 zCYvKo0ZiP81`~@dko09z+nHYZGL8E)sqIX! ziRsM&Ogs_|CT_k!%9lxNXL{?)G~v(GGT2`4-V@V@1DJR?8%*9X(vN{sJdE$C)jW*W z4}>0kgB}m>A;N=6F7|K_9r37_2sRR(UP5Uky1aziNOXG%t)7TIql5MkYp?lJOU+he K*e3}mfT=%}YDcdC literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/PaymentInfo.class b/server/target/classes/self/cases/teams/teaa/PaymentInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..cf5105b4c16acea24937321382c44efd26235260 GIT binary patch literal 2004 zcmah}?QR=Y5IxuSu0P^Bj?*-Rmd0rc{)k%_QfQ%xp^a$?GEga1B_w|I#@?hG`Aha1 z2_as9-@FGP;Zy>N2jHO)XYQ_@#NG%+ni-#+nLTr6Hvjzl=idPCw)Js-M;pdY~AUNx}Jh!^+Hfx*Pf$b4?XRTh75MxuItql z8pZjR^GJOjnny}66=Hk67T>ejaJ$aeqt2l-c%cv5L~@N@Q@3C0fh)fQFy_5>NoKP# zblOMNrXD)Os^{pAvAX&^7`%Jbvl9V|k;tQQIFED%a0cmp(h%XH$al-5Q zi&RJ*^hSfG^VAi+k_RtNj_%5~)3}b$)3}P2G_HwR#an5tN%S^W6jopNux10f= zOthhZKL&TO-`Xvt@f6R*e4(&Z$zM31-2&fT$@?d?D@prYrzA~>k(5*=@1K%%yNBBf z8~?jQZsLsUH-{%qlQ&99sh_R;eW%M6-U-{n+){%Hc@#H_d-FR#|G0knW90coF7vCk z5D|G9MMPoaDYEg@*?3A#zW~K;++f~2{Phc>{7`{>`3+QgYm7*_GDfsq8Y5O-v&OK> zYxWrS@20~|+M6angBTW(L>3t=kwK2zT*f*%tTU$uTYB^Mz*WN}?I)1I1~G+q zLyM!c#n(fN-$Nmgtwt|H*dkfp(=Hddyje~Kaw=ZJNft5XBw{O6LUpocb=nH$bSGRV zYnD@$obFx1Nls$QNtUm0H`&}*ily0c Scg~IbDmXNS_sJxJ5B>wz3R3L= literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/STgeren.class b/server/target/classes/self/cases/teams/teaa/STgeren.class new file mode 100644 index 0000000000000000000000000000000000000000..7d3aacc1c2117a30f00dc3c8c2518a5d3cef0240 GIT binary patch literal 4053 zcmb_fYj9L&8GcT(**zqO01G69Ye1z*2qc6M$VKFiND`1x5NfT5>>)XHZ|rV>P%R*} zC6pqUa+4qlLWA6)uz`k)Rt0Gl|2X3>XZ*pg@T>ovvBR`J?>W1B7czq`(}6LcE@i$?&Fge)Wbc%U zHWlqEPOJE}iZd$C%JK&)I;1}*&2L;dufXLqeCv%+Si#WhjrwN2s3~H4i>l3Vq*B44 zIcSBLV9yY>75kvP`tzJ}P$*Y{h>&`0EZ${=QNX^S%t-!G$ z;Gv)))u!L5Z4#}k^z~k@xT^#8x_7l6GG(4vbVM3WqMGm(YU)-s7$L(iAa#$&R;plP z-d7w?pvqrIRJO$m#((`;1%vA%dj0D)dN2WLXpIqR40u-PA>C(0EYdWO;pH%?e`KD` zl2`XP6xBsSroW+5bgH(_r5-WXqPh181)28#s=!La7uamj?+Uc0phxc!T|R*5{-XM? zi2Ae*rs1V-)o*NBt$UludAG)wEiEow;MxY$pP+JnvtTV5Kxh8fv*yA@1;adMIOx@z z=Xt$0GjycGr<;BSS$VGvfKj4D4>j=E@By|ZN_D?Zhbu_03p9o5jm4$}j+TgmX+o)n zMOaJ$JyAR_6w;d|lr_x5d<~ayS;LR;nhRGnT*WmPu50)ZHxy*Q=#%+Prq?6-M#OjT zj~zG`@9c{0X_N7uQx&-yZXzm8r-oa&?80pgAE8UZB>VKzg|W`-u}jBdt>-?wvp0UU zE&kzQTY}uZgKOP#W4qg)9Y2$lOZ4&9^YNB@vE5gbk}7iP8x3~_`#szzQGQ0BhTn>m zG=r>q6=Vb(1AfDAB^BKq41~>y86e&19wVrSB0j@U5`Kp+4IfMMduje4%^wAJra(Nr zJ9g=4{PN9;Tm_?T?N9Ev$9GBVW;|5ln2nsS) zQ(Qcq2_L)D_T*LzIp5aEybSC9xyDxA7xWs_>H|JCCcOv&)Nl_{puV*sV(} zD^J_^#^1mHY}Yvntj8LvQDciN;i>q^eX$cKSTwz6*nB};arx|7Wiv}>l!)$sbsT$g z`vVbo<8*9KyCqJSI31M)^BR+~w*(D8z*-F}QAhDTak+f`Mx#E`XUQ%wEGa!9zm#Q3 zj|3RF84X6nPCm)x5qbIj(~gesxhZ+VO3h-bpiddI6asevY58)*wS z14S!X^CASs7XoXuQx66WKP65bu#)sxXPc79I$rE^K8c{81wH50NFd3ET>$z*VFd{a zFfUW0k8$>;N_jmwLsso2bCE!GV2cr2z*ifSsZkF%+HWqt#+LG&v8hS-vQ)XkMx>Ux z$TJ)*vNJK0!xfT@_8X4UWT87B2XnTtJ0*G3>~>gI(nZ!AIO#}o;Ua=sW2<;4PpY}Y zZ%z8TG{F&1o8d*iV5Ip4Lz5iR(7*t`=tphk|7#_GH74?FV=h0q6nACZt#+&PQ4EGKb8IInS}?lhb6L%lT+)p5>JJP|n9#bEm7!InsHa zGKGKnIrvQEQ^02ipDI3!avW2m7~6sQ)?i!*%B{h8Q6*awI`EP;$nC)RUV$^w_D#0~ zdTmYOR*vI;^jj^46HbtXZeq-b_z4l=i@b?%?=AQgTk#m%@Hf1Hzw`gbKkz30i5-Yz zC!S%Kl7hDs2i{i3;~gazElN4|Sbi==nz$$FXO3(?%i216oY}+CD;&|0N-0BoIZ2Z6 z9fQm-P)*;v@TxL|KW&mKzyDzL7%LnGr&1Ou1-vie&5y1`ct4^vp<0(@yp3-ts9|V- zQ^9eRaqumLA2yR~No^X#pN{U$>Pw`KJA>_9oO-q6%ZI&)?HlyURVuMF)eido7>5JM z!$FpyLo7gtS$2*P*3s^uAIE=BlB1G+dXg57Y+A%{4XMwO?!u2}e@=7y1U}#Cv~vj$ zo#mE@SYlh4C#Gc*r#qkJr2{20Ea0%4fNItxi-2qnYyxU{h`BPQTR8J#GNV&)oqz05t!J=6IJ%;B&sitntUBdf%U6svAdrY_(dR9rwVE@C#W5bKniI@>xTv7P65aS;NOmJp literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/STjf.class b/server/target/classes/self/cases/teams/teaa/STjf.class new file mode 100644 index 0000000000000000000000000000000000000000..46ada1fe0b7ebb08aef9b6d867ff87502ab0b427 GIT binary patch literal 4608 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�Yr8NhfLS%RI4l-0r&JitXz9-k>2QmdeloI?{s_`y0{zPWur*ad&W30k^(uQA%55JN}a8b4+Bmwjq$eRNz z$Bo7|2ADXNmm?Tt&BUN;dxU7@&SvdV){Kj3!! zF}gAHFv;K%#SnTVJgk}F>13-N$(NC4!;>>Uq&s1fQJ#vrKeANpc#vI6#Uj%~UJ-X= z2<>!~lL7;%P}K@nqXB3jZyEu}VZ{tUBL{ImPYZk;QY0Pk#|O0HL*(Ex#^EE(CTQm2 zV=N?a6lp7FoXrF)K2#LFDC|ck>$E=SGO}p?hZsX+c|YZt0faui3za6Jrwk#dPZ>z)GicQygg(=>d!W$;rF*|s&F2ka z0xwE=bMYR^H6&J(xT_4}E~8vy?4?NtapzN>WyskEac5GVZOGOr57$zU`cpX0<8Kmw z>JXV>aOrgc%rq)<0w^;op9x^HQJEX)w_`tnJ!={E!Ps-qlq^IRqr}9>IM^kh-x?<1 zMVW|~$%{v25{^p&PD>$r$dO-_sd$S#`L2}W=Y-G)Qh~qnv(0d+G*UMmDJtTT)Ujr! zPPIjNFgwbFL-9P*Y4Tt$>{l?~hCN{(w2xIB7|(txzcKdXH<9p0i)X)-LD;WOvETH8 z>^F}AW6vP$*FR)ev!BdD9_hb8t^+^tV4ln+W7Ohysf(gmv7g#>SF@iPlukO7ko`;~ z^EEXA`_aP~`^}HB-vX2U%m55zzq-NMPZlxl*CR)6z&Kfq+0sB?8tKc@D2*ugQ+|9J z`|+hZoRmM&XF>rkWAiO3;=Z%hSc=a>%e7oUhT`jmv^e>&g6pE^%$DoJEk>KAnU@NV zi(Gr_%~ajMhhuRV=M8*DuEAW)QLz4AA>7cJ8O literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/STjr.class b/server/target/classes/self/cases/teams/teaa/STjr.class new file mode 100644 index 0000000000000000000000000000000000000000..f01273d6c481e8c826c772a5a8a0a124640f08f8 GIT binary patch literal 7079 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 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/SheYuan$Member.class b/server/target/classes/self/cases/teams/teaa/SheYuan$Member.class new file mode 100644 index 0000000000000000000000000000000000000000..7c8ccfe25911783820525177a1539aa15bcae7c1 GIT binary patch literal 4091 zcma)8S$h*z7=9;hl1VzWrK}Z!0tHGa#1)mL3S}`87AcFYGHr%-FqzcJq<{#D;=YT! zUUTJzK94CX&*Km9$_sywkMDOTnM|iCaC4S#&ikHkdC!;p{okK|0eAvGrO^*Ng*CV+ z!z(frWhlwu$WWGHQifNPaMMWp=PP3I(x_sp1D9}FhATj(2ptE4%k}yszT}S$>$r$4PvmK`&XQQOnI0G-x>u?T%TpH1y;z znp0-BXgcHB5zn=q@ogI7R>`!BgiM;1%B8YPNJqi+tV0)e*{(OCVUdsW?2?tum&eTF zZhj>&X%-5uRjKg&<- zHb3zT2R6)(h^69zJ%0HGe>hM;CwEfjKmkO>NfPoD%WMtTgK?9p)wONKN9?`Hsbsklwovv$Mkr!{^F+6VI zQ4A#Use#Y%c@ke3_!74ae1%&YmPFgtuBu%uNRQzIkY;nWRBv-T41A4mWcZdf9PD%W zE_SS!{da6DgMF&U?O4wk2KyR)PPUzceTAmX70dU0OM`t>hV(W$(?v*A(qiHFMvqgF zA2iGx>F=kPNVycS$*4A0v}`hfe!fY?FtY@HNkcIXTHrtzlF6WWB3~ukuax!cZ{}&-7&W z=iz&yXWZ8CE9B~Ix>NU}TYk@UV-2!%mKpge+&dFrN7hv7fn!L83`0V@7#t_y_7OZl6{=Tw=O;bW7+TM`~zJvoQOJkick7<$jPq2$u1n@qYj)rrkp%} zFaGWp{O8F3@`Lm9H;h+GZvUb8Qrg>hF`sRzr)R-57Rqy;#-g6Z{<@7*_nB!d=~?O< z+5*28a3ZYWn;Pzwzw!-6>}NSwMqTXhb$(_yyLitWt(*)Gq) zb~em*RU^~wrfk1WV6`Of~->%QWHX8PARI!cSpY6sRY=tmeL9to5 oP*<$DEsBk4Q8nCDbp9_+tX|X@#^o#~u!D1&$Tj$gzm=)~0hM#^tpET3 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/SheYuan.class b/server/target/classes/self/cases/teams/teaa/SheYuan.class new file mode 100644 index 0000000000000000000000000000000000000000..66acf1d6ca430c8e1601ca7d64aea7b7254af2a5 GIT binary patch literal 22744 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 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/SheZhangManage.class b/server/target/classes/self/cases/teams/teaa/SheZhangManage.class new file mode 100644 index 0000000000000000000000000000000000000000..6f038b065b89a8447f24910b6057d5266d0d8b75 GIT binary patch literal 22968 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 R71#P!EcD({nx^}({1@><4c`C& literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/utils/IDUtil.class b/server/target/classes/self/cases/teams/utils/IDUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..c4ec82488fde10e1a03b7e770c3fa1502aa54f54 GIT binary patch literal 460 zcmaJ-%T5A85Uk;~u&jWH?-=3@I5-z?8V^EDNH%&vxDU&SgZoHkcTM~&y{Pfv2l!FO z9v1ZG9J;%ztEW2s_5JY);1q{8irBQ##Fhyy3)>cU7)s|VRLKQHzSEsB6#CIjGSpoa z%Ih?kN_{J)J~2%<@`OJTS{b||3(38T8QN|v{X6c7SjIe&B8YjKC_m=I!I<(H{TGM_ zIUHO*^;4~7m@u?DU3VcK1@}cb=c7cca85#d6s6jeSIT%+v-uOFb5Me1Vb{SP_8lCc z#&GnnEkona;AXmz9@*BGl-Z7t$HM^`Y7x$&AOp?yQojOPshmXFdN@Xbj%Z#EbU9cQ z%Y-;(M!DE~1AAGvD-=r^37cwXRadD3D%e1c7&F{nb^z-gxmV<$iDD#Jj~kCVp&S}N DdoN&` literal 0 HcmV?d00001