mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
32 lines
943 B
Go
32 lines
943 B
Go
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)
|
||
}
|