Add employee serial QR query support

This commit is contained in:
Frudrax Cheng
2026-05-28 10:24:32 +08:00
parent d3ee215f61
commit 2aab9203a0
2 changed files with 11 additions and 2 deletions
+2 -2
View File
@@ -147,7 +147,7 @@ func (s *EmployeeSerialsService) generateWithDB(
// Query 查询员工序列号信息
func (s *EmployeeSerialsService) Query(serialNumber string) (*models.EmployeeSerial, error) {
var serial models.EmployeeSerial
result := database.DB.Preload("User").Where("serial_number = ?", strings.ToUpper(serialNumber)).First(&serial)
result := database.DB.Preload("User").Preload("Employee").Where("serial_number = ?", strings.ToUpper(serialNumber)).First(&serial)
if result.Error != nil {
return nil, fmt.Errorf("查询员工序列号失败: %w", errors.New("序列号不存在"))
}
@@ -161,7 +161,7 @@ func (s *EmployeeSerialsService) FindAll(page int, limit int, search string) ([]
var total int64
offset := (page - 1) * limit
db := database.DB.Preload("User")
db := database.DB.Preload("User").Preload("Employee")
// 搜索条件
if search != "" {
+9
View File
@@ -51,6 +51,15 @@ func TestUsersService_Create_EmployeeWithoutPasswordGeneratesSerial(t *testing.T
assert.NoError(t, database.DB.Where("employee_no = ?", "employee_no_pwd").First(&user).Error)
assert.Empty(t, user.Password)
serialService := EmployeeSerialsService{}
serial, err := serialService.Query(dto.EmployeeSerials[0].SerialNumber)
assert.NoError(t, err)
assert.NotNil(t, serial.Employee)
assert.Equal(t, "普通员工", serial.Employee.Name)
assert.Equal(t, "13800000002", serial.Employee.Phone)
assert.Equal(t, "employee_no_pwd", serial.Employee.EmployeeNo)
assert.Equal(t, "生产员工", serial.Employee.Position)
database.DB.Unscoped().Where("employee_id = ?", user.ID).Delete(&models.EmployeeSerial{})
database.DB.Unscoped().Delete(&user)
}