Re-migrate code

This commit is contained in:
2026-03-02 12:57:07 +08:00
parent 6070df659a
commit 4f18028a7b
7 changed files with 99 additions and 11 deletions

View File

@@ -28,6 +28,7 @@ func (s *EmployeeSerialsService) Generate(
employeeName string,
quantity int,
userId uint,
serialPrefix string,
) ([]models.EmployeeSerial, error) {
var serials []models.EmployeeSerial
@@ -45,8 +46,12 @@ func (s *EmployeeSerialsService) Generate(
}
}
// 生成序列号前缀 (EMP + 年份后两位)
serialPrefix := fmt.Sprintf("EMP%d", time.Now().Year()%100)
// 生成序列号前缀
if serialPrefix == "" {
serialPrefix = fmt.Sprintf("EMP%d", time.Now().Year()%100)
}
// 标准化前缀(转大写,去除空格)
serialPrefix = strings.ToUpper(strings.TrimSpace(serialPrefix))
// 预生成所有序列号
serialNumbers := make(map[string]bool)
@@ -199,6 +204,22 @@ func (s *EmployeeSerialsService) Revoke(serialNumber string) error {
return nil
}
// Delete 删除员工序列号(物理删除)
func (s *EmployeeSerialsService) Delete(serialNumber string) error {
var serial models.EmployeeSerial
result := database.DB.Where("serial_number = ?", strings.ToUpper(serialNumber)).First(&serial)
if result.Error != nil {
return fmt.Errorf("查询员工序列号失败: %w", errors.New("序列号不存在"))
}
result = database.DB.Delete(&serial)
if result.Error != nil {
return fmt.Errorf("删除员工序列号失败: %w", result.Error)
}
return nil
}
// GenerateQRCode 生成员工二维码
func (s *EmployeeSerialsService) GenerateQRCode(
serialNumber string,