package repository import ( "context" "code.30cm.net/digimon/app-cloudep-product-service/pkg/domain/entity" "go.mongodb.org/mongo-driver/mongo" ) type ProductStatisticsRepo interface { // Create 新增一筆產品統計資料 Create(ctx context.Context, stats *entity.ProductStatistics) error // GetByID 根據內部 ID 取得統計資料 GetByID(ctx context.Context, id string) (*entity.ProductStatistics, error) // GetByProductID 根據產品 ID 取得統計資料 GetByProductID(ctx context.Context, productID string) (*entity.ProductStatistics, error) // IncOrders 新增訂單數 IncOrders(ctx context.Context, productID string, count int64) error // DecOrders 減少訂單數。-> 退貨時專用 DecOrders(ctx context.Context, productID string, count int64) error // UpdateAverageRating 只更新綜合評價及其更新時間 UpdateAverageRating(ctx context.Context, productID string, averageRating float64) error // IncFansCount 新增粉絲數 IncFansCount(ctx context.Context, productID string, fansCount uint64) error // DecFansCount 減少粉絲數。-> 退貨時專用 DecFansCount(ctx context.Context, productID string, fansCount uint64) error // Delete 刪除統計資料 Delete(ctx context.Context, id string) error ProductStatisticsIndex } type ProductStatisticsIndex interface { Index20250317001UP(ctx context.Context) (*mongo.Cursor, error) }