RavenDB에서 제품 할인 기능을 구현하고 싶습니다.RavenDB에서 할인을 사용하는 방법
제품 문서 :
{
"RegularPrice": 10.00,
"ReferencePrice": 0.0,
"Categories": [
"A",
"B",
"C"
]
}
지금 예를 들어 내가 카테고리 "A"의 모든 제품에 대한 할인을 제공하고 싶습니다
. 그래서 나는이 같은 할인 문서에 할인율에 대한 범주를지도 :{
"ProductDiscount": {
"A": 20.0
}
}
질문을 나는 방법을 ReferencePrice을 계산하고 저장하거나 할 때 업데이트합니까된다
- 새로운 제품이 추가된다?
- RegularPrice가 업데이트 되었습니까?
- 할인 문서가 업데이트 되었습니까?
트리거와 함께 처리해야하는 것으로 보입니다. 그러나 나는 확실하지 않다!
고맙습니다. 실제로 제품은 여러 범주와 관련이 있습니다. 여러 할인이있는 경우 가장 낮은 계산 가격이 설정됩니다. 좋은 제안과 아이디어가 있지만 일부는 내 맥락에서 유용하지 않습니다. - 색인 생성 중에 LoadDocument를 사용하면 문서가 업데이트되지 않습니다. - 트리거는 옵션이지만 유지 관리가 문제가됩니다 (또한 트리거를 사용하여 솔루션을 실현하는 방법을 알 수 없습니다) - 스크립트 된 패치 요청은 옵션입니다. 역시 수동 작업을 피하는 메커니즘을 선호합니다. - 런타임에 가격을 계산하는 것은 바람직하지 않습니다. ... – MED
그래서 하나의 옵션이 있습니다. 인덱싱 된 속성 번들. 제 (할인) 가격을 계산합니다 인덱스 : 나는 다음을 시도 '지도 = 제품 p.Categories에서 C의 제품 의 페이지에서 => 선택 새로운 { 제품 ID = p.Id, ReferencePrice = p.RegularPrice의 * ((100 - LoadDocument ("할인 /"+ c) .Amount)/100) }' ... –
MED
제품 문서 속성 – MED