package ocr import ( "time" "github.com/google/uuid" "rmser/internal/domain/catalog" ) // ProductMatch связывает текст из чека с конкретным товаром в iiko type ProductMatch struct { // RawName - распознанный текст (ключ). // Лучше хранить в нижнем регистре и без лишних пробелов. RawName string `gorm:"type:varchar(255);primary_key"` ProductID uuid.UUID `gorm:"type:uuid;not null;index"` // Product - связь для GORM Product catalog.Product `gorm:"foreignKey:ProductID"` UpdatedAt time.Time CreatedAt time.Time } type Repository interface { // SaveMatch сохраняет или обновляет привязку SaveMatch(rawName string, productID uuid.UUID) error // FindMatch ищет товар по точному совпадению названия FindMatch(rawName string) (*uuid.UUID, error) }