1.9 KiB
1.9 KiB
staff-mgr 员工管理模块
员工管理模块,提供员工(staff)增删改查 REST 接口。
技术栈
- Java 17 / Spring Boot 3.2
- Spring Data JPA
- MySQL 8.0(生产)/ H2(本地开发 & 测试)
- Spring Security + JWT(对接 auth-mgr 的 Bearer Token)
- SpringDoc OpenAPI
快速开始
# 本地开发(H2 内存库,无需外部依赖)
mvn spring-boot:run
# 生产(MySQL)
mvn spring-boot:run -Dspring-boot.run.profiles=mysql
启动后:
- API 文档: http://localhost:8080/swagger-ui.html
- H2 控制台(仅 dev): http://localhost:8080/h2-console
接口一览
基础路径 /api/v1/staff,所有接口需携带 Authorization: Bearer <JWT>。
| 方法 | 路径 | 说明 | 权限 |
|---|---|---|---|
| POST | /api/v1/staff |
创建员工 | Admin, HR |
| GET | /api/v1/staff |
分页查询员工列表 | Admin, HR, Employee(本部门) |
| GET | /api/v1/staff/{id} |
查询员工详情 | Admin, HR, Employee(本部门) |
| PUT | /api/v1/staff/{id} |
更新员工信息 | Admin, HR / Employee(本人部分字段) |
| DELETE | /api/v1/staff/{id} |
逻辑删除员工 | Admin, HR |
| POST | /api/v1/staff/batch-delete |
批量删除 | Admin, HR |
| GET | /api/v1/staff/{id}/change-logs |
变更记录 | Admin, HR |
| GET | /api/v1/staff/audit-logs |
操作日志 | Admin |
| GET | /api/v1/staff/check/employee-no |
工号查重 | Admin, HR |
| GET | /api/v1/staff/departments |
部门缓存列表 | 所有已认证用户 |
数据脱敏规则
- 身份证号:所有人统一脱敏,保留前 3 位与后 3 位。
- 手机号:保留前 3 位与后 4 位,Admin/HR 与 Employee(本部门) 脱敏,跨部门不返回。
- 紧急联系人电话:Admin/HR 明文,Employee(本部门) 脱敏,跨部门不返回。
- 技术级别/薪资等级:Admin/HR 明文,Employee 一律 null。
数据库
生产库 DDL 见 src/main/resources/db/schema.sql。