xforge · tài liệu FE

FE: module customer_type_price_rule — giá theo loại khách #

Phần chung (khởi tạo client, lỗi, danh sách, ngôn ngữ) ở tài liệu FE của Core: docs/fe/common.md (bản đọc: xforge-documentation, ADR-0102 của xforge-core). Sửa file này CÙNG PR khi đổi hành vi FE thấy được của module.

Chỉ có ở CMS (XforgeClient). Storefront không gọi gì: giá hiện thẳng trong giỏ / chốt đơn (lines[].unitPrice, priceSource: "customer_type").

Menu: key customer_type_price_rule.customer_type_price_rules (quyền customer_type_price_rule.read).

Luật #

Route CRUD chuẩn, không thùng rác: listCustomerTypePriceRules, getCustomerTypePriceRule, createCustomerTypePriceRule, updateCustomerTypePriceRule, deleteCustomerTypePriceRule, listCustomerTypePriceRuleOptions. Lọc customer_type_id, price_list_id, active.

FieldGhi chú
customerTypeIdChỉ đặt lúc tạo; loại của store (customer_type)
priceListIdChỉ đặt lúc tạo; bảng giá của store. Mỗi (loại, bảng) một luật (409 customer_type_price_rule_exists)
discountPctChuỗi, (0, 100], ≤ 2 chữ số lẻ; giảm thêm trên giá của bảng; null = không
startsAtendsAt — ISO UTC; null = không giới hạn; endsAt sau startsAt

Loại / bảng không thuộc store → 404 customer_type_price_rule_ref_not_found.

Giá nào được dùng #

Khách đã gán loại (setCustomerType của customer_type) nhận giá của bảng trong luật, trừ discountPct, làm tròn theo tiền tệ. Luật BỎ QUA audience của bảng (luật chính là "ai được") nhưng vẫn theo tiền tệ, kênh, thời gian của bảng. Dòng giỏ nhận giá thấp nhất giữa catalog, các bảng giá và các luật. Loại đang tắt / trong thùng rác, luật tắt / ngoài thời gian → không áp. Gợi ý: bảng giá chỉ dùng cho luật nên đặt audience: "customers" và không gán khách, để nó không áp cho mọi người.

Màn hình dựng sẵn #

listMenu() → mục customer_type_price_rule.customer_type_price_rules có screen (type: "crud"): CMS chung vẽ được từ getMenuScreen({ params: { key: "customer_type_price_rule.customer_type_price_rules" } }) mà không cần code riêng (tài liệu FE của Core: cms.md §3.1). Có: danh sách (loại khách, bảng giá, % giảm, hiệu lực; lọc theo loại khách / bảng giá / trạng thái), form (loại khách + bảng giá chọn lúc tạo, chỉ cái đang hoạt động; sửa được % giảm, hiệu lực, trạng thái, ghi chú), xoá.

Quyền ngoài module mà màn hình dùng (thiếu thì CMS ẩn / rơi về ô nhập thường):

Nguồn: xforge-modules: modules/pricing/customer_type_price_rule/FE.md