debud: add logging discounts, move put noAccept for future improvements and sum PriceFrom
This commit is contained in:
parent
850c62cb4a
commit
b576d7dfda
@ -3,6 +3,7 @@ package repository
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
"fmt"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
@ -79,6 +80,7 @@ func (receiver *DiscountRepository) getLayer(ctx context.Context, keyGroup, keyP
|
||||
|
||||
err = cursor.All(ctx, &discounts)
|
||||
|
||||
fmt.Println("DISCOOOO", discounts)
|
||||
return discounts, err
|
||||
}
|
||||
|
||||
@ -97,6 +99,8 @@ func (receiver *DiscountRepository) Determine(ctx context.Context, conditions *c
|
||||
privilegeAmounts = map[string]uint64{}
|
||||
privilegePrices = map[string]uint64{}
|
||||
privilegeGroups = map[string]string{}
|
||||
priority = make(map[string]struct{})
|
||||
noAccept = make(map[string]struct{})
|
||||
)
|
||||
|
||||
for layer := uint64(1); layer < 5; layer++ {
|
||||
@ -107,12 +111,10 @@ func (receiver *DiscountRepository) Determine(ctx context.Context, conditions *c
|
||||
continue
|
||||
}
|
||||
// вычисляем количество привилегий во всей корзине
|
||||
if _, ok := privilegeAmounts[*condition.Product]; ok {
|
||||
privilegeAmounts[*condition.Product] += *condition.Term
|
||||
} else {
|
||||
privilegeAmounts[*condition.Product] = *condition.Term
|
||||
privilegeAmounts[*condition.Product] += *condition.Term
|
||||
privilegePrices[*condition.Product] += *condition.PriceFrom
|
||||
if _, ok := privilegeAmounts[*condition.Product]; !ok {
|
||||
privilegeGroups[*condition.Product] = *condition.Group
|
||||
privilegePrices[*condition.Product] = *condition.PriceFrom
|
||||
}
|
||||
}
|
||||
|
||||
@ -136,8 +138,6 @@ func (receiver *DiscountRepository) Determine(ctx context.Context, conditions *c
|
||||
// если юзер не nko, то выбираем все скидки за первый слой
|
||||
|
||||
// сначала делаем все нужные проверки записываем запреты
|
||||
priority := make(map[string]struct{})
|
||||
noAccept := make(map[string]struct{})
|
||||
for privilege, privilegePrice := range privilegePrices {
|
||||
|
||||
// проверки существования скидки за 2 слой noAccept не применям скидки к этой группе если есть такие
|
||||
|
Loading…
Reference in New Issue
Block a user