@pisell/pisellos 2.3.150 → 2.3.152

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 (43) 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/model/strategy/adapter/promotion/index.js +9 -0
  8. package/dist/modules/OpenData/types.d.ts +2 -0
  9. package/dist/modules/Order/index.d.ts +3 -1
  10. package/dist/modules/Order/index.js +115 -67
  11. package/dist/modules/Order/types.d.ts +7 -1
  12. package/dist/modules/Product/index.d.ts +1 -1
  13. package/dist/solution/BaseSales/fulfillmentItemRules.d.ts +27 -0
  14. package/dist/solution/BaseSales/fulfillmentItemRules.js +750 -0
  15. package/dist/solution/BaseSales/index.d.ts +5 -1
  16. package/dist/solution/BaseSales/index.js +1127 -1021
  17. package/dist/solution/BaseSales/pickupTiming.d.ts +2 -0
  18. package/dist/solution/BaseSales/pickupTiming.js +16 -5
  19. package/dist/solution/BookingByStep/index.d.ts +2 -2
  20. package/dist/solution/BookingTicket/index.d.ts +1 -0
  21. package/dist/solution/BookingTicket/index.js +444 -425
  22. package/lib/model/strategy/adapter/itemRule/adapter.d.ts +3 -1
  23. package/lib/model/strategy/adapter/itemRule/adapter.js +54 -4
  24. package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +3 -1
  25. package/lib/model/strategy/adapter/itemRule/evaluator.js +9 -0
  26. package/lib/model/strategy/adapter/itemRule/type.d.ts +40 -1
  27. package/lib/model/strategy/adapter/itemRule/type.js +10 -0
  28. package/lib/model/strategy/adapter/promotion/index.js +46 -1
  29. package/lib/modules/OpenData/types.d.ts +2 -0
  30. package/lib/modules/Order/index.d.ts +3 -1
  31. package/lib/modules/Order/index.js +33 -14
  32. package/lib/modules/Order/types.d.ts +7 -1
  33. package/lib/modules/Product/index.d.ts +1 -1
  34. package/lib/solution/BaseSales/fulfillmentItemRules.d.ts +27 -0
  35. package/lib/solution/BaseSales/fulfillmentItemRules.js +259 -0
  36. package/lib/solution/BaseSales/index.d.ts +5 -1
  37. package/lib/solution/BaseSales/index.js +43 -2
  38. package/lib/solution/BaseSales/pickupTiming.d.ts +2 -0
  39. package/lib/solution/BaseSales/pickupTiming.js +5 -1
  40. package/lib/solution/BookingByStep/index.d.ts +2 -2
  41. package/lib/solution/BookingTicket/index.d.ts +1 -0
  42. package/lib/solution/BookingTicket/index.js +3 -0
  43. 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
  }
@@ -328,7 +328,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
328
328
  date: string;
329
329
  status: string;
330
330
  week: string;
331
- weekNum: 0 | 2 | 1 | 3 | 4 | 5 | 6;
331
+ weekNum: 0 | 2 | 1 | 6 | 4 | 5 | 3;
332
332
  }[]>;
333
333
  submitTimeSlot(timeSlots: TimeSliceItem): void;
334
334
  private getScheduleDataByIds;
@@ -375,7 +375,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
375
375
  };
376
376
  setOtherData(key: string, value: any): void;
377
377
  getOtherData(key: string): any;
378
- getProductTypeById(id: number): Promise<"duration" | "normal" | "session">;
378
+ getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
379
379
  /**
380
380
  * 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
381
381
  *
@@ -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;