@pisell/pisellos 2.3.44 → 2.3.45

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 (146) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  2. package/dist/modules/Discount/index.d.ts +0 -1
  3. package/dist/modules/Discount/index.js +11 -40
  4. package/dist/modules/Discount/types.d.ts +0 -1
  5. package/dist/modules/OpenData/index.js +2 -2
  6. package/dist/modules/Order/index.d.ts +2 -4
  7. package/dist/modules/Order/index.js +25 -54
  8. package/dist/modules/Order/types.d.ts +0 -9
  9. package/dist/modules/Order/utils.d.ts +0 -10
  10. package/dist/modules/Order/utils.js +3 -35
  11. package/dist/modules/Product/types.d.ts +0 -1
  12. package/dist/modules/ProductList/index.js +14 -33
  13. package/dist/modules/Quotation/index.d.ts +1 -1
  14. package/dist/modules/Quotation/index.js +2 -2
  15. package/dist/modules/Rules/index.js +13 -47
  16. package/dist/modules/SalesSummary/index.js +13 -12
  17. package/dist/modules/ScanOrderLogger/index.d.ts +0 -2
  18. package/dist/modules/ScanOrderLogger/index.js +2 -15
  19. package/dist/modules/ScanOrderLogger/providers/feishu.js +27 -45
  20. package/dist/modules/ScanOrderLogger/types.d.ts +0 -1
  21. package/dist/modules/Schedule/index.d.ts +1 -3
  22. package/dist/modules/Schedule/index.js +16 -21
  23. package/dist/modules/Summary/utils.js +13 -38
  24. package/dist/modules/index.d.ts +0 -2
  25. package/dist/modules/index.js +1 -3
  26. package/dist/plugins/window.d.ts +0 -1
  27. package/dist/server/index.d.ts +0 -14
  28. package/dist/server/index.js +657 -772
  29. package/dist/solution/BaseSales/index.d.ts +0 -7
  30. package/dist/solution/BaseSales/index.js +42 -64
  31. package/dist/solution/BookingByStep/index.d.ts +1 -16
  32. package/dist/solution/BookingByStep/index.js +215 -294
  33. package/dist/solution/BookingByStep/types.d.ts +1 -2
  34. package/dist/solution/BookingByStep/types.js +1 -3
  35. package/dist/solution/BookingByStep/utils/capacity.js +1 -17
  36. package/dist/solution/BookingByStep/utils/timeslots.d.ts +1 -3
  37. package/dist/solution/BookingByStep/utils/timeslots.js +12 -19
  38. package/dist/solution/BookingTicket/index.d.ts +2 -14
  39. package/dist/solution/BookingTicket/index.js +2 -2
  40. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +1 -3
  41. package/dist/solution/BookingTicket/utils/scan/handleScan.js +2 -10
  42. package/dist/solution/ScanOrder/index.d.ts +14 -26
  43. package/dist/solution/ScanOrder/index.js +739 -1142
  44. package/dist/solution/ScanOrder/types.d.ts +1 -21
  45. package/dist/solution/ScanOrder/utils.d.ts +0 -8
  46. package/dist/solution/ScanOrder/utils.js +25 -66
  47. package/dist/solution/ShopDiscount/index.d.ts +0 -1
  48. package/dist/solution/ShopDiscount/index.js +87 -125
  49. package/dist/solution/VenueBooking/index.d.ts +11 -39
  50. package/dist/solution/VenueBooking/index.js +841 -1167
  51. package/dist/solution/VenueBooking/types.d.ts +0 -3
  52. package/dist/solution/VenueBooking/utils/resource.js +0 -1
  53. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  54. package/dist/solution/VenueBooking/utils/slotMerge.js +5 -10
  55. package/dist/solution/index.d.ts +0 -1
  56. package/dist/solution/index.js +1 -2
  57. package/dist/types/index.d.ts +0 -1
  58. package/lib/modules/Discount/index.d.ts +0 -1
  59. package/lib/modules/Discount/index.js +0 -9
  60. package/lib/modules/Discount/types.d.ts +0 -1
  61. package/lib/modules/OpenData/index.js +1 -1
  62. package/lib/modules/Order/index.d.ts +2 -4
  63. package/lib/modules/Order/index.js +10 -26
  64. package/lib/modules/Order/types.d.ts +0 -9
  65. package/lib/modules/Order/utils.d.ts +0 -10
  66. package/lib/modules/Order/utils.js +5 -36
  67. package/lib/modules/Product/types.d.ts +0 -1
  68. package/lib/modules/ProductList/index.js +31 -40
  69. package/lib/modules/Quotation/index.d.ts +1 -1
  70. package/lib/modules/Quotation/index.js +2 -2
  71. package/lib/modules/Rules/index.js +16 -33
  72. package/lib/modules/SalesSummary/index.js +7 -6
  73. package/lib/modules/ScanOrderLogger/index.d.ts +0 -2
  74. package/lib/modules/ScanOrderLogger/index.js +1 -13
  75. package/lib/modules/ScanOrderLogger/providers/feishu.js +6 -15
  76. package/lib/modules/ScanOrderLogger/types.d.ts +0 -1
  77. package/lib/modules/Schedule/index.d.ts +1 -3
  78. package/lib/modules/Schedule/index.js +8 -10
  79. package/lib/modules/Summary/utils.js +1 -21
  80. package/lib/modules/index.d.ts +0 -2
  81. package/lib/modules/index.js +1 -5
  82. package/lib/plugins/window.d.ts +0 -1
  83. package/lib/server/index.d.ts +0 -14
  84. package/lib/server/index.js +5 -65
  85. package/lib/solution/BaseSales/index.d.ts +0 -7
  86. package/lib/solution/BaseSales/index.js +8 -24
  87. package/lib/solution/BookingByStep/index.d.ts +1 -16
  88. package/lib/solution/BookingByStep/index.js +18 -60
  89. package/lib/solution/BookingByStep/types.d.ts +1 -2
  90. package/lib/solution/BookingByStep/types.js +0 -5
  91. package/lib/solution/BookingByStep/utils/capacity.js +1 -20
  92. package/lib/solution/BookingByStep/utils/timeslots.d.ts +1 -3
  93. package/lib/solution/BookingByStep/utils/timeslots.js +11 -19
  94. package/lib/solution/BookingTicket/index.d.ts +2 -14
  95. package/lib/solution/BookingTicket/index.js +2 -10
  96. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +1 -3
  97. package/lib/solution/BookingTicket/utils/scan/handleScan.js +2 -2
  98. package/lib/solution/ScanOrder/index.d.ts +14 -26
  99. package/lib/solution/ScanOrder/index.js +182 -449
  100. package/lib/solution/ScanOrder/types.d.ts +1 -21
  101. package/lib/solution/ScanOrder/utils.d.ts +0 -8
  102. package/lib/solution/ScanOrder/utils.js +0 -31
  103. package/lib/solution/ShopDiscount/index.d.ts +0 -1
  104. package/lib/solution/ShopDiscount/index.js +0 -14
  105. package/lib/solution/VenueBooking/index.d.ts +11 -39
  106. package/lib/solution/VenueBooking/index.js +110 -322
  107. package/lib/solution/VenueBooking/types.d.ts +0 -3
  108. package/lib/solution/VenueBooking/utils/resource.js +0 -1
  109. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
  110. package/lib/solution/VenueBooking/utils/slotMerge.js +4 -6
  111. package/lib/solution/index.d.ts +0 -1
  112. package/lib/solution/index.js +1 -3
  113. package/lib/types/index.d.ts +0 -1
  114. package/package.json +1 -1
  115. package/dist/modules/Holder/index.d.ts +0 -48
  116. package/dist/modules/Holder/index.js +0 -640
  117. package/dist/modules/Holder/types.d.ts +0 -123
  118. package/dist/modules/Holder/types.js +0 -1
  119. package/dist/modules/Holder/utils.d.ts +0 -13
  120. package/dist/modules/Holder/utils.js +0 -34
  121. package/dist/modules/ResourcePlanner/index.d.ts +0 -24
  122. package/dist/modules/ResourcePlanner/index.js +0 -181
  123. package/dist/modules/ResourcePlanner/planner.d.ts +0 -14
  124. package/dist/modules/ResourcePlanner/planner.js +0 -1069
  125. package/dist/modules/ResourcePlanner/types.d.ts +0 -227
  126. package/dist/modules/ResourcePlanner/types.js +0 -1
  127. package/dist/solution/UnifiedBookingSales/index.d.ts +0 -183
  128. package/dist/solution/UnifiedBookingSales/index.js +0 -1891
  129. package/dist/solution/UnifiedBookingSales/types.d.ts +0 -143
  130. package/dist/solution/UnifiedBookingSales/types.js +0 -11
  131. package/lib/modules/Holder/index.d.ts +0 -48
  132. package/lib/modules/Holder/index.js +0 -402
  133. package/lib/modules/Holder/types.d.ts +0 -123
  134. package/lib/modules/Holder/types.js +0 -17
  135. package/lib/modules/Holder/utils.d.ts +0 -13
  136. package/lib/modules/Holder/utils.js +0 -71
  137. package/lib/modules/ResourcePlanner/index.d.ts +0 -24
  138. package/lib/modules/ResourcePlanner/index.js +0 -148
  139. package/lib/modules/ResourcePlanner/planner.d.ts +0 -14
  140. package/lib/modules/ResourcePlanner/planner.js +0 -933
  141. package/lib/modules/ResourcePlanner/types.d.ts +0 -227
  142. package/lib/modules/ResourcePlanner/types.js +0 -17
  143. package/lib/solution/UnifiedBookingSales/index.d.ts +0 -183
  144. package/lib/solution/UnifiedBookingSales/index.js +0 -1084
  145. package/lib/solution/UnifiedBookingSales/types.d.ts +0 -143
  146. package/lib/solution/UnifiedBookingSales/types.js +0 -33
