@pisell/pisellos 2.2.274 → 2.2.276
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +7 -0
- package/dist/model/strategy/adapter/promotion/adapter.d.ts +4 -0
- package/dist/model/strategy/adapter/promotion/adapter.js +23 -0
- package/dist/model/strategy/adapter/promotion/evaluator.d.ts +17 -0
- package/dist/model/strategy/adapter/promotion/evaluator.js +279 -6
- package/dist/model/strategy/adapter/promotion/examples.d.ts +86 -0
- package/dist/model/strategy/adapter/promotion/examples.js +99 -0
- package/dist/model/strategy/adapter/promotion/index.d.ts +1 -1
- package/dist/model/strategy/adapter/promotion/index.js +1 -1
- package/dist/model/strategy/adapter/promotion/type.d.ts +90 -2
- package/dist/model/strategy/adapter/promotion/type.js +45 -0
- package/dist/modules/OpenData/index.d.ts +2 -0
- package/dist/modules/OpenData/index.js +8 -0
- package/dist/modules/Order/index.d.ts +28 -8
- package/dist/modules/Order/index.js +907 -588
- package/dist/modules/Order/payment-utils.d.ts +26 -0
- package/dist/modules/Order/payment-utils.js +225 -0
- package/dist/modules/Order/types.d.ts +35 -1
- package/dist/modules/Order/utils/orderCollectionIdentity.js +7 -2
- package/dist/modules/Order/utils.js +10 -6
- package/dist/modules/Payment/index.d.ts +2 -0
- package/dist/modules/Payment/index.js +78 -49
- package/dist/modules/Payment/types.d.ts +104 -25
- package/dist/modules/Payment/types.js +17 -0
- package/dist/modules/Payment/walletpass.d.ts +38 -1
- package/dist/modules/Payment/walletpass.js +917 -114
- package/dist/modules/Rules/index.d.ts +3 -0
- package/dist/modules/Rules/index.js +100 -70
- package/dist/server/index.d.ts +25 -0
- package/dist/server/index.js +1993 -1061
- package/dist/server/modules/index.d.ts +1 -1
- package/dist/server/modules/order/index.d.ts +70 -4
- package/dist/server/modules/order/index.js +1816 -728
- package/dist/server/modules/order/types.d.ts +25 -3
- package/dist/server/modules/order/types.js +7 -1
- package/dist/solution/BaseSales/index.d.ts +104 -5
- package/dist/solution/BaseSales/index.js +1767 -436
- package/dist/solution/BaseSales/types.d.ts +55 -1
- package/dist/solution/BaseSales/types.js +2 -1
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +3 -1
- package/dist/solution/BaseSales/utils/cartPromotion.js +94 -32
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +6 -1
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -4
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +21 -5
- package/dist/solution/BookingTicket/index.js +139 -56
- package/dist/solution/BookingTicket/types.d.ts +1 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +8 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +173 -83
- package/dist/solution/Sales/index.d.ts +2 -0
- package/dist/solution/Sales/index.js +26 -4
- package/dist/solution/ScanOrder/index.js +31 -20
- package/dist/solution/VenueBooking/index.d.ts +1 -0
- package/dist/solution/VenueBooking/index.js +30 -19
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/payment-number.d.ts +9 -0
- package/dist/utils/payment-number.js +69 -0
- package/lib/core/index.d.ts +2 -0
- package/lib/core/index.js +4 -0
- package/lib/model/strategy/adapter/promotion/adapter.d.ts +4 -0
- package/lib/model/strategy/adapter/promotion/adapter.js +20 -0
- package/lib/model/strategy/adapter/promotion/evaluator.d.ts +17 -0
- package/lib/model/strategy/adapter/promotion/evaluator.js +235 -0
- package/lib/model/strategy/adapter/promotion/examples.d.ts +86 -0
- package/lib/model/strategy/adapter/promotion/examples.js +91 -0
- package/lib/model/strategy/adapter/promotion/index.d.ts +1 -1
- package/lib/model/strategy/adapter/promotion/index.js +2 -0
- package/lib/model/strategy/adapter/promotion/type.d.ts +90 -2
- package/lib/model/strategy/adapter/promotion/type.js +2 -0
- package/lib/modules/OpenData/index.d.ts +2 -0
- package/lib/modules/OpenData/index.js +5 -0
- package/lib/modules/Order/index.d.ts +28 -8
- package/lib/modules/Order/index.js +252 -84
- package/lib/modules/Order/payment-utils.d.ts +26 -0
- package/lib/modules/Order/payment-utils.js +224 -0
- package/lib/modules/Order/types.d.ts +35 -1
- package/lib/modules/Order/utils/orderCollectionIdentity.js +3 -0
- package/lib/modules/Order/utils.js +11 -4
- package/lib/modules/Payment/index.d.ts +2 -0
- package/lib/modules/Payment/index.js +33 -12
- package/lib/modules/Payment/types.d.ts +104 -25
- package/lib/modules/Payment/types.js +1 -0
- package/lib/modules/Payment/walletpass.d.ts +38 -1
- package/lib/modules/Payment/walletpass.js +730 -21
- package/lib/modules/Rules/index.d.ts +3 -0
- package/lib/modules/Rules/index.js +38 -9
- package/lib/server/index.d.ts +25 -0
- package/lib/server/index.js +726 -31
- package/lib/server/modules/index.d.ts +1 -1
- package/lib/server/modules/order/index.d.ts +70 -4
- package/lib/server/modules/order/index.js +818 -69
- package/lib/server/modules/order/types.d.ts +25 -3
- package/lib/server/modules/order/types.js +1 -0
- package/lib/solution/BaseSales/index.d.ts +104 -5
- package/lib/solution/BaseSales/index.js +858 -27
- package/lib/solution/BaseSales/types.d.ts +55 -1
- package/lib/solution/BaseSales/types.js +2 -1
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +3 -1
- package/lib/solution/BaseSales/utils/cartPromotion.js +66 -12
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +6 -1
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +4 -3
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +21 -5
- package/lib/solution/BookingTicket/index.js +64 -13
- package/lib/solution/BookingTicket/types.d.ts +1 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +8 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +37 -5
- package/lib/solution/Sales/index.d.ts +2 -0
- package/lib/solution/Sales/index.js +20 -6
- package/lib/solution/ScanOrder/index.js +8 -0
- package/lib/solution/VenueBooking/index.d.ts +1 -0
- package/lib/solution/VenueBooking/index.js +8 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/utils/payment-number.d.ts +9 -0
- package/lib/utils/payment-number.js +64 -0
- package/package.json +1 -1
|
@@ -27,6 +27,8 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
|
|
|
27
27
|
}): {
|
|
28
28
|
isAvailable: boolean;
|
|
29
29
|
discountList: Discount[];
|
|
30
|
+
/** 完整规则计算后的列表;调用方可用于保留暂时无适用商品的扫码卡券。 */
|
|
31
|
+
evaluatedDiscountList?: Discount[];
|
|
30
32
|
productList: any[];
|
|
31
33
|
unavailableReason?: UnavailableReason;
|
|
32
34
|
};
|
|
@@ -35,6 +37,7 @@ export declare class RulesModule extends BaseModule implements Module, RulesModu
|
|
|
35
37
|
excludeDiscountListByType(discountList: Discount[], type: string): Discount[];
|
|
36
38
|
/** 手动改价场景:去掉 promotion,保留 type=product 等行内折扣 */
|
|
37
39
|
resolveDiscountListForManualOverride(discountList: Discount[]): Discount[];
|
|
40
|
+
private isItemRewardProductDiscount;
|
|
38
41
|
private getUnavailableReason;
|
|
39
42
|
calcDiscount({ discountList, productList, holders, isFormSubject, orderTotalAmount }: {
|
|
40
43
|
discountList: Discount[];
|
|
@@ -94,7 +94,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
94
94
|
productList
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
|
-
if (productList.every((item) => {
|
|
97
|
+
if (productList.length > 0 && productList.every((item) => {
|
|
98
98
|
var _a;
|
|
99
99
|
const product = this.hooks.getProduct(item);
|
|
100
100
|
return product.booking_id && (((_a = product.discount_list) == null ? void 0 : _a.length) || product.total == 0);
|
|
@@ -152,6 +152,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
152
152
|
return {
|
|
153
153
|
isAvailable: hasApplicableDiscount,
|
|
154
154
|
discountList: hasApplicableDiscount ? result.discountList : oldDiscountList,
|
|
155
|
+
evaluatedDiscountList: result.discountList,
|
|
155
156
|
productList: hasApplicableDiscount ? result.productList : productList,
|
|
156
157
|
unavailableReason
|
|
157
158
|
};
|
|
@@ -167,13 +168,27 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
167
168
|
resolveDiscountListForManualOverride(discountList) {
|
|
168
169
|
return this.excludeDiscountListByType(discountList, "promotion");
|
|
169
170
|
}
|
|
171
|
+
isItemRewardProductDiscount(product) {
|
|
172
|
+
var _a;
|
|
173
|
+
const discountList = Array.isArray(product == null ? void 0 : product.discount_list) ? product.discount_list : [];
|
|
174
|
+
return ((_a = product == null ? void 0 : product._promotion) == null ? void 0 : _a.actionType) === "ITEM_REWARD" && discountList.some(
|
|
175
|
+
(item) => {
|
|
176
|
+
var _a2, _b;
|
|
177
|
+
return (item == null ? void 0 : item.type) === "product" && ((_a2 = item == null ? void 0 : item.metadata) == null ? void 0 : _a2.source) === "promotion" && ((_b = item == null ? void 0 : item.metadata) == null ? void 0 : _b.actionType) === "ITEM_REWARD";
|
|
178
|
+
}
|
|
179
|
+
);
|
|
180
|
+
}
|
|
170
181
|
// 获取券不可用的原因
|
|
171
182
|
getUnavailableReason(discountList, productList) {
|
|
172
183
|
var _a;
|
|
173
184
|
for (const discount of discountList) {
|
|
174
|
-
|
|
185
|
+
const bookingTimes = productList.length ? productList.map((item) => {
|
|
175
186
|
const product = this.hooks.getProduct(item);
|
|
176
|
-
|
|
187
|
+
return ((product == null ? void 0 : product.startDate) || (0, import_dayjs.default)()).format(
|
|
188
|
+
"YYYY-MM-DD HH:mm:ss"
|
|
189
|
+
);
|
|
190
|
+
}) : [(0, import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss")];
|
|
191
|
+
for (const bookingTime of bookingTimes) {
|
|
177
192
|
const filteredList = (0, import_utils.filterDiscountListByBookingTime)([discount], bookingTime);
|
|
178
193
|
if (filteredList.length === 0) {
|
|
179
194
|
return import_types.UnavailableReason.TimeLimit;
|
|
@@ -305,7 +320,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
305
320
|
// 新增商品运行态通常带 _bundle_product_id;订单 hydrate 后只有
|
|
306
321
|
// bundle_product_id。Change time 必须兼容两种结构,否则 bundle
|
|
307
322
|
// 子项无法命中折扣卡的 limited_relation_product_data.product_ids。
|
|
308
|
-
id: bundleItem.
|
|
323
|
+
id: bundleItem.bundle_product_id ?? bundleItem._bundle_product_id ?? bundleItem.product_id,
|
|
309
324
|
_id: `${product._id}_bundle_${bundleIndex}`,
|
|
310
325
|
parentId: product._id,
|
|
311
326
|
num: bundleItem.num || 1,
|
|
@@ -502,6 +517,9 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
502
517
|
startDate: (_a2 = flatItem.parentProduct) == null ? void 0 : _a2.startDate
|
|
503
518
|
};
|
|
504
519
|
}
|
|
520
|
+
if (this.isItemRewardProductDiscount(product)) {
|
|
521
|
+
return false;
|
|
522
|
+
}
|
|
505
523
|
const isAvailableProduct = flatItem.type === "main" ? !((product == null ? void 0 : product.booking_id) && ((_b = product == null ? void 0 : product.discount_list) == null ? void 0 : _b.length) && ((_c = product == null ? void 0 : product.discount_list) == null ? void 0 : _c.every((d) => d.id && ["good_pass", "discount_card", "product_discount_card"].includes(d.tag || d.type)))) : !((flatItem == null ? void 0 : flatItem.booking_id) && !!((_e = (_d = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _d.discount_list) == null ? void 0 : _e.length) && ((_g = (_f = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _f.discount_list) == null ? void 0 : _g.every((d) => d.id)));
|
|
506
524
|
if (!isAvailableProduct) {
|
|
507
525
|
return false;
|
|
@@ -627,6 +645,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
627
645
|
};
|
|
628
646
|
originProduct = flatItem.originProduct;
|
|
629
647
|
}
|
|
648
|
+
const isItemRewardProductDiscount = this.isItemRewardProductDiscount(product);
|
|
630
649
|
addModeDiscount.forEach((discount) => {
|
|
631
650
|
var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
632
651
|
const limitedData = discount == null ? void 0 : discount.limited_relation_product_data;
|
|
@@ -650,7 +669,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
650
669
|
].includes(discount2.tag || discount2.type)
|
|
651
670
|
))) : !((flatItem == null ? void 0 : flatItem.booking_id) && !!((_d = (_c = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _c.discount_list) == null ? void 0 : _d.length) && ((_f = (_e = flatItem == null ? void 0 : flatItem.bundleItem) == null ? void 0 : _e.discount_list) == null ? void 0 : _f.every((discount2) => discount2.id)));
|
|
652
671
|
const isBundleAvailable = this.checkPackageSubItemUsageRules(discount, flatItem);
|
|
653
|
-
if (isAvailableProduct && isLimitedProduct && timeLimit && isBundleAvailable && ((_g = discount.config) == null ? void 0 : _g.isAvailable)) {
|
|
672
|
+
if (isAvailableProduct && !isItemRewardProductDiscount && isLimitedProduct && timeLimit && isBundleAvailable && ((_g = discount.config) == null ? void 0 : _g.isAvailable)) {
|
|
654
673
|
(_h = discountApplicability.get(discount.id)) == null ? void 0 : _h.push(product.id);
|
|
655
674
|
const applicableProducts = discountApplicableProducts.get(discount.id) || [];
|
|
656
675
|
const discountType = discount.tag || discount.type;
|
|
@@ -766,6 +785,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
766
785
|
}
|
|
767
786
|
const applicableDiscounts = sortedDiscountList.filter((discount) => {
|
|
768
787
|
var _a3, _b2, _c2, _d2;
|
|
788
|
+
if (this.isItemRewardProductDiscount(product))
|
|
789
|
+
return false;
|
|
769
790
|
const discountType = discount.tag || discount.type;
|
|
770
791
|
const currentOriginUid = getOriginProductUid(originProduct);
|
|
771
792
|
const isReapplyEditModeDiscountForProduct = discount.isEditMode && reapplyBookingDiscountProductUids.size > 0 && currentOriginUid && reapplyBookingDiscountProductUids.has(String(currentOriginUid)) && discount.isSelected === true;
|
|
@@ -835,11 +856,17 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
835
856
|
}
|
|
836
857
|
return false;
|
|
837
858
|
});
|
|
838
|
-
const
|
|
859
|
+
const explicitlySelectedDiscountCard = (options == null ? void 0 : options.isSelected) === true && options.discountId !== void 0 ? applicableDiscounts.find((discount) => {
|
|
860
|
+
const discountType = discount.tag || discount.type;
|
|
861
|
+
return String(discount.id) === String(options.discountId) && ["discount_card", "product_discount_card"].includes(discountType);
|
|
862
|
+
}) : void 0;
|
|
863
|
+
const scannedSelectedDiscountCard = applicableDiscounts.find(
|
|
839
864
|
(n) => n.isScan && n.isSelected && (n.tag || n.type) !== "good_pass"
|
|
840
865
|
);
|
|
866
|
+
const selectedDiscountCard = explicitlySelectedDiscountCard || scannedSelectedDiscountCard;
|
|
841
867
|
const selectedDiscount = selectedDiscountCard || applicableDiscounts[0];
|
|
842
868
|
let isManualDiscount = false;
|
|
869
|
+
let isItemRewardProductDiscount = false;
|
|
843
870
|
if (flatItem.type === "main") {
|
|
844
871
|
isManualDiscount = typeof product.isManualDiscount === "boolean" ? product.isManualDiscount : ((_g = product.discount_list) == null ? void 0 : _g.some((item) => item.type === "product")) || product.total != product.origin_total && (product.bundle || []).every(
|
|
845
872
|
(item) => {
|
|
@@ -850,7 +877,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
850
877
|
_i,
|
|
851
878
|
(item) => item.type === "product"
|
|
852
879
|
)));
|
|
853
|
-
|
|
880
|
+
isItemRewardProductDiscount = this.isItemRewardProductDiscount(product);
|
|
881
|
+
if (product.inPromotion && !isItemRewardProductDiscount) {
|
|
854
882
|
isManualDiscount = false;
|
|
855
883
|
}
|
|
856
884
|
} else {
|
|
@@ -964,7 +992,7 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
964
992
|
} else {
|
|
965
993
|
let total = product.inPromotion ? ((_w = product == null ? void 0 : product._promotion) == null ? void 0 : _w.finalPrice) ?? product.origin_total ?? product.total : product.origin_total ?? product.total;
|
|
966
994
|
let main_product_selling_price = product.price;
|
|
967
|
-
if ((product.discount_list || []).some((item) => item.type === "promotion") || (0, import_lodash_es.isBoolean)(product.vouchersApplicable) && !product.vouchersApplicable) {
|
|
995
|
+
if ((product.discount_list || []).some((item) => item.type === "promotion") || isItemRewardProductDiscount || (0, import_lodash_es.isBoolean)(product.vouchersApplicable) && !product.vouchersApplicable) {
|
|
968
996
|
total = product.total ?? product.origin_total;
|
|
969
997
|
main_product_selling_price = product.main_product_selling_price ?? main_product_selling_price;
|
|
970
998
|
}
|
|
@@ -972,7 +1000,8 @@ var RulesModule = class extends import_BaseModule.BaseModule {
|
|
|
972
1000
|
this.hooks.setProduct(originProduct, {
|
|
973
1001
|
...isManualDiscount ? {
|
|
974
1002
|
price: product.price,
|
|
975
|
-
main_product_selling_price: product.price
|
|
1003
|
+
main_product_selling_price: isItemRewardProductDiscount ? main_product_selling_price : product.price,
|
|
1004
|
+
...isItemRewardProductDiscount ? { total } : {}
|
|
976
1005
|
} : {
|
|
977
1006
|
_id: product._id.split("___")[0] + "___" + index,
|
|
978
1007
|
total,
|
package/lib/server/index.d.ts
CHANGED
|
@@ -57,6 +57,7 @@ declare class Server {
|
|
|
57
57
|
private readonly BOOKING_REMOTE_CACHE_MAX_ENTRIES;
|
|
58
58
|
private salesSearchSubscribers;
|
|
59
59
|
private deviceTaskActionsRegistered;
|
|
60
|
+
private localPaymentUpdateQueues;
|
|
60
61
|
private floorPlanQuerySubscribers;
|
|
61
62
|
private moduleRegistry;
|
|
62
63
|
constructor(core: PisellCore);
|
|
@@ -120,6 +121,8 @@ declare class Server {
|
|
|
120
121
|
private handleSyncSalesTask;
|
|
121
122
|
private runCheckoutSync;
|
|
122
123
|
private omitCheckoutSyncMode;
|
|
124
|
+
private buildRemoteCheckoutData;
|
|
125
|
+
private mergeCheckoutSyncPayments;
|
|
123
126
|
private persistSyncedCheckoutOrder;
|
|
124
127
|
/**
|
|
125
128
|
* 将普通层 QuotationModule 的报价单计算能力桥接到 Server Products 模块。
|
|
@@ -250,6 +253,11 @@ declare class Server {
|
|
|
250
253
|
* 对单个商品 query 订阅者重算并推送(定时路径;不新建 schedule timer)。
|
|
251
254
|
*/
|
|
252
255
|
private recomputeAndNotifySubscriber;
|
|
256
|
+
/**
|
|
257
|
+
* 根据餐牌 ID 获取其绑定日程中的全部时间点。
|
|
258
|
+
* 商品查询定时器与 schedule-time-points 路由共用此逻辑。
|
|
259
|
+
*/
|
|
260
|
+
private getMenuScheduleTimePoints;
|
|
253
261
|
/**
|
|
254
262
|
* query 完成后为 subscriber 同步 schedule 定时器(先 clear 再 schedule)。
|
|
255
263
|
*/
|
|
@@ -453,6 +461,18 @@ declare class Server {
|
|
|
453
461
|
*/
|
|
454
462
|
private handleUpdateLocalOrder;
|
|
455
463
|
private handleOrderSalesCheckout;
|
|
464
|
+
private handleOrderSalesDraft;
|
|
465
|
+
private createLocalPaymentOperationId;
|
|
466
|
+
private buildLocalPaymentOrderLogContext;
|
|
467
|
+
private isValidLocalPaymentDecimal;
|
|
468
|
+
private getInvalidLocalPaymentSurchargeFields;
|
|
469
|
+
private buildLocalPaymentSurchargeUpdate;
|
|
470
|
+
private handleGetLocalPayment;
|
|
471
|
+
private handleUpdateLocalPayment;
|
|
472
|
+
private runLocalPaymentUpdateInQueue;
|
|
473
|
+
private processLocalPaymentUpdate;
|
|
474
|
+
private processSuccessfulLocalPayment;
|
|
475
|
+
private sanitizeLocalRecoveryOrder;
|
|
456
476
|
private handleOrderCheckout;
|
|
457
477
|
private getDeviceTaskPlugin;
|
|
458
478
|
private getIdGeneratorPlugin;
|
|
@@ -480,8 +500,13 @@ declare class Server {
|
|
|
480
500
|
private syncMachinecodeRedeemStatusToLocalOrder;
|
|
481
501
|
private handleOrderCheckoutSubmit;
|
|
482
502
|
private handleSyncCheckoutSubmit;
|
|
503
|
+
private handleOrderDraftSubmit;
|
|
483
504
|
private handlePendingSyncCheckoutOrder;
|
|
484
505
|
private buildPendingSyncCheckoutOrder;
|
|
506
|
+
/**
|
|
507
|
+
* Android 结账自动小票由当前设备设置控制;其它平台保持原有行为。
|
|
508
|
+
*/
|
|
509
|
+
private shouldAutoPrintCheckoutReceipt;
|
|
485
510
|
private shouldBuildSmallTicketData;
|
|
486
511
|
private shouldPrintSyncedOrder;
|
|
487
512
|
private hasPaymentStatus;
|