@pisell/pisellos 2.3.149 → 2.3.151

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 (42) hide show
  1. package/dist/model/strategy/adapter/itemRule/adapter.d.ts +3 -1
  2. package/dist/model/strategy/adapter/itemRule/adapter.js +74 -7
  3. package/dist/model/strategy/adapter/itemRule/evaluator.d.ts +3 -1
  4. package/dist/model/strategy/adapter/itemRule/evaluator.js +13 -0
  5. package/dist/model/strategy/adapter/itemRule/type.d.ts +40 -1
  6. package/dist/model/strategy/adapter/itemRule/type.js +10 -0
  7. package/dist/modules/OpenData/types.d.ts +2 -0
  8. package/dist/modules/Order/index.d.ts +4 -2
  9. package/dist/modules/Order/index.js +115 -67
  10. package/dist/modules/Order/types.d.ts +7 -1
  11. package/dist/modules/Rules/index.js +75 -54
  12. package/dist/solution/BaseSales/fulfillmentItemRules.d.ts +27 -0
  13. package/dist/solution/BaseSales/fulfillmentItemRules.js +750 -0
  14. package/dist/solution/BaseSales/index.d.ts +5 -1
  15. package/dist/solution/BaseSales/index.js +1116 -1021
  16. package/dist/solution/BaseSales/pickupTiming.d.ts +2 -0
  17. package/dist/solution/BaseSales/pickupTiming.js +16 -5
  18. package/dist/solution/BookingByStep/index.d.ts +1 -1
  19. package/dist/solution/BookingTicket/index.d.ts +1 -0
  20. package/dist/solution/BookingTicket/index.js +444 -425
  21. package/lib/model/strategy/adapter/itemRule/adapter.d.ts +3 -1
  22. package/lib/model/strategy/adapter/itemRule/adapter.js +54 -4
  23. package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +3 -1
  24. package/lib/model/strategy/adapter/itemRule/evaluator.js +9 -0
  25. package/lib/model/strategy/adapter/itemRule/type.d.ts +40 -1
  26. package/lib/model/strategy/adapter/itemRule/type.js +10 -0
  27. package/lib/model/strategy/adapter/promotion/index.js +46 -1
  28. package/lib/modules/OpenData/types.d.ts +2 -0
  29. package/lib/modules/Order/index.d.ts +4 -2
  30. package/lib/modules/Order/index.js +33 -14
  31. package/lib/modules/Order/types.d.ts +7 -1
  32. package/lib/modules/Rules/index.js +22 -3
  33. package/lib/solution/BaseSales/fulfillmentItemRules.d.ts +27 -0
  34. package/lib/solution/BaseSales/fulfillmentItemRules.js +259 -0
  35. package/lib/solution/BaseSales/index.d.ts +5 -1
  36. package/lib/solution/BaseSales/index.js +38 -2
  37. package/lib/solution/BaseSales/pickupTiming.d.ts +2 -0
  38. package/lib/solution/BaseSales/pickupTiming.js +5 -1
  39. package/lib/solution/BookingByStep/index.d.ts +1 -1
  40. package/lib/solution/BookingTicket/index.d.ts +1 -0
  41. package/lib/solution/BookingTicket/index.js +3 -0
  42. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  import type { OrderModule } from '../../modules/Order';
2
+ import type { ShopServiceType } from '../../modules/Order/types';
2
3
  import type { ScheduleModule } from '../../modules/Schedule';
3
4
  import { type PickupTimingAvailability, type PickupTimingSelection, type PickupTimingValidationResult } from '../../modules/FulfillmentTiming';
4
5
  interface PickupTimingHost {
5
6
  getOrder: () => OrderModule;
7
+ setServiceType?: (serviceType: ShopServiceType) => unknown | Promise<unknown>;
6
8
  getSchedule: () => ScheduleModule | undefined;
7
9
  loadOpenData: (force: boolean) => Promise<Record<string, unknown>>;
8
10
  getTimezone: () => string;
@@ -475,21 +475,32 @@ export var PickupTimingController = /*#__PURE__*/function () {
475
475
  return _context9.abrupt("return", this.getSelection());
476
476
  case 17:
477
477
  if (!(selection.serviceType !== 'pick_up')) {
478
- _context9.next = 20;
478
+ _context9.next = 25;
479
479
  break;
480
480
  }
481
+ if (!this.host.setServiceType) {
482
+ _context9.next = 23;
483
+ break;
484
+ }
485
+ _context9.next = 21;
486
+ return this.host.setServiceType(selection.serviceType);
487
+ case 21:
488
+ _context9.next = 24;
489
+ break;
490
+ case 23:
481
491
  order.updateTempOrderServiceType(selection.serviceType);
492
+ case 24:
482
493
  return _context9.abrupt("return", this.getSelection());
483
- case 20:
494
+ case 25:
484
495
  slot = selection.mode === 'asap' ? getAsapPickupTiming(_objectSpread(_objectSpread({}, snapshot), {}, {
485
496
  now: now
486
497
  })) : result.slot;
487
498
  if (slot) {
488
- _context9.next = 23;
499
+ _context9.next = 28;
489
500
  break;
490
501
  }
491
502
  throw new Error('Please choose a pickup time.');
492
- case 23:
503
+ case 28:
493
504
  // Validate everything before either field is changed; notify once after the combined update.
494
505
  tempOrder.metadata = _objectSpread(_objectSpread({}, tempOrder.metadata || {}), {}, {
495
506
  shop_service_data: _objectSpread(_objectSpread({}, ((_tempOrder$metadata2 = tempOrder.metadata) === null || _tempOrder$metadata2 === void 0 ? void 0 : _tempOrder$metadata2.shop_service_data) || {}), {}, {
@@ -506,7 +517,7 @@ export var PickupTimingController = /*#__PURE__*/function () {
506
517
  frozen: (_options$frozen = options.frozen) !== null && _options$frozen !== void 0 ? _options$frozen : false
507
518
  });
508
519
  return _context9.abrupt("return", this.getSelection());
509
- case 26:
520
+ case 31:
510
521
  case "end":
511
522
  return _context9.stop();
512
523
  }
@@ -347,7 +347,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
347
347
  count: number;
348
348
  left: number;
349
349
  summaryCount: number;
350
- status: "sold_out" | "lots_of_space" | "filling_up_fast";
350
+ status: "lots_of_space" | "filling_up_fast" | "sold_out";
351
351
  }[];
352
352
  /**
353
353
  * 找到多个资源的公共可用时间段
@@ -58,6 +58,7 @@ export declare class BookingTicketImpl extends BaseSalesImpl implements Module {
58
58
  private getIdGeneratorPlugin;
59
59
  protected loadOpenDataConfig(): Promise<OpenDataConfig | null>;
60
60
  getOpenData(): Promise<OpenDataConfig | null>;
61
+ protected loadFulfillmentItemRuleOpenData(): Promise<OpenDataConfig | null>;
61
62
  getInvoiceLayoutConfig(): Promise<InvoiceLayoutConfig>;
62
63
  getInvoiceTemplateSettings(): Promise<InvoiceTemplateSettings>;
63
64
  protected isInvoiceOpenDataCacheCurrent(): boolean;