diff --git a/README.md b/README.md index 274d769a..d4b524f9 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,13 @@ +| 列名 | 数据类型 | 字段描述 | 是否允许为空 | 备注 | +| ------------------- | ------ | ----- | ------ | ------ | +| comment\_id | bigint | 评论ID | 否 | 主键 | +| act\_id | bigint | 活动ID | 否 | | +| user\_id | bigint | 用户ID | 否 | | +| parent\_comment\_id | bigint | 父评论ID | 是 | 支持嵌套评论 | +| content | text | 评论内容 | 否 | | ## 若依前后端分离交流群 diff --git a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsActivityController.java b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsActivityController.java index 99175277..6638ed57 100644 --- a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsActivityController.java +++ b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsActivityController.java @@ -40,7 +40,6 @@ public class AmsActivityController extends BaseController /** * 查询活动列表列表 */ - @PreAuthorize("@ss.hasPermi('ams:activity:list')") @GetMapping("/list") public TableDataInfo list(ActivityListGetVO amsActivity) { @@ -52,7 +51,6 @@ public class AmsActivityController extends BaseController /** * 导出活动列表列表 */ - @PreAuthorize("@ss.hasPermi('ams:activity:export')") @Log(title = "活动列表", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ActivityListGetVO amsActivity) @@ -65,7 +63,6 @@ public class AmsActivityController extends BaseController /** * 获取活动列表详细信息 */ - @PreAuthorize("@ss.hasPermi('ams:activity:query')") @GetMapping(value = "/{actId}") public AjaxResult getInfo(@PathVariable("actId") Long actId) { @@ -75,7 +72,6 @@ public class AmsActivityController extends BaseController /** * 新增活动列表 */ - @PreAuthorize("@ss.hasPermi('ams:activity:add')") @Log(title = "活动列表", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AmsActivity amsActivity) @@ -86,7 +82,6 @@ public class AmsActivityController extends BaseController /** * 修改活动列表 */ - @PreAuthorize("@ss.hasPermi('ams:activity:edit')") @Log(title = "活动列表", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AmsActivity amsActivity) @@ -97,7 +92,6 @@ public class AmsActivityController extends BaseController /** * 删除活动列表 */ - @PreAuthorize("@ss.hasPermi('ams:activity:remove')") @Log(title = "活动列表", businessType = BusinessType.DELETE) @DeleteMapping("/{actIds}") public AjaxResult remove(@PathVariable Long[] actIds) diff --git a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsCommentController.java b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsCommentController.java index 8cf5dbb6..d6ccdc2d 100644 --- a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsCommentController.java +++ b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsCommentController.java @@ -39,7 +39,6 @@ public class AmsCommentController extends BaseController /** * 查询活动评论列表 */ - @PreAuthorize("@ss.hasPermi('ams:comment:list')") @GetMapping("/list") public TableDataInfo list(AmsCommentListVO amsComment) { @@ -51,7 +50,6 @@ public class AmsCommentController extends BaseController /** * 导出活动评论列表 */ - @PreAuthorize("@ss.hasPermi('ams:comment:export')") @Log(title = "活动评论", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, AmsCommentListVO amsComment) @@ -64,7 +62,6 @@ public class AmsCommentController extends BaseController /** * 获取活动评论详细信息 */ - @PreAuthorize("@ss.hasPermi('ams:comment:query')") @GetMapping(value = "/{commentId}") public AjaxResult getInfo(@PathVariable("commentId") Long commentId) { @@ -74,7 +71,6 @@ public class AmsCommentController extends BaseController /** * 新增活动评论 */ - @PreAuthorize("@ss.hasPermi('ams:comment:add')") @Log(title = "活动评论", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AmsComment amsComment) @@ -85,7 +81,6 @@ public class AmsCommentController extends BaseController /** * 修改活动评论 */ - @PreAuthorize("@ss.hasPermi('ams:comment:edit')") @Log(title = "活动评论", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AmsComment amsComment) @@ -96,7 +91,6 @@ public class AmsCommentController extends BaseController /** * 删除活动评论 */ - @PreAuthorize("@ss.hasPermi('ams:comment:remove')") @Log(title = "活动评论", businessType = BusinessType.DELETE) @DeleteMapping("/{commentIds}") public AjaxResult remove(@PathVariable Long[] commentIds) diff --git a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsReactionController.java b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsReactionController.java index 3fea21e5..62b908a6 100644 --- a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsReactionController.java +++ b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsReactionController.java @@ -39,7 +39,6 @@ public class AmsReactionController extends BaseController /** * 查询点赞记录列表 */ - @PreAuthorize("@ss.hasPermi('ams:reaction:list')") @GetMapping("/list") public TableDataInfo list(AmsReactionVO amsReaction) { @@ -51,7 +50,6 @@ public class AmsReactionController extends BaseController /** * 导出点赞记录列表 */ - @PreAuthorize("@ss.hasPermi('ams:reaction:export')") @Log(title = "点赞记录", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, AmsReactionVO amsReaction) @@ -64,7 +62,6 @@ public class AmsReactionController extends BaseController /** * 获取点赞记录详细信息 */ - @PreAuthorize("@ss.hasPermi('ams:reaction:query')") @GetMapping(value = "/{reactionId}") public AjaxResult getInfo(@PathVariable("reactionId") Long reactionId) { @@ -74,7 +71,6 @@ public class AmsReactionController extends BaseController /** * 新增点赞记录 */ - @PreAuthorize("@ss.hasPermi('ams:reaction:add')") @Log(title = "点赞记录", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AmsReaction amsReaction) @@ -85,7 +81,6 @@ public class AmsReactionController extends BaseController /** * 修改点赞记录 */ - @PreAuthorize("@ss.hasPermi('ams:reaction:edit')") @Log(title = "点赞记录", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AmsReaction amsReaction) @@ -96,7 +91,6 @@ public class AmsReactionController extends BaseController /** * 删除点赞记录 */ - @PreAuthorize("@ss.hasPermi('ams:reaction:remove')") @Log(title = "点赞记录", businessType = BusinessType.DELETE) @DeleteMapping("/{reactionIds}") public AjaxResult remove(@PathVariable Long[] reactionIds) diff --git a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsRegistrationController.java b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsRegistrationController.java index 285e99f8..97c571b8 100644 --- a/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsRegistrationController.java +++ b/bs-sams/src/main/java/com/ruoyi/sams/ams/controller/AmsRegistrationController.java @@ -37,7 +37,6 @@ public class AmsRegistrationController extends BaseController /** * 查询活动报名列表 */ - @PreAuthorize("@ss.hasPermi('ams:registration:list')") @GetMapping("/list") public TableDataInfo list(AmsRegistration amsRegistration) { @@ -49,7 +48,6 @@ public class AmsRegistrationController extends BaseController /** * 导出活动报名列表 */ - @PreAuthorize("@ss.hasPermi('ams:registration:export')") @Log(title = "活动报名", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, AmsRegistration amsRegistration) @@ -62,7 +60,6 @@ public class AmsRegistrationController extends BaseController /** * 获取活动报名详细信息 */ - @PreAuthorize("@ss.hasPermi('ams:registration:query')") @GetMapping(value = "/{regId}") public AjaxResult getInfo(@PathVariable("regId") Long regId) { @@ -72,7 +69,6 @@ public class AmsRegistrationController extends BaseController /** * 新增活动报名 */ - @PreAuthorize("@ss.hasPermi('ams:registration:add')") @Log(title = "活动报名", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AmsRegistration amsRegistration) @@ -83,7 +79,6 @@ public class AmsRegistrationController extends BaseController /** * 修改活动报名 */ - @PreAuthorize("@ss.hasPermi('ams:registration:edit')") @Log(title = "活动报名", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AmsRegistration amsRegistration) @@ -94,7 +89,6 @@ public class AmsRegistrationController extends BaseController /** * 删除活动报名 */ - @PreAuthorize("@ss.hasPermi('ams:registration:remove')") @Log(title = "活动报名", businessType = BusinessType.DELETE) @DeleteMapping("/{regIds}") public AjaxResult remove(@PathVariable Long[] regIds) diff --git a/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubController.java b/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubController.java index fcf16969..9833c5e0 100644 --- a/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubController.java +++ b/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubController.java @@ -39,7 +39,6 @@ public class SmsClubController extends BaseController /** * 查询社团信息列表 */ - @PreAuthorize("@ss.hasPermi('sms:club:list')") @GetMapping("/list") public TableDataInfo list(SmsClub smsClub) { @@ -51,7 +50,6 @@ public class SmsClubController extends BaseController /** * 导出社团信息列表 */ - @PreAuthorize("@ss.hasPermi('sms:club:export')") @Log(title = "社团信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, SmsClub smsClub) @@ -64,7 +62,6 @@ public class SmsClubController extends BaseController /** * 获取社团信息详细信息 */ - @PreAuthorize("@ss.hasPermi('sms:club:query')") @GetMapping(value = "/{clubId}") public AjaxResult getInfo(@PathVariable("clubId") Long clubId) { @@ -74,7 +71,6 @@ public class SmsClubController extends BaseController /** * 新增社团信息 */ - @PreAuthorize("@ss.hasPermi('sms:club:add')") @Log(title = "社团信息", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SmsClub smsClub) @@ -85,7 +81,6 @@ public class SmsClubController extends BaseController /** * 修改社团信息 */ - @PreAuthorize("@ss.hasPermi('sms:club:edit')") @Log(title = "社团信息", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SmsClub smsClub) @@ -96,7 +91,6 @@ public class SmsClubController extends BaseController /** * 删除社团信息 */ - @PreAuthorize("@ss.hasPermi('sms:club:remove')") @Log(title = "社团信息", businessType = BusinessType.DELETE) @DeleteMapping("/{clubIds}") public AjaxResult remove(@PathVariable Long[] clubIds) diff --git a/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubUserController.java b/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubUserController.java index 95fe1e06..c6394452 100644 --- a/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubUserController.java +++ b/bs-sams/src/main/java/com/ruoyi/sams/sms/controller/SmsClubUserController.java @@ -40,7 +40,6 @@ public class SmsClubUserController extends BaseController /** * 查询成员管理列表 */ - @PreAuthorize("@ss.hasPermi('sms:user:list')") @GetMapping("/list") public TableDataInfo list(ClubUserSelectVO smsClubUser) { @@ -52,7 +51,6 @@ public class SmsClubUserController extends BaseController /** * 导出成员管理列表 */ - @PreAuthorize("@ss.hasPermi('sms:user:export')") @Log(title = "成员管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ClubUserSelectVO smsClubUser) @@ -65,7 +63,6 @@ public class SmsClubUserController extends BaseController /** * 获取成员管理详细信息 */ - @PreAuthorize("@ss.hasPermi('sms:user:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -75,7 +72,6 @@ public class SmsClubUserController extends BaseController /** * 新增成员管理 */ - @PreAuthorize("@ss.hasPermi('sms:user:add')") @Log(title = "成员管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SmsClubUser smsClubUser) @@ -86,7 +82,6 @@ public class SmsClubUserController extends BaseController /** * 修改成员管理 */ - @PreAuthorize("@ss.hasPermi('sms:user:edit')") @Log(title = "成员管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SmsClubUser smsClubUser) @@ -97,7 +92,6 @@ public class SmsClubUserController extends BaseController /** * 删除成员管理 */ - @PreAuthorize("@ss.hasPermi('sms:user:remove')") @Log(title = "成员管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/pic/PULM/ER图.png b/pic/PULM/ER图.png new file mode 100644 index 00000000..c1f3920b Binary files /dev/null and b/pic/PULM/ER图.png differ diff --git a/pic/PULM/ER图.puml b/pic/PULM/ER图.puml new file mode 100644 index 00000000..3b67164f --- /dev/null +++ b/pic/PULM/ER图.puml @@ -0,0 +1,83 @@ +@startuml + +entity "社团 (sms_club)" as Club { + * club_id : bigint <> + -- + club_name : varchar + description : text + category : varchar + dept_id : bigint + leader_id : bigint + logo : varchar + status : enum +} + +entity "社团成员关系 (sms_club_user)" as ClubUser { + * id : bigint <> + -- + user_id : bigint + club_id : bigint + join_date : datetime + is_active : boolean +} + +entity "活动 (ams_activity)" as Activity { + * act_id : bigint <> + -- + title : varchar + description : text + cover_image : varchar + start_time : datetime + end_time : datetime + location : varchar + budget : decimal + max_participants : int + creator_id : bigint + club_id : bigint + dept_id : bigint + activity_type : enum + status : enum + visibility : enum + current_approver_id : bigint + net_likes : int +} + +entity "活动报名 (ams_registration)" as Registration { + * reg_id : bigint <> + -- + act_id : bigint + user_id : bigint + register_time : datetime + status : enum + attend_time : datetime + role : enum +} + +entity "活动评论 (ams_comment)" as Comment { + * comment_id : bigint <> + -- + act_id : bigint + user_id : bigint + parent_comment_id : bigint + content : text +} + +entity "活动点赞/点踩 (ams_reaction)" as Reaction { + * reaction_id : bigint <> + -- + act_id : bigint + user_id : bigint + reaction_type : enum +} + +' 关系线 + +Club ||--o{ ClubUser : 包含 + +Activity ||--o{ Registration : 对应 +Activity ||--o{ Comment : 被评论 +Activity ||--o{ Reaction : 被点赞 + + + +@enduml \ No newline at end of file diff --git a/pic/PULM/学生用例图.png b/pic/PULM/学生用例图.png new file mode 100644 index 00000000..9013c1cb Binary files /dev/null and b/pic/PULM/学生用例图.png differ diff --git a/pic/PULM/学生用例图.puml b/pic/PULM/学生用例图.puml new file mode 100644 index 00000000..cc39cbe8 --- /dev/null +++ b/pic/PULM/学生用例图.puml @@ -0,0 +1,26 @@ +@startuml +left to right direction + +actor 学生用户 + + usecase "浏览社团信息" as UC1 + usecase "申请加入社团" as UC2 + usecase "退出社团申请" as UC3 + usecase "报名参加活动" as UC4 + usecase "活动签到" as UC5 + usecase "发布评论/点赞" as UC6 + usecase "修改个人信息" as UC7 + usecase "修改密码" as UC8 + usecase "查看系统通知" as UC9 + +学生用户 --> UC1 +学生用户 --> UC2 +学生用户 --> UC3 +学生用户 --> UC4 +学生用户 --> UC5 +学生用户 --> UC6 +学生用户 --> UC7 +学生用户 --> UC8 +学生用户 --> UC9 + +@enduml \ No newline at end of file diff --git a/pic/PULM/审批流程图.puml b/pic/PULM/审批流程图.puml index b64ef523..e8cf6547 100644 --- a/pic/PULM/审批流程图.puml +++ b/pic/PULM/审批流程图.puml @@ -11,6 +11,7 @@ if (是否为社团内部活动?) then (是) :活动发布; else (否) :退回修改; + :提交活动信息; endif else (否) :社团管理员初审; @@ -21,6 +22,7 @@ else (否) :活动发布; else (否) :退回修改; + :提交活动信息; endif else (否) :退回修改; diff --git a/pic/PULM/校园社团活动管理系统总体结构图.puml b/pic/PULM/校园社团活动管理系统总体结构图.puml new file mode 100644 index 00000000..e2628daa --- /dev/null +++ b/pic/PULM/校园社团活动管理系统总体结构图.puml @@ -0,0 +1,35 @@ +@startuml +title 图 2.4 校园社团活动管理系统总体结构图 + +' 顶层模块 +object "校园社团活动管理系统" as System { +} +object "登录注册" as Login { +} +object "管理员界面" as Admin { +} +object "学生界面" as Student { + } + +System --> Login +Login --> Admin +Login --> Student + +Admin --> "用户管理" +Admin --> "社团管理" +Admin --> "成员管理" +Admin --> "活动管理" +Admin --> "审批管理" +Admin --> "统计总览" +Admin --> "修改密码" + +Student --> "浏览社团" +Student --> "加入社团" +Student --> "活动报名" +Student --> "活动签到" +Student --> "评论互动" +Student --> "通知查看" +Student --> "个人资料修改" +Student --> "修改密码" + +@enduml \ No newline at end of file diff --git a/pic/PULM/活动参与流程图.png b/pic/PULM/活动参与流程图.png new file mode 100644 index 00000000..c5570a89 Binary files /dev/null and b/pic/PULM/活动参与流程图.png differ diff --git a/pic/PULM/活动参与流程图.puml b/pic/PULM/活动参与流程图.puml new file mode 100644 index 00000000..47746077 --- /dev/null +++ b/pic/PULM/活动参与流程图.puml @@ -0,0 +1,24 @@ +@startuml +start + +:审批通过的活动对用户可见; +:用户查看活动详情; + + +:提交报名; +:等待发起人/管理员审批; + +:活动开始,签到开放; +:用户签到; + +if (活动结束时间已到?) then (是) + :签到关闭; +else (否) + :继续签到; +endif + +:系统统计报名与签到情况; + +stop + +@enduml \ No newline at end of file diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index 18b2a3ed..d91582b2 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = SAMS社团活动管理系统 # 开发环境配置 ENV = 'development' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index cb064ec8..49601545 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = SAMS社团活动管理系统 # 生产环境配置 ENV = 'production' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging index 730af342..6bd54aa8 100644 --- a/ruoyi-ui/.env.staging +++ b/ruoyi-ui/.env.staging @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = SAMS社团活动管理系统 BABEL_ENV = production