# oaSystem-server **Repository Path**: yh_git2000/oa-system-server ## Basic Information - **Project Name**: oaSystem-server - **Description**: oa智能办公系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-20 - **Last Updated**: 2026-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能OA办公系统 - Spring Boot 3 后端 ## 项目简介 基于Spring Boot 3 + MyBatis-Plus + MySQL开发的OA办公系统后端服务,支持移动端和PC管理后台的API接口。 ## 技术栈 - **Spring Boot 3.2.0** - 核心框架 - **MyBatis-Plus 3.5.5** - ORM框架 - **MySQL 8.0** - 数据库 - **JWT** - 身份认证 - **Knife4j** - API文档(增强版Swagger) - **Lombok** - 代码简化 ## 项目结构 ``` src/main/java/com/oa/system/ ├── config/ # 配置类 │ ├── SwaggerConfig.java │ ├── WebMvcConfig.java │ ├── MyBatisPlusConfig.java │ └── SecurityConfig.java ├── controller/ # 控制器层 │ ├── AuthController.java # 认证接口 │ ├── SysUserController.java # 用户管理 │ ├── SysRoleController.java # 角色管理 │ ├── SysDeptController.java # 部门管理 │ ├── OaAttendanceController.java # 考勤管理 │ ├── OaApprovalController.java # 审批管理 │ ├── OaMeetingController.java # 会议管理 │ ├── OaAnnouncementController.java # 公告管理 │ ├── OaTaskController.java # 任务管理 │ └── DashboardController.java # 工作台 ├── service/ # 服务层 ├── mapper/ # 数据访问层 ├── entity/ # 实体类 ├── dto/ # 数据传输对象 ├── utils/ # 工具类 └── interceptor/ # 拦截器 ``` ## 数据库初始化 1. 创建数据库: ```sql CREATE DATABASE oa_system DEFAULT CHARACTER SET utf8mb4; ``` 2. 执行初始化脚本: ```bash mysql -u root -p oa_system < database/init.sql ``` ## 配置说明 修改 `src/main/resources/application.yml` 中的数据库配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/oa_system?useUnicode=true&characterEncoding=utf8 username: root password: your_password ``` ## 启动项目 ```bash mvn spring-boot:run ``` 或直接运行 `OaSystemApplication.java` ## 访问API文档 启动后访问:http://localhost:8080/api/doc.html ## 主要接口说明 ### 认证接口 | 接口 | 方法 | 说明 | |------|------|------| | `/auth/login` | POST | 用户登录 | | `/auth/logout` | POST | 用户登出 | | `/auth/info` | GET | 获取用户信息 | ### 用户管理 | 接口 | 方法 | 说明 | |------|------|------| | `/user/list` | GET | 分页查询用户 | | `/user/{id}` | GET | 获取用户详情 | | `/user` | POST | 创建用户 | | `/user` | PUT | 更新用户 | ### 考勤管理 | 接口 | 方法 | 说明 | |------|------|------| | `/attendance/clock-in` | POST | 上班打卡 | | `/attendance/clock-out` | POST | 下班打卡 | | `/attendance/today` | GET | 获取今日考勤 | | `/attendance/statistics` | GET | 获取考勤统计 | ### 审批管理 | 接口 | 方法 | 说明 | |------|------|------| | `/approval/templates` | GET | 获取审批模板 | | `/approval` | POST | 提交审批 | | `/approval/{id}/approve` | POST | 审批通过 | | `/approval/{id}/reject` | POST | 审批拒绝 | ### 会议管理 | 接口 | 方法 | 说明 | |------|------|------| | `/meeting` | POST | 创建会议 | | `/meeting/my` | GET | 查询我的会议 | | `/meeting/today` | GET | 查询今日会议 | ## JWT认证说明 所有需要认证的接口需要在请求头中携带Token: ``` Authorization: Bearer ``` 登录成功后返回的Token有效期为24小时。 ## 默认账号 | 账号 | 密码 | 角色 | |------|------|------| | admin | 123456 | 系统管理员 | | user | 123456 | 普通员工 | **注意**:数据库中的密码是BCrypt加密的,需要使用初始密码或重新设置。 ## API响应格式 ```json { "code": 200, "message": "操作成功", "data": {}, "timestamp": 1234567890 } ``` ## 状态码说明 | 状态码 | 说明 | |--------|------| | 200 | 成功 | | 400 | 请求参数错误 | | 401 | 未登录或Token无效 | | 403 | 无权限访问 | | 404 | 资源不存在 | | 500 | 服务器内部错误 |