Add employee code assignment function

This commit is contained in:
2026-03-02 09:38:03 +08:00
parent 58b1ac1126
commit c29cbdf847
9 changed files with 962 additions and 9 deletions

View File

@@ -31,6 +31,7 @@ backend-go/
├── controllers/ # 控制器层,处理 HTTP 请求
│ ├── auth_controller.go # 认证相关接口
│ ├── companies_controller.go # 企业管理接口
│ ├── employees_controller.go # 员工赋码接口
│ ├── helper.go # 控制器通用辅助函数
│ └── serials_controller.go # 序列号管理接口
├── database/ # 数据库连接和操作
@@ -50,6 +51,7 @@ backend-go/
├── services/ # 业务逻辑层
│ ├── auth_service.go # 认证业务逻辑
│ ├── companies_service.go # 企业管理业务逻辑
│ ├── employees_service.go # 员工赋码业务逻辑
│ ├── serials_service.go # 序列号业务逻辑
│ └── services_test.go # 服务层单元测试
├── tests/ # 集成测试
@@ -253,6 +255,22 @@ swag init -g main.go
| PUT | `/api/companies/:companyName` | 更新企业信息 | 是 | 管理员 |
| DELETE | `/api/companies/:companyName` | 删除企业 | 是 | 管理员 |
### 员工赋码
| 方法 | 路径 | 描述 | 需要认证 | 角色 |
| ---- | -------------------------------------- | ------------------ | -------- | ------ |
| POST | `/api/employee-serials/generate` | 生成员工序列号 | 是 | 管理员 |
| GET | `/api/employee-serials` | 获取员工序列号列表 | 是 | 任何 |
| GET | `/api/employee-serials/:serial/query` | 查询员工序列号信息 | 否 | 任何 |
| POST | `/api/employee-serials/:serial/qrcode` | 生成员工二维码 | 是 | 任何 |
| PUT | `/api/employee-serials/:serial` | 更新员工序列号信息 | 是 | 管理员 |
| POST | `/api/employee-serials/:serial/revoke` | 吊销员工序列号 | 是 | 管理员 |
**员工序列号特点**:
- 无有效期限制(与企业赋码不同)
- 包含部门department和员工姓名employeeName信息
- 序列号格式: `EMP26xxxxxx`EMP + 年份后两位 + 6位随机字符
## 测试
### 运行所有测试
@@ -278,9 +296,10 @@ go tool cover -html=coverage.out
### 当前测试覆盖
- **services/**: 包含 AuthServiceSerialsService 的完整单元测试
- **services/**: 包含 AuthService、SerialsService 和 EmployeeSerialsService 的完整单元测试
- 用户认证测试(登录、获取用户信息、修改密码、更新资料)
- 序列号管理测试(生成、查询、更新、吊销、分页列表)
- 员工赋码测试(生成、查询、更新、吊销、二维码生成)
- **tests/**: 集成测试(健康检查、登录流程)
## 代码检查