staff_mgr/README.md

1.9 KiB
Raw Blame History

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/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