@pisell/pisellos 2.3.42 → 2.3.43

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.
Files changed (147) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  2. package/dist/modules/Discount/index.d.ts +1 -0
  3. package/dist/modules/Discount/index.js +40 -11
  4. package/dist/modules/Discount/types.d.ts +1 -0
  5. package/dist/modules/Holder/index.d.ts +48 -0
  6. package/dist/modules/Holder/index.js +640 -0
  7. package/dist/modules/Holder/types.d.ts +123 -0
  8. package/dist/modules/Holder/types.js +1 -0
  9. package/dist/modules/Holder/utils.d.ts +13 -0
  10. package/dist/modules/Holder/utils.js +34 -0
  11. package/dist/modules/OpenData/index.js +2 -2
  12. package/dist/modules/Order/index.d.ts +3 -1
  13. package/dist/modules/Order/index.js +54 -25
  14. package/dist/modules/Order/types.d.ts +9 -0
  15. package/dist/modules/Order/utils.d.ts +10 -0
  16. package/dist/modules/Order/utils.js +35 -3
  17. package/dist/modules/Product/types.d.ts +1 -0
  18. package/dist/modules/ProductList/index.js +33 -14
  19. package/dist/modules/Quotation/index.d.ts +1 -1
  20. package/dist/modules/Quotation/index.js +2 -2
  21. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  22. package/dist/modules/ResourcePlanner/index.js +181 -0
  23. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  24. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  25. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  26. package/dist/modules/ResourcePlanner/types.js +1 -0
  27. package/dist/modules/Rules/index.js +47 -13
  28. package/dist/modules/SalesSummary/index.js +12 -13
  29. package/dist/modules/ScanOrderLogger/index.d.ts +2 -0
  30. package/dist/modules/ScanOrderLogger/index.js +15 -2
  31. package/dist/modules/ScanOrderLogger/providers/feishu.js +45 -27
  32. package/dist/modules/ScanOrderLogger/types.d.ts +1 -0
  33. package/dist/modules/Schedule/index.d.ts +3 -1
  34. package/dist/modules/Schedule/index.js +21 -16
  35. package/dist/modules/Summary/utils.js +38 -13
  36. package/dist/modules/index.d.ts +2 -0
  37. package/dist/modules/index.js +3 -1
  38. package/dist/plugins/window.d.ts +1 -0
  39. package/dist/server/index.d.ts +14 -0
  40. package/dist/server/index.js +772 -657
  41. package/dist/solution/BaseSales/index.d.ts +7 -0
  42. package/dist/solution/BaseSales/index.js +64 -42
  43. package/dist/solution/BookingByStep/index.d.ts +17 -2
  44. package/dist/solution/BookingByStep/index.js +294 -215
  45. package/dist/solution/BookingByStep/types.d.ts +2 -1
  46. package/dist/solution/BookingByStep/types.js +3 -1
  47. package/dist/solution/BookingByStep/utils/capacity.js +17 -1
  48. package/dist/solution/BookingByStep/utils/timeslots.d.ts +3 -1
  49. package/dist/solution/BookingByStep/utils/timeslots.js +19 -12
  50. package/dist/solution/BookingTicket/index.d.ts +1 -1
  51. package/dist/solution/BookingTicket/index.js +2 -2
  52. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  53. package/dist/solution/BookingTicket/utils/scan/handleScan.js +10 -2
  54. package/dist/solution/ScanOrder/index.d.ts +26 -14
  55. package/dist/solution/ScanOrder/index.js +1142 -739
  56. package/dist/solution/ScanOrder/types.d.ts +21 -1
  57. package/dist/solution/ScanOrder/utils.d.ts +8 -0
  58. package/dist/solution/ScanOrder/utils.js +66 -25
  59. package/dist/solution/ShopDiscount/index.d.ts +1 -0
  60. package/dist/solution/ShopDiscount/index.js +125 -87
  61. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  62. package/dist/solution/UnifiedBookingSales/index.js +1891 -0
  63. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  64. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  65. package/dist/solution/VenueBooking/index.d.ts +39 -11
  66. package/dist/solution/VenueBooking/index.js +1167 -841
  67. package/dist/solution/VenueBooking/types.d.ts +3 -0
  68. package/dist/solution/VenueBooking/utils/resource.js +1 -0
  69. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  70. package/dist/solution/VenueBooking/utils/slotMerge.js +10 -5
  71. package/dist/solution/index.d.ts +1 -0
  72. package/dist/solution/index.js +2 -1
  73. package/dist/types/index.d.ts +1 -0
  74. package/lib/model/strategy/adapter/promotion/index.js +0 -51
  75. package/lib/modules/Discount/index.d.ts +1 -0
  76. package/lib/modules/Discount/index.js +9 -0
  77. package/lib/modules/Discount/types.d.ts +1 -0
  78. package/lib/modules/Holder/index.d.ts +48 -0
  79. package/lib/modules/Holder/index.js +402 -0
  80. package/lib/modules/Holder/types.d.ts +123 -0
  81. package/lib/modules/Holder/types.js +17 -0
  82. package/lib/modules/Holder/utils.d.ts +13 -0
  83. package/lib/modules/Holder/utils.js +71 -0
  84. package/lib/modules/OpenData/index.js +1 -1
  85. package/lib/modules/Order/index.d.ts +3 -1
  86. package/lib/modules/Order/index.js +26 -10
  87. package/lib/modules/Order/types.d.ts +9 -0
  88. package/lib/modules/Order/utils.d.ts +10 -0
  89. package/lib/modules/Order/utils.js +36 -5
  90. package/lib/modules/Product/types.d.ts +1 -0
  91. package/lib/modules/ProductList/index.js +40 -31
  92. package/lib/modules/Quotation/index.d.ts +1 -1
  93. package/lib/modules/Quotation/index.js +2 -2
  94. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  95. package/lib/modules/ResourcePlanner/index.js +148 -0
  96. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  97. package/lib/modules/ResourcePlanner/planner.js +933 -0
  98. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  99. package/lib/modules/ResourcePlanner/types.js +17 -0
  100. package/lib/modules/Rules/index.js +33 -16
  101. package/lib/modules/SalesSummary/index.js +6 -7
  102. package/lib/modules/ScanOrderLogger/index.d.ts +2 -0
  103. package/lib/modules/ScanOrderLogger/index.js +13 -1
  104. package/lib/modules/ScanOrderLogger/providers/feishu.js +15 -6
  105. package/lib/modules/ScanOrderLogger/types.d.ts +1 -0
  106. package/lib/modules/Schedule/index.d.ts +3 -1
  107. package/lib/modules/Schedule/index.js +10 -8
  108. package/lib/modules/Summary/utils.js +21 -1
  109. package/lib/modules/index.d.ts +2 -0
  110. package/lib/modules/index.js +5 -1
  111. package/lib/plugins/window.d.ts +1 -0
  112. package/lib/server/index.d.ts +14 -0
  113. package/lib/server/index.js +65 -5
  114. package/lib/solution/BaseSales/index.d.ts +7 -0
  115. package/lib/solution/BaseSales/index.js +24 -8
  116. package/lib/solution/BookingByStep/index.d.ts +17 -2
  117. package/lib/solution/BookingByStep/index.js +60 -18
  118. package/lib/solution/BookingByStep/types.d.ts +2 -1
  119. package/lib/solution/BookingByStep/types.js +5 -0
  120. package/lib/solution/BookingByStep/utils/capacity.js +20 -1
  121. package/lib/solution/BookingByStep/utils/timeslots.d.ts +3 -1
  122. package/lib/solution/BookingByStep/utils/timeslots.js +19 -11
  123. package/lib/solution/BookingTicket/index.d.ts +1 -1
  124. package/lib/solution/BookingTicket/index.js +10 -2
  125. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  126. package/lib/solution/BookingTicket/utils/scan/handleScan.js +2 -2
  127. package/lib/solution/ScanOrder/index.d.ts +26 -14
  128. package/lib/solution/ScanOrder/index.js +449 -182
  129. package/lib/solution/ScanOrder/types.d.ts +21 -1
  130. package/lib/solution/ScanOrder/utils.d.ts +8 -0
  131. package/lib/solution/ScanOrder/utils.js +31 -0
  132. package/lib/solution/ShopDiscount/index.d.ts +1 -0
  133. package/lib/solution/ShopDiscount/index.js +14 -0
  134. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  135. package/lib/solution/UnifiedBookingSales/index.js +1084 -0
  136. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  137. package/lib/solution/UnifiedBookingSales/types.js +33 -0
  138. package/lib/solution/VenueBooking/index.d.ts +39 -11
  139. package/lib/solution/VenueBooking/index.js +322 -110
  140. package/lib/solution/VenueBooking/types.d.ts +3 -0
  141. package/lib/solution/VenueBooking/utils/resource.js +1 -0
  142. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  143. package/lib/solution/VenueBooking/utils/slotMerge.js +6 -4
  144. package/lib/solution/index.d.ts +1 -0
  145. package/lib/solution/index.js +3 -1
  146. package/lib/types/index.d.ts +1 -0
  147. package/package.json +1 -1
