worklog/worklog-api
zhangjf 55eb8badc7 chore: 删除所有 *.example 配置文件
- 本地私有仓库,无需配置模板
- 删除 application-dev.yml.example
- 删除 bootstrap.yml.example
- 删除 env.properties.example
- 删除 application.yml.example
- 删除 service.properties.example
- 更新 .gitignore 移除敏感信息忽略规则
2026-02-24 18:35:08 +08:00
..

工作日志服务平台 - 后端 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 权限)

cd /home/along/MyCode/wanjiabuluo/worklog
mysql -u root -p < sql/create_user.sql

执行后会创建:

  • 用户: worklog
  • 密码: Wlog@123
  • 权限: worklog 数据库的所有权限

步骤2: 初始化数据库结构和数据

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):

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/worklog?useUnicode=true&characterEncoding=utf8mb4&serverTimezone=Asia/Shanghai
    username: worklog
    password: Wlog@123

Redis 配置:

spring:
  data:
    redis:
      host: localhost
      port: 6379
      password: zjf@123456

3. 编译项目

cd worklog-api
mvn clean compile

4. 运行项目

mvn spring-boot:run

或者打包后运行:

mvn clean package
java -jar target/worklog-api-1.0.0.jar

5. 访问服务

项目结构

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 封装响应

测试账号

  • 管理员账号: admin
  • 管理员密码: admin123

下一步

阶段一基础框架已完成,接下来将开发:

  1. 认证授权模块 (登录/登出)
  2. 人员管理模块
  3. 模板管理模块
  4. 工作日志模块

详见开发计划文档。