# museum **Repository Path**: shaobufan/museum ## Basic Information - **Project Name**: museum - **Description**: 博物馆管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-03-18 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 博物馆管理系统 ## 项目简介 博物馆管理系统是一个基于 Spring Boot 框架开发的后端服务项目,用于实现博物馆的信息化管理。系统提供藏品管理、展览管理、用户预约、日程安排、员工管理等功能,支持 RESTful API 接口,并集成了 Swagger 在线文档。 ## 技术栈 - **后端框架**: Spring Boot - **数据库**: MySQL - **对象映射**: Mybatis-Plus - **文档生成**: Swagger (OpenAPI) - **文件存储**: MinIO - **邮件服务**: JavaMail ## 项目结构 ``` museum/ ├── src/main/java/com/shaobufan/museum/ │ ├── common/ # 通用响应类、错误码、结果工具 │ ├── conf/ # 配置类(Swagger、MinIO) │ ├── contant/ # 常量接口 │ ├── controllar/ # 控制器层(API接口) │ ├── mapper/ # 数据访问层 │ ├── pojo/ # 数据模型(实体类、请求对象、响应对象) │ ├── service/ # 业务逻辑层 │ └── utils/ # 工具类 ├── src/main/resources/ │ ├── mapper/ # MyBatis XML映射文件 │ └── templates/ # 邮件模板 └── src/test/ # 单元测试 ``` ## 主要功能模块 ### 1. 用户管理 - 用户注册、登录 - 验证码校验 - 参展预约 ### 2. 员工管理 - 员工登录、注册 - 员工信息修改 - 权限管理 ### 3. 藏品管理 - 藏品类别查询 - 藏品增删改查 - 藏品与展览关联 ### 4. 展览管理 - 展览信息查询 - 添加展览 - 展览藏品管理 ### 5. 日程管理 - 员工日程查询 - 用户日程预约 - 用户参展日程 ### 6. 公告通知 - 博物馆公告 - 部门内部通知 - 任务分配 ### 7. 部门职能 - 部门管理 - 职能分配 - 任务管理 ### 8. 文件上传 - 图片上传(MinIO存储) ## 核心类说明 ### 通用响应 - `BaseResponse`: 统一响应结构 - `ErrorCode`: 错误码枚举 - `ResultUtils`: 响应构建工具 ### 实体类 - `User`: 用户信息 - `Staff`: 员工信息 - `Collections`: 藏品信息 - `MuseumExhibit`: 展览信息 - `Schedule`: 日程信息 ## API 文档 项目集成了 Swagger,启动服务后可访问 `/swagger-ui.html` 查看完整的 API 文档。 ## 配置说明 主要配置项在 `application.yml` 中: ```yaml # 数据库配置 spring: datasource: url: jdbc:mysql://localhost:3306/museum username: root password: your_password # 邮件配置 spring: mail: username: your_email@example.com # MinIO配置 minio: config: url: http://localhost:9000 access-key: your_access_key secret-key: your_secret_key bucket-name: museum ``` ## 运行说明 ### 环境要求 - JDK 1.8+ - MySQL 5.7+ - Maven 3.x ### 启动步骤 1. 创建数据库并导入 SQL 脚本: ```sql CREATE DATABASE museum; source sql/museum.sql ``` 2. 修改配置文件 `application.yml` 中的数据库连接信息 3. 编译运行: ```bash mvn clean package java -jar target/museum-*.jar ``` ## 项目包名 `com.shaobufan.museum`