Skip to content

Pricing Schema

Schema pricing chứa 7 model triển khai công cụ định giá linh hoạt, dựa trên quy tắc. Nó hỗ trợ định giá tĩnh, định giá động với các quy tắc theo ngữ cảnh, cấu trúc giá phân cấp, chi phí, và cấu hình đa thuế.

Nguồn: packages/core/src/models/schemas/pricing/

Tổng quan Model

ModelTên BảngMô tả
Farepricing.FareĐiểm giá với số tiền, thời hạn hiệu lực, và ràng buộc số lượng
FareSetpricing.FareSetContainer liên kết một ProductVariant với cấu hình định giá
FareRulepricing.FareRuleQuy tắc có điều kiện phải thỏa mãn để Fare được áp dụng
Costpricing.CostTheo dõi chi phí biến thể sản phẩm với thời hạn hiệu lực
Taxpricing.TaxMục thuế suất trong một bộ thuế
TaxSetpricing.TaxSetContainer cấu hình thuế sử dụng quyền sở hữu đa hình
TaxTypepricing.TaxTypeĐịnh nghĩa loại thuế (VAT, Tiêu thụ đặc biệt, v.v.)

Fare

Một tầng giá với thời hạn hiệu lực tùy chọn, ràng buộc số lượng, và các điều kiện dựa trên quy tắc. Hỗ trợ phân cấp cha-con cho giá ghi đè/khuyến mãi.

CộtKiểuRàng buộcMô tả
namejsonb (i18n)Tên đa ngôn ngữ
descriptionjsonb (i18n)Mô tả đa ngôn ngữ
statustextNOT NULL, DEFAULT ACTIVATEDTrạng thái giá vé
typetextLoại giá vé (SALE, OVERRIDE)
effective_fromisoTimestampNgày bắt đầu hiệu lực
effective_toisoTimestampNgày kết thúc hiệu lực
min_quantitydecimal(15,4)Số lượng tối thiểu cho giá vé này
max_quantitydecimal(15,4)Số lượng tối đa cho giá vé này
amountdecimal(15,4)Số tiền giá
rules_countintegerSố lượng quy tắc đính kèm (cached)
children_countintegerSố lượng giá vé con (cached)
fare_set_idtextNOT NULLFK đến FareSet
parent_idtextFK đến Fare cha (tự tham chiếu)
+ các cột chungid, createdAt, modifiedAt, deletedAt, metadata

Trạng thái: ACTIVATED, DEACTIVATED, ARCHIVED

Loại:

  • SALE -- Giá bán tiêu chuẩn
  • OVERRIDE -- Giá ghi đè/khuyến mãi

FareSet

Container liên kết một ProductVariant với cấu hình định giá. Quan hệ một-một với ProductVariant.

CộtKiểuRàng buộcMô tả
statustextNOT NULL, DEFAULT ACTIVATEDTrạng thái FareSet
product_variant_idtextNOT NULL, UNIQUEMột FareSet cho mỗi ProductVariant
+ các cột chung

Trạng thái: ACTIVATED, DEACTIVATED, ARCHIVED

Quan hệ: Một FareSet có nhiều Fare.

FareRule

Quy tắc có điều kiện đính kèm vào một Fare. Tất cả quy tắc trên một Fare phải thỏa mãn để Fare được áp dụng. Các quy tắc được đánh giá theo thứ tự ưu tiên.

CộtKiểuRàng buộcMô tả
codetextNOT NULLĐịnh danh quy tắc (ví dụ: quantity, saleChannelId)
priorityintegerNOT NULLThứ tự đánh giá (thấp hơn = trước)
operatortextNOT NULLToán tử so sánh
fare_idtextNOT NULLFK đến Fare
+ các cột kiểu dữ liệudataType, tValue, nValue, boValue, bValue, jValue
+ các cột chung

Toán tử (từ FareRuleOperators):

Toán tửBí danhMô tả
eqBằng
neneqKhông bằng
gtLớn hơn
gteLớn hơn hoặc bằng
ltNhỏ hơn
lteNhỏ hơn hoặc bằng
ininqTrong mảng
ninKhông trong mảng

Helper generateDataTypeColumnDefs() cung cấp lưu trữ giá trị có kiểu:

  • tValue (text) -- cho so sánh chuỗi
  • nValue (double precision) -- cho so sánh số
  • boValue (boolean) -- cho kiểm tra boolean
  • bValue (bytea) -- cho dữ liệu nhị phân
  • jValue (jsonb) -- cho quy tắc phức tạp

Cost

Theo dõi chi phí biến thể sản phẩm với thời hạn hiệu lực.

CộtKiểuRàng buộcMô tả
amountdecimal(15,4)NOT NULLSố tiền chi phí
notetextGhi chú chi phí
effective_fromisoTimestampNOT NULLNgày bắt đầu (bắt buộc)
effective_toisoTimestampNgày kết thúc (null = vô thời hạn)
product_variant_idtextNOT NULLFK đến ProductVariant
created_bytextID người dùng tạo
modified_bytextID người dùng sửa đổi cuối
+ các cột chung

Tax

Mục thuế suất riêng lẻ trong một bộ thuế.

CộtKiểuRàng buộcMô tả
namejsonb (i18n)NOT NULLTên đa ngôn ngữ
amountdecimal(15,4)Số tiền thuế cố định
percentagedecimal(15,4)Thuế suất phần trăm
effective_fromisoTimestampNOT NULLNgày bắt đầu
effective_toisoTimestampNgày kết thúc
priorityintegerDEFAULT 0Thứ tự đánh giá (cao nhất trước khi nhiều thuế áp dụng)
statustextNOT NULL, DEFAULT ACTIVATEDTrạng thái thuế
tax_set_idtextNOT NULLFK đến TaxSet
tax_type_idtextNOT NULLFK đến TaxType
+ các cột chung

Trạng thái: ACTIVATED, DEACTIVATED, ARCHIVED

TaxSet

Container cấu hình thuế sử dụng quyền sở hữu đa hình (có thể liên kết đến bất kỳ thực thể nào).

CộtKiểuRàng buộcMô tả
principal_idtextID chủ sở hữu đa hình
principal_typetextLoại chủ sở hữu đa hình
namejsonb (i18n)Tên đa ngôn ngữ
statustextNOT NULL, DEFAULT ACTIVATEDTrạng thái TaxSet
+ các cột chung

Ràng buộc duy nhất: (principalId, principalType, status, deletedAt)

Trạng thái: ACTIVATED, DEACTIVATED, ARCHIVED

TaxType

Định nghĩa loại thuế được chia sẻ giữa các merchant.

CộtKiểuRàng buộcMô tả
typetextNOT NULLMã loại thuế
namejsonb (i18n)NOT NULLTên đa ngôn ngữ
descriptionjsonb (i18n)Mô tả đa ngôn ngữ
statustextNOT NULL, DEFAULT ACTIVATEDTrạng thái TaxType
merchant_idtextFK đến Merchant (null cho loại toàn cục)
+ các cột chung

Ràng buộc duy nhất: (type, merchantId)

Loại Thuế Cố định (từ FixedTaxTypes):

Hằng sốGiá trịMô tả
VAT000_VATThuế Giá trị Gia tăng
EXCISE100_EXCISE5Thuế tiêu thụ đặc biệt
ENVIRONMENTAL200_ENVIRONMENTALThuế bảo vệ môi trường
LUXURY300_LUXURYThuế hàng xa xỉ

Quan hệ Thực thể

Tài liệu Liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.