@@ -1,9 +0,0 @@
1
- // 导出评估器
2
- export { PromotionEvaluator } from "./evaluator";
3
-
4
- // 导出适配器
5
- export { PromotionAdapter } from "./adapter";
6
- export { default } from "./adapter";
7
-
8
- // 导出策略配置示例常量
9
- export { X_ITEMS_FOR_Y_PRICE_STRATEGY, BUY_X_GET_Y_FREE_STRATEGY, ITEM_REWARD_STRATEGY } from "./examples";
@@ -32,7 +32,6 @@ export declare class DiscountModule extends BaseModule implements Module, Discou
32
32
  customerId?: number;
33
33
  orderId?: number;
34
34
  }): Promise<DiscountWithReason>;
35
- batchSearchByProductIds(productIds: number[]): Promise<any>;
36
35
  filterEnabledDiscountList(discountList: Discount[]): Discount[];
37
36
  private checkUsageCreditsLimit;
38
37
  filterEnabledDiscountListWithReason(discountList: Discount[]): DiscountWithReason;
@@ -244,35 +244,6 @@ export var DiscountModule = /*#__PURE__*/function (_BaseModule) {
244
244
  }
245
245
  return batchSearch;
246
246
  }()
247
- }, {
248
- key: "batchSearchByProductIds",
249
- value: function () {
250
- var _batchSearchByProductIds = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(productIds) {
251
- var result;
252
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
253
- while (1) switch (_context6.prev = _context6.next) {
254
- case 0:
255
- _context6.next = 2;
256
- return this.request.get("/machinecode/batch-search", {
257
- ids: productIds,
258
- translate_flag: 1,
259
- tags: ['good_pass', 'product_discount_card'],
260
- relation_product: 1
261
- });
262
- case 2:
263
- result = _context6.sent;
264
- return _context6.abrupt("return", (result === null || result === void 0 ? void 0 : result.data) || []);
265
- case 4:
266
- case "end":
267
- return _context6.stop();
268
- }
269
- }, _callee6, this);
270
- }));
271
- function batchSearchByProductIds(_x8) {
272
- return _batchSearchByProductIds.apply(this, arguments);
273
- }
274
- return batchSearchByProductIds;
275
- }()
276
247
  }, {
277
248
  key: "filterEnabledDiscountList",
278
249
  value: function filterEnabledDiscountList(discountList) {
@@ -459,22 +430,22 @@ export var DiscountModule = /*#__PURE__*/function (_BaseModule) {
459
430
  }, {
460
431
  key: "destroy",
461
432
  value: function () {
462
- var _destroy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
463
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
464
- while (1) switch (_context7.prev = _context7.next) {
433
+ var _destroy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
434
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
435
+ while (1) switch (_context6.prev = _context6.next) {
465
436
  case 0:
466
437
  this.store.discountList = [];
467
438
  this.core.effects.offByModuleDestroy(this.name);
468
- _context7.next = 4;
439
+ _context6.next = 4;
469
440
  return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
470
441
  case 4:
471
442
  console.log('[Discount] 已销毁');
472
443
  _get(_getPrototypeOf(DiscountModule.prototype), "destroy", this).call(this);
473
444
  case 6:
474
445
  case "end":
475
- return _context7.stop();
446
+ return _context6.stop();
476
447
  }
477
- }, _callee7, this);
448
+ }, _callee6, this);
478
449
  }));
