zhangjf ae33bd4d6a feat: 初始化工作日志服务平台项目
- 项目文档:PRD、SRS、架构设计文档、前后端详细设计文档、架构设计规范
- 数据库脚本:用户创建和数据库初始化脚本
- 后端框架:Spring Boot 3.2 + MyBatis-Plus 3.5 基础架构
- 公共组件:统一返回结果、分页封装、全局异常处理
- 基础功能:链路追踪、API日志、健康检查接口
- 配置文件:application.yml.example 配置模板
- 开发规范:遵循架构设计规范,data目录存放MyBatis-Plus文件
2026-02-24 14:47:26 +08:00

163 lines
4.0 KiB
Markdown

# 工作日志服务平台 - 后端 API
## 项目说明
工作日志服务平台后端 API,基于 Spring Boot 3.2 + MyBatis-Plus 构建。
## 技术栈
- **框架**: Spring Boot 3.2.2
- **数据库**: MySQL 8.0
- **缓存**: Redis 7.x
- **ORM**: MyBatis-Plus 3.5.5
- **工具库**: Hutool 5.8.25
- **API 文档**: SpringDoc OpenAPI 2.3.0
## 环境要求
- JDK 21
- Maven 3.6+
- MySQL 8.0
- Redis 7.x
## 快速开始
### 1. 数据库初始化
#### 步骤1: 创建数据库用户 (需要 root 权限)
```bash
cd /home/along/MyCode/wanjiabuluo/worklog
mysql -u root -p < sql/create_user.sql
```
执行后会创建:
- 用户: `worklog`
- 密码: `Wlog@123`
- 权限: worklog 数据库的所有权限
#### 步骤2: 初始化数据库结构和数据
```bash
mysql -u worklog -p < sql/init_database.sql
```
输入密码: `Wlog@123`
这将创建:
- 数据库: `worklog`
- 表: `sys_user`, `log_template`, `work_log`
- 初始数据: 默认管理员账号 (admin/admin123)
### 2. 配置文件
项目已包含开发环境配置文件:
- `src/main/resources/application.yml` - 主配置
- `src/main/resources/application-dev.yml` - 开发环境配置
- `src/main/resources/logback-spring.xml` - 日志配置
数据库连接配置 (application-dev.yml):
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/worklog?useUnicode=true&characterEncoding=utf8mb4&serverTimezone=Asia/Shanghai
username: worklog
password: Wlog@123
```
Redis 配置:
```yaml
spring:
data:
redis:
host: localhost
port: 6379
password: zjf@123456
```
### 3. 编译项目
```bash
cd worklog-api
mvn clean compile
```
### 4. 运行项目
```bash
mvn spring-boot:run
```
或者打包后运行:
```bash
mvn clean package
java -jar target/worklog-api-1.0.0.jar
```
### 5. 访问服务
- **健康检查**: http://localhost:8080/api/v1/health
- **API 文档**: http://localhost:8080/swagger-ui.html
## 项目结构
```
src/main/java/com/wjbl/worklog/
├── WorklogApplication.java # 启动类
├── config/ # 配置类
│ ├── MybatisPlusConfig.java # MyBatis-Plus 配置
│ ├── TraceInterceptor.java # 链路追踪拦截器
│ ├── ApiLogAspect.java # API 日志切面
│ └── WebMvcConfig.java # Web MVC 配置
├── controller/ # 控制器
│ └── HealthController.java # 健康检查接口
├── service/ # 业务服务层
│ └── impl/
├── data/ # 数据访问层 (MyBatis-Plus)
│ ├── entity/ # 实体类
│ ├── mapper/ # Mapper 接口
│ └── service/ # DataService (数据服务)
│ └── impl/
├── dto/ # 数据传输对象
├── vo/ # 视图对象
├── enums/ # 枚举类
└── common/ # 公共组件
├── Result.java # 统一返回结果
├── PageResult.java # 分页结果
└── exception/ # 异常处理
├── BusinessException.java
└── GlobalExceptionHandler.java
```
## 日志
日志文件位于 `logs/` 目录:
- `app.log` - 应用日志
- `sql.log` - SQL 执行日志
所有日志都包含链路追踪信息 (traceId, spanId)。
## 开发规范
1. **目录结构**: 严格遵循架构设计规范,MyBatis-Plus 相关文件放在 `data` 目录
2. **DataService 命名**: XxxDataService / XxxDataServiceImpl
3. **分层职责**: Controller → Service → DataService → Mapper
4. **主键策略**: VARCHAR(20) 存储雪花算法 ID
5. **统一返回**: 使用 Result<T> 封装响应
## 测试账号
- **管理员账号**: admin
- **管理员密码**: admin123
## 下一步
阶段一基础框架已完成,接下来将开发:
1. 认证授权模块 (登录/登出)
2. 人员管理模块
3. 模板管理模块
4. 工作日志模块
详见开发计划文档。