staff_mgr/README.md
2026-08-15 01:30:26 +08:00

53 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
## 快速开始
```bash
# 本地开发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`
## 端到端验证记录(重试 2026-08-15
- 编译:`mvn -q -DskipTests compile` 通过
- 集成测试:`mvn test` => `Tests run: 8, Failures: 0, Errors: 0, Skipped: 0`BUILD SUCCESS