From 6b0ef53762d275319bf25dfa26e357a15df2489e Mon Sep 17 00:00:00 2001 From: YZY <1104325451@qq.com> Date: Wed, 9 Apr 2025 22:55:20 +0800 Subject: [PATCH] xiu6 --- server/.idea/workspace.xml | 2 +- .../main/java/self/cases/teams/teaa/STcx.java | 242 +++++++++++++++++ .../main/java/self/cases/teams/teaa/SThd.java | 247 ++++++++++++++++++ .../main/java/self/cases/teams/teaa/STtz.java | 215 +++++++++++++++ .../java/self/cases/teams/teaa/STxtlx.java | 206 +++++++++++++++ .../java/self/cases/teams/teaa/STxtxx.java | 220 ++++++++++++++++ .../self/cases/teams/teaa/ActivityInfo.class | Bin 0 -> 2783 bytes .../self/cases/teams/teaa/ClubInfo.class | Bin 0 -> 2282 bytes .../self/cases/teams/teaa/ClubType.class | Bin 0 -> 2012 bytes .../self/cases/teams/teaa/MemberInfo.class | Bin 0 -> 2799 bytes .../cases/teams/teaa/NotificationInfo.class | Bin 0 -> 2520 bytes .../classes/self/cases/teams/teaa/STcy.class | Bin 0 -> 5396 bytes .../classes/self/cases/teams/teaa/SThd.class | Bin 0 -> 5731 bytes .../classes/self/cases/teams/teaa/STtz.class | Bin 0 -> 4814 bytes .../self/cases/teams/teaa/STxtgl.class | Bin 0 -> 6138 bytes .../self/cases/teams/teaa/STxtlx.class | Bin 0 -> 4827 bytes .../self/cases/teams/teaa/STxtxx.class | Bin 0 -> 4953 bytes .../self/cases/teams/teaa/UserInfo.class | Bin 0 -> 2489 bytes 18 files changed, 1131 insertions(+), 1 deletion(-) create mode 100644 server/src/main/java/self/cases/teams/teaa/STcx.java create mode 100644 server/src/main/java/self/cases/teams/teaa/SThd.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STtz.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STxtlx.java create mode 100644 server/src/main/java/self/cases/teams/teaa/STxtxx.java create mode 100644 server/target/classes/self/cases/teams/teaa/ActivityInfo.class create mode 100644 server/target/classes/self/cases/teams/teaa/ClubInfo.class create mode 100644 server/target/classes/self/cases/teams/teaa/ClubType.class create mode 100644 server/target/classes/self/cases/teams/teaa/MemberInfo.class create mode 100644 server/target/classes/self/cases/teams/teaa/NotificationInfo.class create mode 100644 server/target/classes/self/cases/teams/teaa/STcy.class create mode 100644 server/target/classes/self/cases/teams/teaa/SThd.class create mode 100644 server/target/classes/self/cases/teams/teaa/STtz.class create mode 100644 server/target/classes/self/cases/teams/teaa/STxtgl.class create mode 100644 server/target/classes/self/cases/teams/teaa/STxtlx.class create mode 100644 server/target/classes/self/cases/teams/teaa/STxtxx.class create mode 100644 server/target/classes/self/cases/teams/teaa/UserInfo.class diff --git a/server/.idea/workspace.xml b/server/.idea/workspace.xml index b18400a3..1e053334 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/teaa/STcx.java b/server/src/main/java/self/cases/teams/teaa/STcx.java new file mode 100644 index 00000000..086abafe --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STcx.java @@ -0,0 +1,242 @@ +package self.cases.teams.teaa; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +// 定义缴费记录类 +class PaymentRecord { + private String recordId; + private String studentId; + private String clubId; + private double amount; + private LocalDate paymentDate; + private boolean isPaid; + + public PaymentRecord(String recordId, String studentId, String clubId, double amount, LocalDate paymentDate, boolean isPaid) { + this.recordId = recordId; + this.studentId = studentId; + this.clubId = clubId; + this.amount = amount; + this.paymentDate = paymentDate; + this.isPaid = isPaid; + } + + public String getRecordId() { + return recordId; + } + + public void setRecordId(String recordId) { + this.recordId = recordId; + } + + public String getStudentId() { + return studentId; + } + + public void setStudentId(String studentId) { + this.studentId = studentId; + } + + public String getClubId() { + return clubId; + } + + public void setClubId(String clubId) { + this.clubId = clubId; + } + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + public LocalDate getPaymentDate() { + return paymentDate; + } + + public void setPaymentDate(LocalDate paymentDate) { + this.paymentDate = paymentDate; + } + + public boolean isPaid() { + return isPaid; + } + + public void setPaid(boolean paid) { + isPaid = paid; + } + + @Override + public String toString() { + return "PaymentRecord{" + + "recordId='" + recordId + '\\' + + ", studentId='" + studentId + '\\' + + ", clubId='" + clubId + '\\' + + ", amount=" + amount + + ", paymentDate=" + paymentDate + + ", isPaid=" + isPaid + + '}'; + } +} + +// 社团管理系统查询缴费记录类 +public class STcx { + // 模拟数据库 + private List payments = new ArrayList<>(); + + + + // 查询缴费记录 + private PaymentRecord findPaymentById(String recordId) { + for (PaymentRecord payment : payments) { + if (payment.getRecordId().equals(recordId)) { + System.out.println("缴费记录查找成功: " + payment); + return payment; + } + } + System.out.println("未找到缴费ID: " + recordId); + return null; + } + + private List findPaymentsByStudentId(String studentId) { + List foundPayments = new ArrayList<>(); + for (PaymentRecord payment : payments) { + if (payment.getStudentId().equals(studentId)) { + foundPayments.add(payment); + } + } + if (!foundPayments.isEmpty()) { + System.out.println("找到缴费记录: "); + for (PaymentRecord payment : foundPayments) { + System.out.println(payment); + } + return foundPayments; + } else { + System.out.println("未找到学生ID: " + studentId); + return new ArrayList<>(); + } + } + + private List findPaymentsByClubId(String clubId) { + List foundPayments = new ArrayList<>(); + for (PaymentRecord payment : payments) { + if (payment.getClubId().equals(clubId)) { + foundPayments.add(payment); + } + } + if (!foundPayments.isEmpty()) { + System.out.println("找到缴费记录: "); + for (PaymentRecord payment : foundPayments) { + System.out.println(payment); + } + return foundPayments; + } else { + System.out.println("未找到社团ID: " + clubId); + return new ArrayList<>(); + } + } + + // 删除缴费记录 + public boolean deletePayment(String recordId) { + PaymentRecord paymentToRemove = findPaymentById(recordId); + if (paymentToRemove != null) { + payments.remove(paymentToRemove); + System.out.println("缴费记录删除成功: " + paymentToRemove); + return true; + } else { + System.out.println("未找到缴费ID: " + recordId); + return false; + } + } + + // 更新缴费记录 + public boolean updatePayment(String recordId, String field, Object newValue) { + PaymentRecord paymentToUpdate = findPaymentById(recordId); + if (paymentToUpdate != null) { + switch (field.toLowerCase()) { + case "amount": + try { + paymentToUpdate.setAmount(Double.parseDouble(newValue.toString())); + } catch (NumberFormatException e) { + System.out.println("无效金额: " + newValue); + return false; + } + break; + case "ispaid": + try { + paymentToUpdate.setPaid(Boolean.parseBoolean(newValue.toString())); + } catch (Exception e) { + System.out.println("无效支付状态: " + newValue); + return false; + } + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("缴费记录更新成功: " + paymentToUpdate); + return true; + } else { + System.out.println("未找到缴费ID: " + recordId); + return false; + } + } + + // 显示所有缴费记录 + public void displayAllPayments() { + if (payments.isEmpty()) { + System.out.println("当前没有缴费记录"); + } else { + System.out.println("所有缴费记录:"); + for (PaymentRecord payment : payments) { + System.out.println(payment); + } + } + } + + // 处理新缴费记录添加 + public boolean addNewPayment(String studentId, String clubId, double amount) { + return addNewPayment(studentId, clubId, amount); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "PAY" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STcx manager = new STcx(); + + // 添加新的缴费记录 + manager.addNewPayment("STD1", "CLB1", 50.0); + manager.addNewPayment("STD2", "CLB2", 75.0); + manager.addNewPayment("STD3", "CLB3", 100.0); + manager.addNewPayment("STD4", "CLB4", 125.0); + + // 显示所有缴费记录 + manager.displayAllPayments(); + + // 查询缴费记录 + manager.findPaymentsByStudentId("STD2"); + manager.findPaymentsByClubId("CLB3"); + + // 更新缴费记录 + manager.updatePayment("PAY1", "amount", 60.0); + manager.updatePayment("PAY2", "ispaid", true); + + // 再次显示所有缴费记录 + manager.displayAllPayments(); + + // 删除缴费记录 + manager.deletePayment("PAY2"); + + // 再次显示所有缴费记录 + manager.displayAllPayments(); + } +} diff --git a/server/src/main/java/self/cases/teams/teaa/SThd.java b/server/src/main/java/self/cases/teams/teaa/SThd.java new file mode 100644 index 00000000..bd06b143 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/SThd.java @@ -0,0 +1,247 @@ +package self.cases.teams.teaa; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +// 定义社团活动信息类 +class ActivityInfo { + private String activityId; + private String clubId; + private String title; + private String description; + private LocalDate startDate; + private LocalDate endDate; + private boolean isApproved; + + public ActivityInfo(String activityId, String clubId, String title, String description, LocalDate startDate, LocalDate endDate, boolean isApproved) { + this.activityId = activityId; + this.clubId = clubId; + this.title = title; + this.description = description; + this.startDate = startDate; + this.endDate = endDate; + this.isApproved = isApproved; + } + + public String getActivityId() { + return activityId; + } + + public void setActivityId(String activityId) { + this.activityId = activityId; + } + + public String getClubId() { + return clubId; + } + + public void setClubId(String clubId) { + this.clubId = clubId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public LocalDate getStartDate() { + return startDate; + } + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + + public LocalDate getEndDate() { + return endDate; + } + + public void setEndDate(LocalDate endDate) { + this.endDate = endDate; + } + + public boolean isApproved() { + return isApproved; + } + + public void setApproved(boolean approved) { + isApproved = approved; + } + + @Override + public String toString() { + return "ActivityInfo{" + + "activityId='" + activityId + '\\' + + ", clubId='" + clubId + '\\' + + ", title='" + title + '\\' + + ", description='" + description + '\\' + + ", startDate=" + startDate + + ", endDate=" + endDate + + ", isApproved=" + isApproved + + '}'; + } +} + +// 社团管理系统社团活动信息管理类 +public class SThd { + // 模拟数据库 + private List activities = new ArrayList<>(); + + + // 查询社团活动信息 + private ActivityInfo findActivityById(String activityId) { + for (ActivityInfo activity : activities) { + if (activity.getActivityId().equals(activityId)) { + System.out.println("社团活动查找成功: " + activity); + return activity; + } + } + System.out.println("未找到社团活动ID: " + activityId); + return null; + } + + private ActivityInfo findActivityByTitle(String title) { + for (ActivityInfo activity : activities) { + if (activity.getTitle().equals(title)) { + System.out.println("社团活动查找成功: " + activity); + return activity; + } + } + System.out.println("未找到社团活动标题: " + title); + return null; + } + + // 删除社团活动信息 + public boolean deleteActivity(String activityId) { + ActivityInfo 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, Object newValue) { + ActivityInfo activityToUpdate = findActivityById(activityId); + if (activityToUpdate != null) { + switch (field.toLowerCase()) { + case "title": + activityToUpdate.setTitle(newValue.toString()); + break; + case "description": + activityToUpdate.setDescription(newValue.toString()); + break; + case "startdate": + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate startDate = LocalDate.parse(newValue.toString(), formatter); + activityToUpdate.setStartDate(startDate); + } catch (Exception e) { + System.out.println("无效的开始日期: " + newValue); + return false; + } + break; + case "enddate": + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate endDate = LocalDate.parse(newValue.toString(), formatter); + activityToUpdate.setEndDate(endDate); + } catch (Exception e) { + System.out.println("无效的结束日期: " + newValue); + return false; + } + break; + case "approved": + try { + activityToUpdate.setApproved(Boolean.parseBoolean(newValue.toString())); + } catch (Exception 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 void displayAllActivities() { + if (activities.isEmpty()) { + System.out.println("当前没有社团活动记录"); + } else { + System.out.println("所有社团活动信息:"); + for (ActivityInfo activity : activities) { + System.out.println(activity); + } + } + } + + // 处理新社团活动添加 + public boolean addNewActivity(String clubId, String title, String description, String startDateStr, String endDateStr) { + return addNewActivity(clubId, title, description, startDateStr, endDateStr); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "ACT" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + SThd manager = new SThd(); + + // 添加新的社团活动信息 + manager.addNewActivity("CLB1", "Sports Event", "Annual sports event", "2023-11-01", "2023-11-05"); + manager.addNewActivity("CLB2", "Music Festival", "Annual music festival", "2023-11-10", "2023-11-15"); + manager.addNewActivity("CLB3", "Art Exhibition", "Annual art exhibition", "2023-11-20", "2023-11-25"); + + // 显示所有社团活动信息 + manager.displayAllActivities(); + + // 处理新社团活动添加 + manager.addNewActivity("CLB4", "Science Fair", "Annual science fair", "2023-11-30", "2023-12-05"); + + // 再次显示所有社团活动信息 + manager.displayAllActivities(); + + // 更新社团活动信息 + manager.updateActivity("ACT1", "title", "Sports Event Updated"); + manager.updateActivity("ACT2", "startdate", "2023-11-11"); + manager.updateActivity("ACT3", "enddate", "2023-11-26"); + manager.updateActivity("ACT4", "approved", true); + + // 再次显示所有社团活动信息 + manager.displayAllActivities(); + + // 删除社团活动信息 + manager.deleteActivity("ACT2"); + + // 再次显示所有社团活动信息 + manager.displayAllActivities(); + } +} + diff --git a/server/src/main/java/self/cases/teams/teaa/STtz.java b/server/src/main/java/self/cases/teams/teaa/STtz.java new file mode 100644 index 00000000..8820030b --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STtz.java @@ -0,0 +1,215 @@ +package self.cases.teams.teaa; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +// 定义通知信息类 +class NotificationInfo { + private String notificationId; + private String clubId; + private String title; + private String content; + private LocalDateTime createdAt; + private boolean isRead; + + public NotificationInfo(String notificationId, String clubId, String title, String content, LocalDateTime createdAt, boolean isRead) { + this.notificationId = notificationId; + this.clubId = clubId; + this.title = title; + this.content = content; + this.createdAt = createdAt; + this.isRead = isRead; + } + + public String getNotificationId() { + return notificationId; + } + + public void setNotificationId(String notificationId) { + this.notificationId = notificationId; + } + + public String getClubId() { + return clubId; + } + + public void setClubId(String clubId) { + this.clubId = clubId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public LocalDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(LocalDateTime createdAt) { + this.createdAt = createdAt; + } + + public boolean isRead() { + return isRead; + } + + public void setRead(boolean read) { + isRead = read; + } + + @Override + public String toString() { + return "NotificationInfo{" + + "notificationId='" + notificationId + '\\' + + ", clubId='" + clubId + '\\' + + ", title='" + title + '\\' + + ", content='" + content + '\\' + + ", createdAt=" + createdAt + + ", isRead=" + isRead + + '}'; + } +} + +// 社团管理系统通知信息管理类 +public class STtz { + // 模拟数据库 + private List notifications = new ArrayList<>(); + + // 查询通知信息 + private NotificationInfo findNotificationById(String notificationId) { + for (NotificationInfo notification : notifications) { + if (notification.getNotificationId().equals(notificationId)) { + System.out.println("通知信息查找成功: " + notification); + return notification; + } + } + System.out.println("未找到通知ID: " + notificationId); + return null; + } + + private NotificationInfo findNotificationByTitle(String title) { + for (NotificationInfo notification : notifications) { + if (notification.getTitle().equals(title)) { + System.out.println("通知信息查找成功: " + notification); + return notification; + } + } + System.out.println("未找到通知标题: " + title); + return null; + } + + // 删除通知信息 + public boolean deleteNotification(String notificationId) { + NotificationInfo notificationToRemove = findNotificationById(notificationId); + if (notificationToRemove != null) { + notifications.remove(notificationToRemove); + System.out.println("通知信息删除成功: " + notificationToRemove); + return true; + } else { + System.out.println("未找到通知ID: " + notificationId); + return false; + } + } + + // 更新通知信息 + public boolean updateNotification(String notificationId, String field, Object newValue) { + NotificationInfo notificationToUpdate = findNotificationById(notificationId); + if (notificationToUpdate != null) { + switch (field.toLowerCase()) { + case "title": + notificationToUpdate.setTitle(newValue.toString()); + break; + case "content": + notificationToUpdate.setContent(newValue.toString()); + break; + case "isread": + try { + notificationToUpdate.setRead(Boolean.parseBoolean(newValue.toString())); + } catch (Exception e) { + System.out.println("无效的阅读状态: " + newValue); + return false; + } + break; + default: + System.out.println("无效字段: " + field); + return false; + } + System.out.println("通知信息更新成功: " + notificationToUpdate); + return true; + } else { + System.out.println("未找到通知ID: " + notificationId); + return false; + } + } + + // 显示所有通知信息 + public void displayAllNotifications() { + if (notifications.isEmpty()) { + System.out.println("当前没有通知记录"); + } else { + System.out.println("所有通知信息:"); + for (NotificationInfo notification : notifications) { + System.out.println(notification); + } + } + } + + // 处理新通知添加 + public boolean addNewNotification(String clubId, String title, String content) { + return addNewNotification(clubId, title, content); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "NOT" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STtz manager = new STtz(); + + // 添加新的通知信息 + manager.addNewNotification("CLB1", "Meeting Reminder", "Please attend the meeting tomorrow at 3 PM."); + manager.addNewNotification("CLB2", "Event Update", "The event has been postponed to next week."); + manager.addNewNotification("CLB3", "Important Announcement", "A new policy will be implemented starting next month."); + + // 显示所有通知信息 + manager.displayAllNotifications(); + + // 处理新通知添加 + manager.addNewNotification("CLB4", "Volunteer Opportunity", "We need volunteers for the upcoming event."); + + // 再次显示所有通知信息 + manager.displayAllNotifications(); + + // 更新通知信息 + manager.updateNotification("NOT1", "title", "Updated Meeting Reminder"); + manager.updateNotification("NOT2", "content", "The event has been postponed to next Friday."); + manager.updateNotification("NOT3", "isread", true); + manager.updateNotification("NOT4", "isread", false); + + // 再次显示所有通知信息 + manager.displayAllNotifications(); + + // 删除通知信息 + manager.deleteNotification("NOT2"); + + // 再次显示所有通知信息 + manager.displayAllNotifications(); + } +} + diff --git a/server/src/main/java/self/cases/teams/teaa/STxtlx.java b/server/src/main/java/self/cases/teams/teaa/STxtlx.java new file mode 100644 index 00000000..aff7f981 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STxtlx.java @@ -0,0 +1,206 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义社团类型信息类 +class ClubType { + private String typeId; + private String typeName; + private String description; + private int capacity; + private boolean isActive; + + public ClubType(String typeId, String typeName, String description, int capacity, boolean isActive) { + this.typeId = typeId; + this.typeName = typeName; + this.description = description; + this.capacity = capacity; + this.isActive = isActive; + } + + public String getTypeId() { + return typeId; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public int getCapacity() { + return capacity; + } + + public void setCapacity(int capacity) { + this.capacity = capacity; + } + + public boolean isActive() { + return isActive; + } + + public void setActive(boolean active) { + isActive = active; + } + + @Override + public String toString() { + return "ClubType{" + + "typeId='" + typeId + '\\' + + ", typeName='" + typeName + '\\' + + ", description='" + description + '\\' + + ", capacity=" + capacity + + ", isActive=" + isActive + + '}'; + } +} + +// 社团管理系统社团类型管理类 +public class STxtlx { + // 模拟数据库 + private List clubTypes = new ArrayList<>(); + + + // 查询社团类型 + private ClubType findClubTypeById(String typeId) { + for (ClubType clubType : clubTypes) { + if (clubType.getTypeId().equals(typeId)) { + System.out.println("社团类型查找成功: " + clubType); + return clubType; + } + } + System.out.println("未找到社团类型ID: " + typeId); + return null; + } + + private ClubType findClubTypeByName(String typeName) { + for (ClubType clubType : clubTypes) { + if (clubType.getTypeName().equals(typeName)) { + System.out.println("社团类型查找成功: " + clubType); + return clubType; + } + } + System.out.println("未找到社团类型名称: " + typeName); + return null; + } + + // 删除社团类型 + public boolean deleteClubType(String typeId) { + ClubType clubTypeToRemove = findClubTypeById(typeId); + if (clubTypeToRemove != null) { + clubTypes.remove(clubTypeToRemove); + System.out.println("社团类型删除成功: " + clubTypeToRemove); + return true; + } else { + System.out.println("未找到社团类型ID: " + typeId); + return false; + } + } + + // 更新社团类型信息 + public boolean updateClubType(String typeId, String field, Object newValue) { + ClubType clubTypeToUpdate = findClubTypeById(typeId); + if (clubTypeToUpdate != null) { + switch (field.toLowerCase()) { + case "typename": + clubTypeToUpdate.setTypeName(newValue.toString()); + break; + case "description": + clubTypeToUpdate.setDescription(newValue.toString()); + break; + case "capacity": + try { + clubTypeToUpdate.setCapacity(Integer.parseInt(newValue.toString())); + } catch (NumberFormatException e) { + System.out.println("无效的容量值: " + newValue); + return false; + } + break; + case "active": + try { + clubTypeToUpdate.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("社团类型信息更新成功: " + clubTypeToUpdate); + return true; + } else { + System.out.println("未找到社团类型ID: " + typeId); + return false; + } + } + + // 显示所有社团类型信息 + public void displayAllClubTypes() { + if (clubTypes.isEmpty()) { + System.out.println("当前没有社团类型记录"); + } else { + System.out.println("所有社团类型信息:"); + for (ClubType clubType : clubTypes) { + System.out.println(clubType); + } + } + } + + // 处理新社团类型添加 + public boolean addNewClubType(String typeName, String description, int capacity) { + return addNewClubType(typeName, description, capacity); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "CLT" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STxtlx manager = new STxtlx(); + + // 添加新的社团类型 + manager.addNewClubType("Sports", "Sports Club", 50); + manager.addNewClubType("Music", "Music Club", 30); + manager.addNewClubType("Art", "Art Club", 20); + + // 显示所有社团类型信息 + manager.displayAllClubTypes(); + + // 处理新社团类型添加 + manager.addNewClubType("Science", "Science Club", 40); + + // 再次显示所有社团类型信息 + manager.displayAllClubTypes(); + + // 更新社团类型信息 + manager.updateClubType("CLT1", "typename", "Sports Club Updated"); + manager.updateClubType("CLT2", "capacity", 35); + manager.updateClubType("CLT3", "active", false); + + // 再次显示所有社团类型信息 + manager.displayAllClubTypes(); + + // 删除社团类型 + manager.deleteClubType("CLT2"); + + // 再次显示所有社团类型信息 + manager.displayAllClubTypes(); + } +} + diff --git a/server/src/main/java/self/cases/teams/teaa/STxtxx.java b/server/src/main/java/self/cases/teams/teaa/STxtxx.java new file mode 100644 index 00000000..60bbe938 --- /dev/null +++ b/server/src/main/java/self/cases/teams/teaa/STxtxx.java @@ -0,0 +1,220 @@ +package self.cases.teams.teaa; + +import java.util.ArrayList; +import java.util.List; + +// 定义社团信息类 +class ClubInfo { + private String clubId; + private String clubName; + private String type; + private String president; + private int memberCount; + private boolean isActive; + + public ClubInfo(String clubId, String clubName, String type, String president, int memberCount, boolean isActive) { + this.clubId = clubId; + this.clubName = clubName; + this.type = type; + this.president = president; + this.memberCount = memberCount; + this.isActive = isActive; + } + + public String getClubId() { + return clubId; + } + + public String getClubName() { + return clubName; + } + + public void setClubName(String clubName) { + this.clubName = clubName; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getPresident() { + return president; + } + + public void setPresident(String president) { + this.president = president; + } + + public int getMemberCount() { + return memberCount; + } + + public void setMemberCount(int memberCount) { + this.memberCount = memberCount; + } + + public boolean isActive() { + return isActive; + } + + public void setActive(boolean active) { + isActive = active; + } + + @Override + public String toString() { + return "ClubInfo{" + + "clubId='" + clubId + '\\' + + ", clubName='" + clubName + '\\' + + ", type='" + type + '\\' + + ", president='" + president + '\\' + + ", memberCount=" + memberCount + + ", isActive=" + isActive + + '}'; + } +} + +// 社团管理系统社团信息管理类 +public class STxtxx { + // 模拟数据库 + private List clubs = new ArrayList<>(); + + + // 查询社团信息 + private ClubInfo findClubById(String clubId) { + for (ClubInfo club : clubs) { + if (club.getClubId().equals(clubId)) { + System.out.println("社团查找成功: " + club); + return club; + } + } + System.out.println("未找到社团ID: " + clubId); + return null; + } + + private ClubInfo findClubByName(String clubName) { + for (ClubInfo club : clubs) { + if (club.getClubName().equals(clubName)) { + System.out.println("社团查找成功: " + club); + return club; + } + } + System.out.println("未找到社团名称: " + clubName); + return null; + } + + // 删除社团信息 + public boolean deleteClub(String clubId) { + ClubInfo 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, Object newValue) { + ClubInfo clubToUpdate = findClubById(clubId); + if (clubToUpdate != null) { + switch (field.toLowerCase()) { + case "clubname": + clubToUpdate.setClubName(newValue.toString()); + break; + case "type": + clubToUpdate.setType(newValue.toString()); + break; + case "president": + clubToUpdate.setPresident(newValue.toString()); + break; + case "membercount": + try { + clubToUpdate.setMemberCount(Integer.parseInt(newValue.toString())); + } catch (NumberFormatException e) { + System.out.println("无效的会员人数值: " + newValue); + return false; + } + break; + case "active": + try { + clubToUpdate.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("社团信息更新成功: " + clubToUpdate); + return true; + } else { + System.out.println("未找到社团ID: " + clubId); + return false; + } + } + + // 显示所有社团信息 + public void displayAllClubs() { + if (clubs.isEmpty()) { + System.out.println("当前没有社团记录"); + } else { + System.out.println("所有社团信息:"); + for (ClubInfo club : clubs) { + System.out.println(club); + } + } + } + + // 处理新社团添加 + public boolean addNewClub(String clubName, String type, String president, int memberCount) { + return addNewClub(clubName, type, president, memberCount); + } + + // 生成唯一的ID + private String generateUniqueId() { + return "CLB" + System.currentTimeMillis(); + } + + // 主方法演示功能 + public static void main(String[] args) { + STxtxx manager = new STxtxx(); + + // 添加新的社团信息 + manager.addNewClub("Sports Club", "Sports", "John Doe", 50); + manager.addNewClub("Music Club", "Music", "Jane Smith", 30); + manager.addNewClub("Art Club", "Art", "Alice Johnson", 20); + + // 显示所有社团信息 + manager.displayAllClubs(); + + // 处理新社团添加 + manager.addNewClub("Science Club", "Science", "Bob Brown", 40); + + // 再次显示所有社团信息 + manager.displayAllClubs(); + + // 更新社团信息 + manager.updateClub("CLB1", "clubname", "Sports Club Updated"); + manager.updateClub("CLB2", "membercount", 35); + manager.updateClub("CLB3", "active", false); + + // 再次显示所有社团信息 + manager.displayAllClubs(); + + // 删除社团信息 + manager.deleteClub("CLB2"); + + // 再次显示所有社团信息 + manager.displayAllClubs(); + } +} + diff --git a/server/target/classes/self/cases/teams/teaa/ActivityInfo.class b/server/target/classes/self/cases/teams/teaa/ActivityInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..a031699fe2844c0206f33e3b997a16e0a01513e8 GIT binary patch literal 2783 zcmbuAZBrXn6vzKJPrC^zV9HZ0)PQXXX=rS1)s_b3sY-=D0HVdJvm{&C4kS#nFm)Wi zjIVv6GltGo#}D9#a{QmWVFSxXU-%;Do;`c-xxe$Y`RngDe*(CT?@}1Sd=kT05V0s? zNyGyYpNjZQ#Ik{hDI_s(;&WM7M68;4Wa6=jCnlbXVa>$4i49S|5V2|CO9Njiq^yeT z969dy%T_z;kLYuyNaR7msWsf{CTzQ8^~ zOwr|%-vB)3KSc9WY=It{I!zJF>#CTR-zKJ8_nMKe*6W9jiv7Tm`XtvkcB?m}W7BvS z&(g@^?KCcl7!@%l;xgVzBPU`U6AHt@2A@B4_NsP6A?p`~rTd{X73Ik^w(zxx=L9I` zym2T`5}=sVBO!WUF?VV##F8%N{Lv`O@o)6;_9&ED;$p5d4SL77X?%>L!o+_!7kjG{ z%H!>qcEwd-KAGI?T>GI|_bWVil}~?gHMtfGub~RpTZj~jEkp~` zEyN1hSPSt&Hr_&_kWI8;6b6kJ%wM&)Yn0dcO$0KC;UcvG^kR_O5Xpvl=Lm1e;yP(2 zxoge42YF2Ki8pF~r8S8lqBV&jsx^rsrZtHpt~H4yp*4xcK!N(0K}TQ`!2abUf0y~o z@i)$&B0!N+f-P~C3*&{~5c!2lgb{!q#W5XOiAhxPuQU zgZ-2UGL=J_KEy}t4>^3MpAtc)IWo<6VUl_9nWWbh?uIfML8hfprhDN`Mv!TlOb@#- z$z=LWIn6YVnUFl0KlA13xmyiox{va?JY72T?eXUBDVf%~FwJrzeWqE>#Q%vl(@%6S zWB=-RB%i%TD${d}w0sx1^glnwg-ow!i28;;&k*ws{hlH28{YB^iDP6k7d_n&eZbSr bV+{8HNZ-d83YKQ`R2p9SpPx^3vgZB)Mg`H9 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/ClubInfo.class b/server/target/classes/self/cases/teams/teaa/ClubInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..2132c46afe054aa253692228f660d1ad2dbb8c38 GIT binary patch literal 2282 zcmbW2ZBrXn6vzKJ*=!zI0;Hrhg<^`fBxz`@TI~a%5XD9VML`@H-z>?NZYLy6vUG49 zzlNW|7rxLLlg{XjAHWag_&;|;h{@6yPG-+J_uO;u{_Z*FZvOt~kG}xCk8cvVij_Fh zSQW7*;v*3si&z)25k)zH7*=BVMD(X3He>iKh9@ypV)$GfU&K%qy(MBhil0za=kgC40U)rUH-8?GodTqCP^jIM#v)lHuqhNU7pHRh5+D^x zZPo0?zTI|Z+;lwI=4dvTAE#y>`XPRzCOZBCf0Pb5xtt)%HG4XvQO5h0Mc>XvdM!>24U?SR z8cujPmuJe8jQWq;$W`P8oMi>#oIS6Ik<+;|?S6$~Udu1ELSnad+O9d9uH>~P`-sdgKMSd@UDHxbW95YBFg)97JFw3{3af@_sGvbNAJIA*<;(Ii$(w6Xs zv?au0Z3(lXEuoHROSnxe(axA$PQ~XspE*ABd=~g9nVU1YtI{ zGo!gIKcLU0PzYQc9$kDRaPb`!`{`VxmLr*x%J4xLg0-20ardxqbcY~RXQKmeZ3YRcRSq4m!aK+RHB{?$6v>eFvPB2qsl<6Ls-o1oL z8f3sE4WMw3!Q+KDf8peC;qM1By~n>(|0-P6ZjKE<%Jh&-k1k=7Rvj=&L-KQj`vFYR zQKr>ErVsF85Yy20^ZRL?OdFRlJ>aDoFg?&r{0{b+e&Y6WK^lJ|_U$XgQ;8lX*9%e^dWOL}~jln&9q>J|W EUk@vBF8}}l literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/ClubType.class b/server/target/classes/self/cases/teams/teaa/ClubType.class new file mode 100644 index 0000000000000000000000000000000000000000..dd2ac51608878610cc4ebc21a2ebc79ccc5403dd GIT binary patch literal 2012 zcma)6U2hvz5Ixu4U9asWaom^yDXF2faU7>E1V|wtrFAKox@o0Em74ZtV=w7ej&0eS zsukjqf56Y+0VM27An^nEQHV2lZO1s9ikF#tXYP#8oHOgc|M}xD0H5Mv3iH@V;sS1n z`9jQ>Vm8HWC9s`B0vk4V#NQP2m5p0AZriBH?T(GF#orb4O#*QIZ9a0lzTAgF zBY5Wb6!Nv6*ZjU*cY9v19C+@rwr;u7JUQIwG@L4P-wU3#8xP$sCkwnTtCB}vAX#Bz zzOZr@BMBHj8Pd@U3&LA2VosT0hBbF4d7EL`e*)6AGUhT~SRtEfK01vVg{rh-ip(aN z8Zm7YG)tB{WZn+ip>PVRz4l4B?%nl;t@Pgh%b@x4n&|7`eSGI2hqoOph2XHX;cVQ9i-pQr%_q~< zH>VHIPb1IIbDp2DiJ0)tQ%tDWp6qK+0ko$E^l2!{w8VFpc>9^&qR$s!Llsy1h!snH z#EWZv7{#2?hgr;-eOSNg4td%oe&E0i49p^l3{P{!kfqEQ*l`{oFuN1>#D}=d8@p?4 zN}mK>OrHc_T%QD?p-+O*#78{mOcsH|fNKP{2bTy0e+5@*1$>!anwrJm5&M;g7=H=; zZ3!-DBu@BXh(uvIvN%3nyck(rz{-%e9eNqU63XJIj-PjA>nC z;(y8z(@$(Kd-vo|Bp$zpolOpqlEtLUJRKmNb;3Y=9C#}X7~{Z97%&Hz&1S;0HNafv XN0tweo!*G8iAkS~SNt=r(dYjH6#Gt( literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/MemberInfo.class b/server/target/classes/self/cases/teams/teaa/MemberInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..83a65ef1620311e21a6ca01e4a7e4831527d9523 GIT binary patch literal 2799 zcma)7ZBrXn6n<{9*=#~=A?39%8t4mQ8;EFItu1IvN=*ey3q@N|yChp029g>UXB@}B z&|l(=I%BA#GyVWS`HLK%b2r)GveACnbIv{Y+kI`!@1n%At=w{IvIb!X32Ft^=$)om)oooxnZ`<|SG0c51KXn`wE61P}UDo7&#~O;LjG#|3 z_HMiODMoi}HpIInt%&ER*bI|XdT8X!vMkN%g-(CcoD2qn@LtfbK2CK<0_>q~paAnN zi7y4+5d6>|Sa5^|)Q#Qm)uSFQ_d z$PSs#ix=#x!gN&UkI|-`J6U%&zi^yYN2kmGJzeTOjU3;U(|m?3#H3BMV$vzC*(|Nu zFRj@!t=ToL**LA)JL&-_c6*ZR^Bnz!I3FG09s3oOeYu60U1%Y0Pq$#$Lq-b;do0m{ zX^)vLB<-R+j>m3GQAd3`E;RFULhlqHX92()Nqqxk`EHkhfzsV?` zNMC_kEXhb|OLB^7OR|b2_)YLT z&+h_1g&7nnr3j+s_=NonVn5M{LGm)S^PI+<@dMhJ72b|q91kxZk6b*PG0Q%kz0 zls?`qX95K!Jz$7#dFbOdgZbV{AhB4iW#B?(nQ!wo(;q4|Lx&Dhz^NG`S_FdoYa`)7p>yLQy?$gE6$=lJjchYqxCNpxA48v{=tC8Wp z!?8tsJt&Sv^Kh6I@554M#r<$%%gRyd77oc`GN@q7&LijikS)en5R=6cYn zZPU94UaRSL6)uiso%Q))w8z($Y;2=0;!84A3PE$PEs>#8&xIVS{?}(9J%^${(07I>}jmg4F61kiG-Ajql8pTYZgpv)=X=bO>0(;dIE~OFVg=K zXFpS?sTa$yp~}mBB+8XOlI4{?jPktEN2)xZ>ccG0n0=&w({V0SUgB>In1X>EGC0Gi z)08u0nB^&Rc$a6tLyyfMI_Ha=@f=O7^hkIUdL+b2JrZU^kAymb+o|}S z%4uG zX<_752R;6POq*kvZtyLJOgA(W|GPt`pBP@=UF%O+-@Ha9mmT1gyg{nTZwIh*Zv}>A wXqX5LMrb%47*e5OGBB6}OyzRHI6c6b$sZYSfaz#CYR9hL3ZM6?PSDMN08Z|%6951J literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/STcy.class b/server/target/classes/self/cases/teams/teaa/STcy.class new file mode 100644 index 0000000000000000000000000000000000000000..eeaf5b7c02524b3abd27c343671c84e69412217b GIT binary patch literal 5396 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 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/SThd.class b/server/target/classes/self/cases/teams/teaa/SThd.class new file mode 100644 index 0000000000000000000000000000000000000000..4389631fd6998e679ff4264b6d316457deeb683e GIT binary patch literal 5731 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 IGjPlQ0gTf4yZ`_I literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/STtz.class b/server/target/classes/self/cases/teams/teaa/STtz.class new file mode 100644 index 0000000000000000000000000000000000000000..095d11634ea9fdc982db113f9bef04601988b547 GIT binary patch literal 4814 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 literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/STxtxx.class b/server/target/classes/self/cases/teams/teaa/STxtxx.class new file mode 100644 index 0000000000000000000000000000000000000000..7ae9af6b730e2ea55d62217ea36b726c0861f9f4 GIT binary patch literal 4953 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 E4@No&;s5{u literal 0 HcmV?d00001 diff --git a/server/target/classes/self/cases/teams/teaa/UserInfo.class b/server/target/classes/self/cases/teams/teaa/UserInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..3475d2e9c0bbc55bafbd747f00f6aa36222b8d94 GIT binary patch literal 2489 zcmcJPYf~F#6vzKhvf15)SRmyh(n5NZu!Kf!wN@^*r5CYji$JR~zFEQ+wiA*}vQ%dr z-}LkJh0Yi{qfS47AIkB6o(&6KHokK*Ip;j*x&6-N*}wn!<1K*e_%4TWEM+lfi~EU)H4EQZSXVF)I$nEq zN1;%C;l6Y$b+@rw*$CQxV|PKpmf428@6l|zoz9QVHkW3+eb=v3xAvM1P8scHT~_#= z+qJ-dNmFg{GR&5Xx(|D{?nSZfa#8wG%z<+8s3(`?%y0Af0*=Dee;1l{J|=#${lcpS z3QQW2Ot;nY8Z7mEQr%7!zZWPw=Ui#!bZ?xT-s(S%BA@s;KL{35l5bimNx9a{y4Fm* z*37-uOuyEw0QDdg%XN|aE^+i1wM|`i-at8XU8J0H7inj{3&WW(y2v;anJ!Fc!tBCw zMy)RF-?%=7%akAT`vDBWz%Z=>&fqM6BfM{v^&Z0&vd)q73RkU%_i)b)N4!zCaqhPEV*jJ6~aQ(F>?g%a)a77qfG0Ja_2b#(DR#s4(_3bSx1CD;nJT$piw zN9tD^VHBozPHM`0xS&U=NT0Mh9p5~ixVemZULiLxQ%iuRq&R(?z?}A8VtAMJ31i`^ zC`qO+uF`>KlnzqiY9f;nXPQZ5sw6WRai%#kmHRMBks>BZy23|^Oqn=SC6VdlWTs4< z=^B}?_hFKDiI}7b6h290GUH4)5}B?gGnsLw1u`x6VUos;n4~Ec@ss+=iZk6xWcoCj z$%-?rkm+t8CV4^;lROf|XYv_k{DIi7IeGGdJV<1^fzP?>-5#HO=OYpJ_(L*P`!L<) zV~&_^Y9@Z1drYr+ygb@he