479
450
  function destroy() {
480
451
  return _destroy.apply(this, arguments);
@@ -484,18 +455,18 @@ export var DiscountModule = /*#__PURE__*/function (_BaseModule) {
484
455
  }, {
485
456
  key: "clear",
486
457
  value: function () {
487
- var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
488
- return _regeneratorRuntime().wrap(function _callee8$(_context8) {
489
- while (1) switch (_context8.prev = _context8.next) {
458
+ var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
459
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
460
+ while (1) switch (_context7.prev = _context7.next) {
490
461
  case 0:
491
462
  this.store.discountList = [];
492
463
  this.store.originalDiscountList = [];
493
464
  console.log('[Discount] clear');
494
465
  case 3:
495
466
  case "end":
496
- return _context8.stop();
467
+ return _context7.stop();
497
468
  }
498
- }, _callee8, this);
469
+ }, _callee7, this);
499
470
  }));
500
471
  function clear() {
501
472
  return _clear.apply(this, arguments);
@@ -157,7 +157,6 @@ export interface Discount {
157
157
  num?: number;
158
158
  start_date?: string;
159
159
  start_time?: string;
160
- discount_rule_uncheck_flag?: boolean;
161
160
  usageLimitFailKey?: string | null;
162
161
  unified_available_status?: number | undefined | null;
163
162
  }
@@ -105,12 +105,12 @@ export var OpenDataModule = /*#__PURE__*/function (_BaseModule) {
105
105
  key: "fetchOpenData",
106
106
  value: function () {
107
107
  var _fetchOpenData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
108
- var _this$appPlugin, _this$appPlugin$getDa;
108
+ var _this$appPlugin$getDa, _this$appPlugin;
109
109
  var getData, shopId, tenantId, headers, response, data;
110
110
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
111
111
  while (1) switch (_context2.prev = _context2.next) {
112
112
  case 0:
113
- getData = (_this$appPlugin = this.appPlugin) === null || _this$appPlugin === void 0 || (_this$appPlugin$getDa = _this$appPlugin.getData) === null || _this$appPlugin$getDa === void 0 ? void 0 : _this$appPlugin$getDa.call(_this$appPlugin);
113
+ getData = (_this$appPlugin$getDa = (_this$appPlugin = this.appPlugin).getData) === null || _this$appPlugin$getDa === void 0 ? void 0 : _this$appPlugin$getDa.call(_this$appPlugin);
114
114
  shopId = getData === null || getData === void 0 ? void 0 : getData('shop_id');
115
115
  if (shopId) {
116
116
  _context2.next = 4;
@@ -1,6 +1,6 @@
1
1
  import { Module, PisellCore, ModuleOptions } from '../../types';
2
2
  import { BaseModule } from '../BaseModule';
3
- import { OrderModuleAPI, CommitOrderParams, UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, CancelOrderParams, ChangeBookingStatusParams, CheckoutOrderParams } from './types';
3
+ import { OrderModuleAPI, CommitOrderParams, UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, CheckoutOrderParams, CancelOrderParams, ChangeBookingStatusParams } from './types';
4
4
  import { CartItem } from '../Cart/types';
5
5
  import { type SubmitPayloadEnhancer } from './utils';
6
6
  import type { OrderAmountSnapshot, AddProductBookingInput, OrderIdentitySnapshot, OrderPaymentSource, OrderSnapshot, OrderSyncState, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, SubmitSalesOrderParams, OrderProduct, OrderProductIdentity, OrderSummary, OrderTempOrder, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, SendCustomerPayLinkParams, UpdateTempOrderCustomerInput, OrderCustomerPatch, OrderCustomerView, ReplaceTempOrderOptions, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions } from './types';
@@ -147,7 +147,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
147
147
  isTempOrderPersistEnabled(): boolean;
148
148
  /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化;草稿保存请使用 IndexedDB saveDraft。 */
149
149
  persistTempOrder(): void;
150
- notifyTempOrderChanged(): void;
151
150
  private createDefaultTempOrderInstance;
152
151
  private createExternalSaleNumber;
153
152
  private ensureExternalSaleNumber;
@@ -487,7 +486,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
487
486
  generateIdempotencyToken(): string;
488
487
  syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
489
488
  createOrder(params: CommitOrderParams['query']): {
490
- type: "virtual" | "appointment_booking";
489
+ type: "appointment_booking" | "virtual";
491
490
  platform: string;
492
491
  sales_channel: string;
493
492
  order_sales_channel: string;
@@ -497,7 +496,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
497
496
  is_deposit: number;
498
497
  relation_products: any[];
499
498
  relation_forms: any[];
500
- business_code: string | undefined;
501
499
  };
502
500
  checkBeforeSubmitOrder(params: {
503
501
  cartItems: CartItem[];
@@ -32,7 +32,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
32
32
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
33
33
  import { BaseModule } from "../BaseModule";
34
34
  import { OrderHooks } from "./types";
35
- import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, ensureCartItemOriginHolder, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, mergeOrderProductDisplayFields, resolveIsFormSubject } from "./utils";
35
+ import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, mergeOrderProductDisplayFields, resolveIsFormSubject } from "./utils";
36
36
  import { isNormalProduct } from "../Product/utils";
37
37
  import dayjs from 'dayjs';
38
38
  import { ensureOrderPaymentNumber, mergeOrderPaymentRecord, resolveOrderPaymentIdentity } from "./payment-utils";
@@ -309,8 +309,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
309
309
  key: "initialize",
310
310
  value: function () {
311
311
  var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
312
- var _appPlugin$getApp, _otherParams$rules, _otherParams$order, _otherParams$hooks;
313
- var appPlugin, app, otherParams;
312
+ var _otherParams$rules, _otherParams$order, _otherParams$hooks;
313
+ var app, otherParams;
314
314
  return _regeneratorRuntime().wrap(function _callee$(_context) {
315
315
  while (1) switch (_context.prev = _context.next) {
316
316
  case 0:
@@ -326,12 +326,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
326
326
  this.store.availableWalletIds = [];
327
327
  }
328
328
  this.request = this.core.getPlugin('request');
329
- appPlugin = this.core.getPlugin('app');
330
- if (!appPlugin) {
331
- console.error('Order 模块需要 app 插件支持');
329
+ this.appPlugin = this.core.getPlugin('app');
330
+ if (this.appPlugin) {
331
+ _context.next = 9;
332
+ break;
332
333
  }
333
- app = appPlugin === null || appPlugin === void 0 || (_appPlugin$getApp = appPlugin.getApp) === null || _appPlugin$getApp === void 0 ? void 0 : _appPlugin$getApp.call(appPlugin);
334
- this.logger = app === null || app === void 0 ? void 0 : app.logger;
334
+ throw new Error('Order 模块需要 app 插件支持');
335
+ case 9:
336
+ app = this.appPlugin.getApp();
337
+ this.logger = app.logger;
335
338
  this.window = this.core.getPlugin('window');
336
339
  otherParams = options.otherParams || {};
337
340
  this.cacheId = otherParams.cacheId;
@@ -342,7 +345,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
342
345
  this.otherParams = otherParams;
343
346
  this.registerDiscountModules(options);
344
347
  this.logInfo('OrderModule initialized successfully');
345
- case 20:
348
+ case 21:
346
349
  case "end":
347
350
  return _context.stop();
348
351
  }
@@ -1273,16 +1276,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1273
1276
  value: function persistTempOrder() {
1274
1277
  // no-op: OrderModule 的刷新恢复不再依赖 localStorage。
1275
1278
  }
1276
- }, {
1277
- key: "notifyTempOrderChanged",
1278
- value: function notifyTempOrderChanged() {
1279
- if (!this.store.tempOrder) return;
1280
- this.store.tempOrder = _objectSpread(_objectSpread({}, this.store.tempOrder), {}, {
1281
- products: _toConsumableArray(this.store.tempOrder.products),
1282
- bookings: this.store.tempOrder.bookings ? _toConsumableArray(this.store.tempOrder.bookings) : []
1283
- });
1284
- this.persistTempOrder();
1285
- }
1286
1279
 
1287
1280
  // ─── TempOrder: 创建 & 获取 ───
1288
1281
  }, {
@@ -5287,7 +5280,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5287
5280
  var _syncPaymentsToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(params) {
5288
5281
  var _this31 = this,
5289
5282
  _params$confirmPendin;
5290
- var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, submitParams, submitResult;
5283
+ var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, submitResult;
5291
5284
  return _regeneratorRuntime().wrap(function _callee36$(_context39) {
5292
5285
  while (1) switch (_context39.prev = _context39.next) {
5293
5286
  case 0:
@@ -5340,7 +5333,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5340
5333
  case 25:
5341
5334
  this.store.syncState = 'submitting';
5342
5335
  paymentSyncIdempotencyToken = this.buildPaymentSyncIdempotencyToken(tempOrder, effectivePayments);
5343
- submitParams = {
5336
+ _context39.next = 29;
5337
+ return this.submitTempOrder({
5344
5338
  payments: effectivePayments,
5345
5339
  paymentStatus: paymentStatus,
5346
5340
  smallTicketDataFlag: params.smallTicketDataFlag,
@@ -5353,28 +5347,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5353
5347
  });
5354
5348
  return nextPayload;
5355
5349
  }
5356
- };
5357
- if (!(params.checkoutSyncTaskEnabled === false)) {
5358
- _context39.next = 34;
5359
- break;
5360
- }
5361
- _context39.next = 31;
5362
- return this.submitTempOrderAsync(submitParams);
5363
- case 31:
5364
- _context39.t1 = _context39.sent;
5365
- _context39.next = 37;
5366
- break;
5367
- case 34:
5368
- _context39.next = 36;
5369
- return this.submitTempOrder(submitParams);
5370
- case 36:
5371
- _context39.t1 = _context39.sent;
5372
- case 37:
5373
- submitResult = _context39.t1;
5350
+ });
5351
+ case 29:
5352
+ submitResult = _context39.sent;
5374
5353
  return _context39.abrupt("return", _objectSpread(_objectSpread({}, completion), {}, {
5375
5354
  submitResult: submitResult
5376
5355
  }));
5377
- case 39:
5356
+ case 31:
5378
5357
  case "end":
5379
5358
  return _context39.stop();
5380
5359
  }
@@ -5388,7 +5367,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5388
5367
  }, {
5389
5368
  key: "createOrder",
5390
5369
  value: function createOrder(params) {
5391
- var _this32 = this;
5392
5370
  var order = _objectSpread({
5393
5371
  type: (params === null || params === void 0 ? void 0 : params.type) || 'appointment_booking',
5394
5372
  // 要从外面拿,virtual
@@ -5400,13 +5378,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5400
5378
  schedule_date: '',
5401
5379
  is_deposit: 0,
5402
5380
  relation_products: [],
5403
- relation_forms: [],
5404
- business_code: params === null || params === void 0 ? void 0 : params.business_code
5381
+ relation_forms: []
5405
5382
  }, (params === null || params === void 0 ? void 0 : params.extraData) || {});
5406
5383
  var is_deposit = 0; // 是否存在定金,0 不存在,1 存在
5407
5384
  if (params.cartItems.length > 0) {
5408
5385
  params.cartItems.forEach(function (item) {
5409
- var _params$extraData;
5410
5386
  if (!item._origin.duration) {
5411
5387
  var _generateDuration = generateDuration(item),
5412
5388
  duration = _generateDuration.duration,
@@ -5418,11 +5394,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
5418
5394
  var discountList = getAllDiscountList(item);
5419
5395
  item._origin.product.discount_list = discountList;
5420
5396
 
5421
- // 为预约补齐 holder 信息
5422
- if (params !== null && params !== void 0 && (_params$extraData = params.extraData) !== null && _params$extraData !== void 0 && _params$extraData.is_add_holder_info) {
5423
- ensureCartItemOriginHolder(item, _this32.window);
5424
- }
5425
-
5426
5397
  // 购物车是否为普通商品
5427
5398
  if (isNormalProduct(item._origin)) {
5428
5399
  var _order$relation_forms;
@@ -6080,7 +6051,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6080
6051
  }, {
6081
6052
  key: "normalizeTempOrderForRuntime",
6082
6053
  value: function normalizeTempOrderForRuntime(raw, options) {
6083
- var _this33 = this;
6054
+ var _this32 = this;
6084
6055
  var runtimeRaw = this.withoutSyntheticDraftOrderIdForRuntime(raw);
6085
6056
  var nextTempOrder = _objectSpread(_objectSpread({}, this.createDefaultTempOrderInstance()), runtimeRaw || {});
6086
6057
  // ES 列表详情使用 id 表示订单主键;OS 详情态统一依赖 order_id 驱动操作按钮。
@@ -6104,12 +6075,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6104
6075
  nextTempOrder.holder = raw.holder && _typeof(raw.holder) === 'object' ? _objectSpread({}, raw.holder) : null;
6105
6076
  var rawProducts = Array.isArray(raw.products) ? raw.products : [];
6106
6077
  nextTempOrder.products = rawProducts.length > 0 ? rawProducts.map(function (p) {
6107
- return _this33.normalizeHydratedOrderProduct(p, {
6078
+ return _this32.normalizeHydratedOrderProduct(p, {
6108
6079
  makeEditMark: options === null || options === void 0 ? void 0 : options.makeEditMark
6109
6080
  });
6110
6081
  }) : [];
6111
6082
  nextTempOrder.bookings = Array.isArray(raw.bookings) ? raw.bookings.map(function (b) {
6112
- var booking = _this33.normalizeHydratedBookingHolder(b || {});
6083
+ var booking = _this32.normalizeHydratedBookingHolder(b || {});
6113
6084
  return _objectSpread(_objectSpread({}, booking), {}, {
6114
6085
  is_all: normalizeBookingIsAll(booking),
6115
6086
  sub_type: normalizeBookingSubType(booking)
@@ -6296,7 +6267,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6296
6267
  }, {
6297
6268
  key: "normalizeHydratedOrderProduct",
6298
6269
  value: function normalizeHydratedOrderProduct(product, options) {
6299
- var _this34 = this;
6270
+ var _this33 = this;
6300
6271
  var row = _objectSpread({}, product || {});
6301
6272
  if (row.num === undefined && row.product_quantity !== undefined) {
6302
6273
  row.num = row.product_quantity;
@@ -6304,7 +6275,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
6304
6275
  var productSku = ensureProductSku(row);
6305
6276
  row.product_sku = _objectSpread(_objectSpread({}, productSku), {}, {
6306
6277
  option: normalizeProductSkuOptions(productSku.option.map(function (optionItem) {
6307
- return _this34.normalizeHydratedProductOptionItem(optionItem || {});
6278
+ return _this33.normalizeHydratedProductOptionItem(optionItem || {});
6308
6279
  }))
6309
6280
  });
6310
6281
  delete row["product_".concat('option', "_item")];
@@ -396,7 +396,6 @@ export interface CommitOrderParams {
396
396
  type: 'virtual' | 'appointment_booking';
397
397
  platform?: string;
398
398
  extraData?: Record<string, any>;
399
- business_code?: string;
400
399
  };
401
400
  }
402
401
  export interface OrderSubmitBooking {
@@ -572,12 +571,6 @@ export interface SyncPaymentsToOrderParams {
572
571
  payments: OrderPaymentSource[];
573
572
  paymentStatus?: SubmitSalesOrderParams['query']['payment_status'];
574
573
  submitWhenPaid?: boolean;
575
- /**
576
- * Whether the checkout should be queued as the local `sync_sales` task.
577
- * Defaults to true to preserve the WebPOS retry path. Set to false when
578
- * the caller must wait for the cloud checkout response before proceeding.
579
- */
580
- checkoutSyncTaskEnabled?: boolean;
581
574
  smallTicketDataFlag?: number;
582
575
  businessCode?: string;
583
576
  channel?: string;
@@ -740,8 +733,6 @@ export interface OrderModuleAPI {
740
733
  setEnableTempOrderPersist: (enabled: boolean) => void;
741
734
  /** 是否允许 saveDraft 写入 IndexedDB 草稿。 */
742
735
  isTempOrderPersistEnabled: () => boolean;
743
- /** 提交 tempOrder 变更并触发 `{moduleName}:changed` 事件 */
744
- notifyTempOrderChanged: () => void;
745
736
  submitTempOrder: <T = any>(params?: {
746
737
  cacheId?: string;
747
738
  platform?: string;
@@ -15,7 +15,6 @@ export interface OrderProductsDepositSummary {
15
15
  deposit_policy_ids: number[];
16
16
  hasDeposit: boolean;
17
17
  }
18
- import type { WindowPlugin } from '../../plugins';
19
18
  /**
20
19
  * 把"含 option 的主商品单价"与 bundle 合成"单行 composite 单价"。
21
20
  *
@@ -178,15 +177,6 @@ export declare const mergeRelationForms: (relationForms: {
178
177
  form_id: number;
179
178
  form_record_ids: number[];
180
179
  }[];
181
- export interface CartOrderHolder {
182
- customer_id?: number;
183
- form_id: number | string;
184
- form_record: (number | string)[] | null;
185
- }
186
- /**
187
- * 为购物车行补齐订单所需的 holder 信息(与 cartAccount 结构保持一致)
188
- */
189
- export declare function ensureCartItemOriginHolder(cartItem: CartItem, window?: WindowPlugin): void;
190
180
  export declare const getAllDiscountList: (cartItem: CartItem) => any;
191
181
  export { createUuidV4 };
192
182
  export declare function isTempOrder(data: any): data is OrderTempOrder;
@@ -20,7 +20,6 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
20
20
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
21
21
  import dayjs from "dayjs";
22
22
  import Decimal from 'decimal.js';
23
- import { getProductHolderConfig } from "../Holder/utils";
24
23
  import { buildProductLineFingerprint, createEmptySummary } from "../../solution/ScanOrder/utils";
25
24
  import { createUuidV4 } from "./utils/orderCollectionIdentity";
26
25
  /**
@@ -745,41 +744,10 @@ export var mergeRelationForms = function mergeRelationForms(relationForms) {
745
744
  return item.form_record_ids.length > 0;
746
745
  }); // 过滤掉没有有效记录的表单
747
746
  };
748
- function getCustomerIdFromStorage(window) {
749
- try {
750
- var _window$getLocalStora;
751
- var customer = JSON.parse((window === null || window === void 0 || (_window$getLocalStora = window.getLocalStorage) === null || _window$getLocalStora === void 0 ? void 0 : _window$getLocalStora.call(window, 'customer')) || '{}');
752
- var customerId = Number(customer === null || customer === void 0 ? void 0 : customer.id);
753
- return Number.isFinite(customerId) && customerId > 0 ? customerId : undefined;
754
- } catch (_unused) {
755
- return undefined;
756
- }
757
- }
758
-
759
- /**
760
- * 为购物车行补齐订单所需的 holder 信息(与 cartAccount 结构保持一致)
761
- */
762
- export function ensureCartItemOriginHolder(cartItem, window) {
763
- var _cartItem$_origin, _cartItem$_productIni;
764
- if (cartItem !== null && cartItem !== void 0 && (_cartItem$_origin = cartItem._origin) !== null && _cartItem$_origin !== void 0 && _cartItem$_origin.holder) {
765
- return;
766
- }
767
- var holderConfig = getProductHolderConfig((_cartItem$_productIni = cartItem === null || cartItem === void 0 ? void 0 : cartItem._productInit) !== null && _cartItem$_productIni !== void 0 ? _cartItem$_productIni : cartItem === null || cartItem === void 0 ? void 0 : cartItem._productOrigin);
768
- var formRecordId = cartItem === null || cartItem === void 0 ? void 0 : cartItem.holder_id;
769
- if (!(holderConfig !== null && holderConfig !== void 0 && holderConfig.resource_id) || formRecordId == null) {
770
- return;
771
- }
772
- cartItem._origin.holder = {
773
- customer_id: getCustomerIdFromStorage(window),
774
- form_id: holderConfig.resource_id,
775
- form_record: [formRecordId]
776
- };
777
- }
778
- ;
779
747
  export var getAllDiscountList = function getAllDiscountList(cartItem) {
780
- var _cartItem$_origin2, _cartItem$_origin3;
781
- var discountList = (cartItem === null || cartItem === void 0 || (_cartItem$_origin2 = cartItem._origin) === null || _cartItem$_origin2 === void 0 || (_cartItem$_origin2 = _cartItem$_origin2.product) === null || _cartItem$_origin2 === void 0 ? void 0 : _cartItem$_origin2.discount_list) || [];
782
- ((cartItem === null || cartItem === void 0 || (_cartItem$_origin3 = cartItem._origin) === null || _cartItem$_origin3 === void 0 || (_cartItem$_origin3 = _cartItem$_origin3.product) === null || _cartItem$_origin3 === void 0 ? void 0 : _cartItem$_origin3.product_bundle) || []).forEach(function (item) {
748
+ var _cartItem$_origin, _cartItem$_origin2;
749
+ var discountList = (cartItem === null || cartItem === void 0 || (_cartItem$_origin = cartItem._origin) === null || _cartItem$_origin === void 0 || (_cartItem$_origin = _cartItem$_origin.product) === null || _cartItem$_origin === void 0 ? void 0 : _cartItem$_origin.discount_list) || [];
750
+ ((cartItem === null || cartItem === void 0 || (_cartItem$_origin2 = cartItem._origin) === null || _cartItem$_origin2 === void 0 || (_cartItem$_origin2 = _cartItem$_origin2.product) === null || _cartItem$_origin2 === void 0 ? void 0 : _cartItem$_origin2.product_bundle) || []).forEach(function (item) {
783
751
  discountList = [].concat(_toConsumableArray(discountList), _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []));
784
752
  item.discount_list = undefined;
785
753
  });
@@ -193,7 +193,6 @@ export interface ProductData {
193
193
  status?: string;
194
194
  required?: number | string | boolean;
195
195
  resource_id?: number | string | null;
196
- [key: string]: any;
197
196
  };
198
197
  /** 组合商品id,动态附加 */
199
198
  product_variant_id?: number;
@@ -157,10 +157,6 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
157
157
  userPlugin,
158
158
  customer_id,
159
159
  _userPlugin$get,
160
- channelMap,
161
- rawApplicationCode,
162
- mappedApplicationCode,
163
- queryPayload,
164
160
  productsData,
165
161
  sortedList,
166
162
  _args4 = arguments;
@@ -189,16 +185,8 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
189
185
  console.error(error);
190
186
  }
191
187
  // 如果没传schedule_date,则从
192
- channelMap = {
193
- online_store: 'online-store',
194
- scan_to_order: 'online-store',
195
- 'scan-to-order': 'online-store',
196
- scan_to_order_2: 'mobile_order',
197
- scan_to_order_3: 'scantoorder3'
198
- };
199
- rawApplicationCode = (_this$otherParams = this.otherParams) === null || _this$otherParams === void 0 ? void 0 : _this$otherParams.channel;
200
- mappedApplicationCode = typeof rawApplicationCode === 'string' ? channelMap[rawApplicationCode] || rawApplicationCode : rawApplicationCode;
201
- queryPayload = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
188
+ _context4.next = 7;
189
+ return this.request.post("/product/query", {
202
190
  open_quotation: 1,
203
191
  open_bundle: 0,
204
192
  exclude_extension_type: ['product_party', 'product_event', 'product_series_event', 'product_package_ticket', 'ticket', 'event_item'],
@@ -206,35 +194,28 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
206
194
  status: status,
207
195
  num: 500,
208
196
  skip: 1,
209
- customer_id: customer_id
210
- }, Array.isArray(category_ids) && category_ids.length ? {
211
- category_ids: category_ids
212
- } : {}), Array.isArray(product_ids) && product_ids.length ? {
213
- ids: product_ids
214
- } : {}), Array.isArray(collection) && collection.length ? {
215
- collection: collection
216
- } : {}), {}, {
217
- front_end_cache_id: cacheId
218
- }, Array.isArray(menu_list_ids) && menu_list_ids.length ? {
219
- menu_list_ids: menu_list_ids
220
- } : {}), {}, {
197
+ customer_id: customer_id,
198
+ category_ids: category_ids,
199
+ ids: product_ids,
200
+ collection: collection,
201
+ front_end_cache_id: cacheId,
202
+ menu_list_ids: menu_list_ids,
221
203
  with_count: with_count,
222
204
  // client_schedule_ids: schedule_ids,
223
205
  schedule_date: schedule_date,
224
- application_code: mappedApplicationCode,
206
+ application_code: (_this$otherParams = this.otherParams) === null || _this$otherParams === void 0 ? void 0 : _this$otherParams.channel,
225
207
  is_eject: 1,
226
208
  with_schedule: with_schedule,
227
209
  schedule_datetime: schedule_datetime,
228
- extension_type: extension_type
229
- });
230
- _context4.next = 11;
231
- return this.request.post("/product/query", queryPayload, {
210
+ extension_type: extension_type,
211
+ strategy_context: strategy_context
212
+ }, {
232
213
  osServer: true,
233
214
  callback: options === null || options === void 0 ? void 0 : options.callback,
234
215
  subscriberId: options === null || options === void 0 ? void 0 : options.subscriberId,
235
216
  customToast: function customToast() {}
236
217
  });
237
- case 11:
218
+ case 7:
238
219
  productsData = _context4.sent;
239
220
  sortedList = (productsData.data.list || []).slice().sort(function (a, b) {
240
221
  return Number(b.sort) - Number(a.sort);
@@ -247,7 +228,7 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
247
228
  // }
248
229
  this.addProduct(sortedList);
249
230
  return _context4.abrupt("return", sortedList);
250
- case 15:
231
+ case 11:
251
232
  case "end":
252
233
  return _context4.stop();
253
234
  }
@@ -21,7 +21,7 @@ export declare class QuotationModule extends BaseModule implements Module {
21
21
  * Look up the quotation price for a specific product (+ optional variant) at a given datetime.
22
22
  * Returns the price as a string (e.g. "300.00"), or null if no quotation applies.
23
23
  *
24
- * Priority: iterates quotations already sorted by `sort` descending (highest = highest priority).
24
+ * Priority: iterates quotations already sorted by `sort` ascending (lowest = highest priority).
25
25
  * First matching quotation whose schedule covers `datetime` and whose product_data contains
26
26
  * the requested productId wins.
27
27
  */
@@ -90,7 +90,7 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
90
90
  res = _context2.sent;
91
91
  list = (res === null || res === void 0 || (_data = res.data) === null || _data === void 0 ? void 0 : _data.list) || (res === null || res === void 0 ? void 0 : res.list) || [];
92
92
  list.sort(function (a, b) {
93
- return b.sort - a.sort;
93
+ return a.sort - b.sort;
94
94
  });
95
95
  this.store.list = list;
96
96
  case 9:
@@ -151,7 +151,7 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
151
151
  * Look up the quotation price for a specific product (+ optional variant) at a given datetime.
152
152
  * Returns the price as a string (e.g. "300.00"), or null if no quotation applies.
153
153
  *
154
- * Priority: iterates quotations already sorted by `sort` descending (highest = highest priority).
154
+ * Priority: iterates quotations already sorted by `sort` ascending (lowest = highest priority).
155
155
  * First matching quotation whose schedule covers `datetime` and whose product_data contains
156
156
  * the requested productId wins.
157
157
  */