@@ -1092,7 +1092,11 @@ var BookingTicketImpl = class extends import_BaseSales.BaseSalesImpl {
1092
1092
  */
1093
1093
  scanGlobalListener(callback) {
1094
1094
  const localSearch = (v) => this.store.products.findProductsByCodeOrBarcode(v);
1095
- const scanCallback = (0, import_handleScan.handleGlobalScan)(this.request, localSearch);
1095
+ const scanCallback = (0, import_handleScan.handleGlobalScan)(
1096
+ this.request,
1097
+ localSearch,
1098
+ this.getSubmitOrderSalesChannel()
1099
+ );
1096
1100
  const safeCallback = (d) => {
1097
1101
  try {
1098
1102
  callback(d);
@@ -1421,7 +1425,11 @@ var BookingTicketImpl = class extends import_BaseSales.BaseSalesImpl {
1421
1425
  }
1422
1426
  try {
1423
1427
  const localSearch = (v) => this.store.products.findProductsByCodeOrBarcode(v);
1424
- const scanCallback = (0, import_handleScan.handleGlobalScan)(this.request, localSearch);
1428
+ const scanCallback = (0, import_handleScan.handleGlobalScan)(
1429
+ this.request,
1430
+ localSearch,
1431
+ this.getSubmitOrderSalesChannel()
1432
+ );
1425
1433
  const raw = await scanCallback({ type: "nativeScanner", value: trimmed });
1426
1434
  const formatted = (0, import_formatGlobalScan.formatGlobalScanResult)(raw, trimmed);
1427
1435
  if (!formatted) {
@@ -2,9 +2,11 @@ import { RequestPlugin } from '../../../../plugins';
2
2
  /**
3
3
  * 处理全局扫码
4
4
  * @param request 请求插件
5
+ * @param localSearch 本地商品搜索
6
+ * @param channel 当前销售渠道
5
7
  * @returns 处理结果
6
8
  */
7
- export declare const handleGlobalScan: (request: RequestPlugin, localSearch: (v: string) => any[]) => (scanResult: {
9
+ export declare const handleGlobalScan: (request: RequestPlugin, localSearch: (v: string) => any[], channel?: string) => (scanResult: {
8
10
  type: string;
9
11
  value: string;
10
12
  }) => Promise<any>;
@@ -102,14 +102,14 @@ var handleScanFn = (getRequestList, localSearch) => {
102
102
  }
103
103
  };
104
104
  };
105
- var handleGlobalScan = (request, localSearch) => {
105
+ var handleGlobalScan = (request, localSearch, channel) => {
106
106
  const getRequestList = (value) => {
107
107
  let requestList = [];
108
108
  if (value.startsWith("WL")) {
109
109
  requestList = [(0, import_cloudSearch.searchWallet)(request, value)];
110
110
  } else {
111
111
  requestList = [
112
- (0, import_cloudSearch.searchOrder)(request, value),
112
+ ...channel === "kiosk" ? [] : [(0, import_cloudSearch.searchOrder)(request, value)],
113
113
  (0, import_cloudSearch.searchWalletPass)(request, value),
114
114
  (0, import_cloudSearch.searchWallet)(request, value),
115
115
  (0, import_cloudSearch.searchProduct)(request, value)
@@ -1,8 +1,9 @@
1
1
  import { Module, ModuleOptions, PisellCore } from '../../types';
2
- import { BaseModule } from '../../modules/BaseModule';
3
- import { ScanOrderAddLogParams, ScanOrderAvailabilityInfo, ScanOrderOrderProduct, ScanOrderOrderProductIdentity, ScanOrderScanCodeResult } from './types';
2
+ import { BaseSalesImpl } from '../BaseSales';
3
+ import { ScanOrderAddLogParams, ScanOrderAvailabilityInfo, ScanOrderAllowAddItemsInfo, ScanOrderOrderProduct, ScanOrderOrderProductIdentity, ScanOrderReservationResourceSelectInfo, ScanOrderState, ScanOrderScanCodeResult, ScanOrderSyncAdditionalOrderResult } from './types';
4
4
  import type { UpdateOrderProductParams } from '../../modules/Order/types';
5
5
  import type { Discount } from '../../modules/Discount/types';
6
+ import { RequestPlugin, WindowPlugin } from '../../plugins';
6
7
  import { type CartItemSummary, type PaxInfo, type QuantityCheckResult, type QuantityLimitResult } from '../../model/strategy/adapter/itemRule';
7
8
  import type { StrategyConfig } from '../../model/strategy/type';
8
9
  import type { ProductData } from '../../modules/Product/types';
@@ -15,16 +16,16 @@ interface ScanOrderItemRuleRuntimeConfig {
15
16
  submissionIndex?: number;
16
17
  custom?: Record<string, any>;
17
18
  }
18
- export declare class ScanOrderImpl extends BaseModule implements Module {
19
+ export declare class ScanOrderImpl extends BaseSalesImpl implements Module {
19
20
  protected defaultName: string;
20
21
  protected defaultVersion: string;
21
22
  isSolution: boolean;
22
- private initializeOptions;
23
- private store;
24
- private otherParams;
25
- private cacheId;
26
- private window;
27
- private request;
23
+ protected initializeOptions: ModuleOptions;
24
+ protected store: ScanOrderState;
25
+ protected otherParams: Record<string, any>;
26
+ protected cacheId: string | undefined;
27
+ window: WindowPlugin;
28
+ request: RequestPlugin;
28
29
  private itemRuleEvaluator;
29
30
  private itemRuleConfigs;
30
31
  private itemRuleConfigsPromise;
@@ -53,9 +54,10 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
53
54
  private registerCustomerLoginListeners;
54
55
  private refreshOrderMarketingAfterLogin;
55
56
  constructor(name?: string, version?: string);
57
+ protected getRegisteredModuleNames(): readonly string[];
58
+ protected createSubModule(moduleName: string): Module | null;
56
59
  /** 与 `otherParams.cacheId` 一致,供宿主在 URL 变化时判断是否需要重新注册模块 */
57
60
  getCacheId(): string | undefined;
58
- private destroyRegisteredChildModules;
59
61
  initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
60
62
  destroy(): Promise<void>;
61
63
  retryInit(): Promise<void>;
@@ -71,12 +73,14 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
71
73
  };
72
74
  getTempOrder(): import("../../modules/Order/types").OrderTempOrder | null;
73
75
  updateTempOrderNote(note: string): string;
76
+ updateTempOrderNote(note: string, sync: true): Promise<string>;
77
+ updateTempOrderNote(note: string, sync: boolean): string | Promise<string>;
74
78
  setPickupReferenceMode(mode: 'counter_pickup' | 'table_service'): {
75
- service_type: 'dine_in';
79
+ service_type: 'dine_in' | '';
76
80
  pickup_reference_mode: 'counter_pickup' | 'table_service';
77
81
  };
78
82
  setPickupRef(buzzer: string): string;
79
- private ensureTempOrder;
83
+ private ensureScanOrderTempOrder;
80
84
  addNewOrder(): Promise<import("../../modules/Order/types").OrderTempOrder>;
81
85
  restoreOrder(): Promise<import("../../modules/Order/types").OrderTempOrder>;
82
86
  getOrderProducts(): import("../../modules/Order/types").OrderProduct[];
@@ -92,7 +96,10 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
92
96
  }): Promise<void>;
93
97
  private findReservationRuleResource;
94
98
  private buildScanOrderResourceMetadata;
99
+ private prepareRetailAvailability;
95
100
  private buildSubmitPayloadEnhancer;
101
+ private isScanOrderMoreMode;
102
+ private submitScanOrderMore;
96
103
  submitScanOrder<T = any>(): Promise<T>;
97
104
  addProductToOrder(product: Partial<ScanOrderOrderProduct> & ScanOrderOrderProductIdentity): Promise<import("../../modules/Order/types").OrderProduct[]>;
98
105
  updateOrderProduct(params: UpdateOrderProductParams): Promise<import("../../modules/Order/types").OrderProduct[]>;
@@ -117,8 +124,10 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
117
124
  setItemRuleRuntimeConfig(config?: ScanOrderItemRuleRuntimeConfig): Promise<void>;
118
125
  private normalizeResourceState;
119
126
  private resolveResourceSelectType;
120
- private fetchResourceOccupyDetailByResourceId;
121
- checkResourceAvailable(resourceId: string, hasOrderId: boolean): Promise<ScanOrderAvailabilityInfo>;
127
+ private fetchResourceOccupyDetailsByResourceId;
128
+ private resolveAdditionalOrderFromOccupyDetail;
129
+ checkResourceAvailable(resourceId?: string | null, hasOrderId?: boolean): Promise<ScanOrderAvailabilityInfo>;
130
+ restorePreviousOrderData(): Promise<void>;
122
131
  getAdditionalOrderInfo(): Promise<{
123
132
  orderId: string;
124
133
  orderStatus: 'pending' | 'processing' | 'completed' | 'cancelled';
@@ -141,6 +150,9 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
141
150
  clearUIState(): void;
142
151
  setEntryPaxNumber(number: number): Promise<void>;
143
152
  getEntryPaxNumber(): number | null;
153
+ syncAdditionalOrderFromResource(resourceId?: string | null): Promise<ScanOrderSyncAdditionalOrderResult>;
154
+ getReservationResourceSelectType(): ScanOrderReservationResourceSelectInfo;
155
+ checkAllowAddItems(): ScanOrderAllowAddItemsInfo;
144
156
  getFulfillmentModes(): {
145
157
  enablePickup: boolean;
146
158
  enableTableService: boolean;