package repository import ( "github.com/wmms/wmms/internal/model" "github.com/wmms/wmms/pkg/database" ) type MaterialImportLogRepo struct{} func NewMaterialImportLogRepo() *MaterialImportLogRepo { return &MaterialImportLogRepo{} } // Create 写一条成功导入汇总,由服务在事务提交成功后调用。 // 失败导入不写记录,逐行错误明细只随接口响应返回,不落库。 func (r *MaterialImportLogRepo) Create(log *model.MaterialImportLog) error { result, err := database.DB.Exec( `INSERT INTO material_import_logs (organization_id, operator, file_name, total_rows, success_rows, failed_rows, status, failure_reason) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, log.OrganizationID, log.Operator, log.FileName, log.TotalRows, log.SuccessRows, log.FailedRows, log.Status, log.FailureReason) if err != nil { return err } log.ID, err = result.LastInsertId() return err }