# 学生社团管理系统 **Repository Path**: SpiritOfWar/sql_project ## Basic Information - **Project Name**: 学生社团管理系统 - **Description**: 个人毕业设计,请勿商用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-01 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SQL 项目文档 ## 项目简介 本项目是一个基于 Spring Boot 和 MyBatis Plus 的管理系统,主要用于社团活动、用户管理、权限控制、数据统计等功能。项目结构清晰,包含完整的前后端交互逻辑,适用于社团管理系统、活动报名系统等场景。 ## 功能模块 - **社团管理**:包括社团创建、社团信息维护、社团分类等。 - **活动管理**:包括活动发布、活动报名、活动分类、活动统计等。 - **用户管理**:支持管理员、社团负责人(社长)、社团成员(社员)三种角色的登录与权限管理。 - **权限控制**:通过拦截器和注解实现接口权限控制。 - **数据统计**:支持按时间、分类等维度进行数据统计和图表展示。 - **文件上传下载**:支持图片、文档等文件的上传与下载。 - **数据展示**:包括新闻、关于我们、系统介绍等内容展示模块。 - **评论系统**:支持对社团活动和社团信息的评论功能。 - **收藏系统**:支持用户收藏感兴趣的社团或活动。 ## 技术栈 - **后端**:Spring Boot、MyBatis Plus、MySQL、Redis、JWT、Maven - **前端**:Element UI、Vue.js(推测) - **工具类**:MD5 加密、分页工具、文件操作工具、百度 OCR、地图定位等 ## 项目结构 - `controller`:接口层,处理 HTTP 请求。 - `service`:业务逻辑层,封装业务操作。 - `dao`:数据访问层,与数据库交互。 - `entity`:实体类,对应数据库表。 - `config`:配置类,如拦截器、MyBatis Plus 配置等。 - `utils`:工具类,如加密、分页、文件操作等。 - `aop`:切面类,如日志记录、权限控制。 - `annotation`:自定义注解,如权限注解、登录用户注解等。 - `interceptor`:拦截器,用于登录验证和权限控制。 - `resources`:静态资源、配置文件等。 ## 安装与部署 ### 环境要求 - JDK 1.8 或以上 - Maven 3.x - MySQL 5.7 或以上 - Node.js(前端) ### 后端部署步骤 1. 克隆项目到本地: ```bash git clone https://gitee.com/SpiritOfWar/sql_project.git ``` 2. 导入数据库文件 `springboot4x38g.sql` 到 MySQL 数据库。 3. 修改 `application.yml` 或 `application.properties` 中的数据库连接信息。 4. 使用 Maven 构建项目: ```bash mvn clean package ``` 5. 启动项目: ```bash java -jar target/your-project.jar ``` ### 前端部署步骤(假设使用 Vue) 1. 进入前端目录: ```bash cd admin ``` 2. 安装依赖: ```bash npm install ``` 3. 启动开发服务器: ```bash npm run serve ``` 4. 构建生产环境代码: ```bash npm run build ``` ## 使用说明 ### 用户角色 - **管理员(users)**:管理所有数据,包括用户、社团、活动等。 - **社长(shezhang)**:管理自己创建的社团和活动。 - **社员(sheyuan)**:参与活动、评论、收藏等。 ### 主要接口说明 - `/login`:登录接口,支持管理员、社长、社员登录。 - `/register`:注册接口。 - `/page`:分页查询接口。 - `/list`:列表查询接口。 - `/save`:新增数据接口。 - `/update`:更新数据接口。 - `/delete`:删除数据接口。 - `/upload`:文件上传接口。 - `/remind`:提醒功能,如未读消息、待处理事项等。 - `/value`、`/group`:用于数据统计和图表展示。 ### 注解说明 - `@IgnoreAuth`:忽略权限验证。 - `@LoginUser`:获取当前登录用户信息。 - `@RecordSum`:记录访问次数,用于统计功能。 - `@Transactional`:事务控制,用于数据库操作。 ## 数据模型 - **社团相关**:`shetuanxinxi`(社团信息)、`shetuanhuodong`(社团活动)、`shetuanbaoming`(活动报名)、`shetuanjingfei`(社团经费) - **用户相关**:`shezhang`(社长)、`sheyuan`(社员)、`users`(系统用户) - **评论与收藏**:`discussshetuanxinxi`(社团评论)、`discussshetuanhuodong`(活动评论)、`storeup`(收藏) - **系统功能**:`config`(系统配置)、`news`(新闻公告)、`aboutus`(关于我们)、`systemintro`(系统介绍) ## 数据统计功能 - 支持按字段分组统计:`/group` - 支持按时间维度统计:`/value`、`/valueDay` - 支持总数统计:`/count` ## 日志与监控 - 使用 `@RecordSum` 注解记录访问日志。 - 使用拦截器 `AuthorizationInterceptor` 进行权限控制。 - 使用 `R` 类统一返回接口数据格式。 ## 安全与权限 - 使用 `@IgnoreAuth` 忽略权限验证。 - 使用 `TokenService` 和 `TokenDao` 实现 Token 认证。 - 使用拦截器控制接口访问权限。 ## 文件上传 - 使用 `/upload` 接口上传文件。 - 支持多种文件类型,如图片、文档等。 - 使用 `FileUtil` 工具类处理文件操作。 ## 数据校验 - 使用 `ValidatorUtils` 进行实体类数据校验。 - 使用 `EIException` 统一异常处理。 ## 数据库结构 - 使用 MyBatis Plus 进行数据库操作。 - 所有实体类均继承 `Serializable`,支持序列化。 - 使用 `@TableName` 注解映射数据库表名。 - 使用 `@TableId` 注解标识主键。 ## 常用工具类 - `MD5Util`:MD5 加密。 - `CommonUtil`:通用工具类,如生成随机字符串。 - `BaiduUtil`:百度 OCR、图像识别、地图定位。 - `PageUtils`:分页工具类。 - `MPUtil`:MyBatis Plus 查询条件封装工具。 ## 日志与调试 - 使用 `@Aspect` 实现日志切面。 - 使用 `R` 类统一返回格式。 - 使用 `EIException` 统一异常处理。 ## 开发建议 - 所有接口返回统一格式 `R`。 - 使用 `@RecordSum` 注解记录访问次数。 - 使用 `@LoginUser` 获取当前登录用户信息。 - 使用 `@IgnoreAuth` 忽略权限验证。 - 使用 `Query` 类进行分页查询。 ## 贡献指南 欢迎提交 PR 和 Issue,贡献代码请遵循以下规范: - 使用统一的返回格式 `R` - 使用 `@IgnoreAuth` 控制权限 - 使用 `@RecordSum` 记录访问日志 - 使用 `ValidatorUtils` 校验数据 - 使用 `PageUtils` 分页工具 ## 协议 本项目采用 MIT 协议,请在使用时保留版权声明。 ## 联系方式 如有问题,请提交 Issue 或联系作者。 --- **项目地址**:[https://gitee.com/SpiritOfWar/sql_project](https://gitee.com/SpiritOfWar/sql_project)