@pisell/pisellos 2.2.232 → 2.2.234

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 (49) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  2. package/dist/modules/Order/index.d.ts +36 -1
  3. package/dist/modules/Order/index.js +496 -308
  4. package/dist/modules/Order/types.d.ts +11 -0
  5. package/dist/modules/Order/utils.d.ts +1 -0
  6. package/dist/modules/Order/utils.js +1 -1
  7. package/dist/server/index.d.ts +5 -0
  8. package/dist/server/index.js +855 -633
  9. package/dist/server/modules/order/index.d.ts +2 -0
  10. package/dist/server/modules/order/index.js +86 -32
  11. package/dist/solution/BaseSales/index.d.ts +6 -0
  12. package/dist/solution/BaseSales/index.js +240 -197
  13. package/dist/solution/BookingByStep/index.d.ts +1 -1
  14. package/dist/solution/BookingTicket/index.d.ts +38 -2
  15. package/dist/solution/BookingTicket/index.js +653 -323
  16. package/dist/solution/BookingTicket/types.d.ts +62 -0
  17. package/dist/solution/BookingTicket/types.js +30 -0
  18. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  19. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  20. package/dist/solution/BookingTicket/utils/cartView.d.ts +9 -1
  21. package/dist/solution/BookingTicket/utils/cartView.js +76 -5
  22. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  23. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  24. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +9 -13
  25. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +42 -33
  26. package/lib/modules/Order/index.d.ts +36 -1
  27. package/lib/modules/Order/index.js +98 -10
  28. package/lib/modules/Order/types.d.ts +11 -0
  29. package/lib/modules/Order/utils.d.ts +1 -0
  30. package/lib/modules/Order/utils.js +1 -1
  31. package/lib/server/index.d.ts +5 -0
  32. package/lib/server/index.js +224 -63
  33. package/lib/server/modules/order/index.d.ts +2 -0
  34. package/lib/server/modules/order/index.js +43 -1
  35. package/lib/solution/BaseSales/index.d.ts +6 -0
  36. package/lib/solution/BaseSales/index.js +20 -1
  37. package/lib/solution/BookingByStep/index.d.ts +1 -1
  38. package/lib/solution/BookingTicket/index.d.ts +38 -2
  39. package/lib/solution/BookingTicket/index.js +196 -4
  40. package/lib/solution/BookingTicket/types.d.ts +62 -0
  41. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  42. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +125 -0
  43. package/lib/solution/BookingTicket/utils/cartView.d.ts +9 -1
  44. package/lib/solution/BookingTicket/utils/cartView.js +48 -2
  45. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  46. package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
  47. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +9 -13
  48. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +41 -28
  49. package/package.json +1 -1
@@ -192,6 +192,8 @@ export declare class OrderModule extends BaseModule implements Module {
192
192
  private findOrderIndexByIdentity;
193
193
  private getOrderCompletenessScore;
194
194
  private pickPreferredOrder;
195
+ private getProductMergeKey;
196
+ private mergeOrderProductLists;
195
197
  private mergeOrderRecords;
196
198
  private summarizeDuplicateOrders;
197
199
  private logDuplicateOrders;
@@ -1884,6 +1884,59 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1884
1884
  if (rightScore >= leftScore) return right;
1885
1885
  return left;
1886
1886
  }
1887
+ }, {
1888
+ key: "getProductMergeKey",
1889
+ value: function getProductMergeKey(product) {
1890
+ var _record$metadata;
1891
+ var record = product;
1892
+ if (!record) return '';
1893
+ var metadataUid = (_record$metadata = record.metadata) === null || _record$metadata === void 0 ? void 0 : _record$metadata.unique_identification_number;
1894
+ if (!this.isBlankIdentityValue(metadataUid)) return "uid:".concat(String(metadataUid));
1895
+ var topLevelUid = record.unique_identification_number;
1896
+ if (!this.isBlankIdentityValue(topLevelUid)) return "uid:".concat(String(topLevelUid));
1897
+ var bookingUid = record.booking_uid;
1898
+ if (!this.isBlankIdentityValue(bookingUid)) return "booking:".concat(String(bookingUid));
1899
+ return '';
1900
+ }
1901
+ }, {
1902
+ key: "mergeOrderProductLists",
1903
+ value: function mergeOrderProductLists(preferred, secondary) {
1904
+ var preferredList = Array.isArray(preferred) ? preferred : [];
1905
+ var secondaryList = Array.isArray(secondary) ? secondary : [];
1906
+ if (secondaryList.length === 0) return preferredList;
1907
+ if (preferredList.length === 0) return secondaryList;
1908
+ var seenKeys = new Set();
1909
+ var _iterator13 = _createForOfIteratorHelper(preferredList),
1910
+ _step13;
1911
+ try {
1912
+ for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
1913
+ var item = _step13.value;
1914
+ var key = this.getProductMergeKey(item);
1915
+ if (key) seenKeys.add(key);
1916
+ }
1917
+ } catch (err) {
1918
+ _iterator13.e(err);
1919
+ } finally {
1920
+ _iterator13.f();
1921
+ }
1922
+ var result = _toConsumableArray(preferredList);
1923
+ var _iterator14 = _createForOfIteratorHelper(secondaryList),
1924
+ _step14;
1925
+ try {
1926
+ for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
1927
+ var _item = _step14.value;
1928
+ var _key = this.getProductMergeKey(_item);
1929
+ if (!_key || seenKeys.has(_key)) continue;
1930
+ seenKeys.add(_key);
1931
+ result.push(cloneDeep(_item));
1932
+ }
1933
+ } catch (err) {
1934
+ _iterator14.e(err);
1935
+ } finally {
1936
+ _iterator14.f();
1937
+ }
1938
+ return result;
1939
+ }
1887
1940
  }, {
1888
1941
  key: "mergeOrderRecords",
1889
1942
  value: function mergeOrderRecords(existing, incoming) {
@@ -1891,7 +1944,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1891
1944
  var secondary = preferred === existing ? incoming : existing;
1892
1945
  var merged = _objectSpread(_objectSpread({}, secondary), preferred);
1893
1946
  var fieldsToPreserve = ['order_id', 'external_sale_number', 'order_number', 'shop_order_number', 'shop_full_order_number'];
1894
- var incomingPatchFields = ['payment_status', 'status', 'shipping_status', 'updated_at', 'summary', 'payments'];
1947
+ var incomingPatchFields = ['payment_status', 'status', 'shipping_status', 'updated_at', 'summary', 'payments', 'products', 'bookings'];
1895
1948
  var mergedRecord = merged;
1896
1949
  var preferredRecord = preferred;
1897
1950
  var secondaryRecord = secondary;
@@ -1913,6 +1966,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1913
1966
  if (typeof incomingRecord[_field] === 'string' && incomingRecord[_field] === '') continue;
1914
1967
  mergedRecord[_field] = cloneDeep(incomingRecord[_field]);
1915
1968
  }
1969
+ mergedRecord.products = this.mergeOrderProductLists(preferredRecord.products, secondaryRecord.products);
1916
1970
  if (!this.isPendingSyncOrder(preferred) || !this.isPendingSyncOrder(secondary)) {
1917
1971
  merged.need_sync = 0;
1918
1972
  }
@@ -1922,30 +1976,30 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1922
1976
  key: "summarizeDuplicateOrders",
1923
1977
  value: function summarizeDuplicateOrders(orders) {
1924
1978
  var groups = new Map();
1925
- var _iterator13 = _createForOfIteratorHelper(orders),
1926
- _step13;
1979
+ var _iterator15 = _createForOfIteratorHelper(orders),
1980
+ _step15;
1927
1981
  try {
1928
- for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
1929
- var order = _step13.value;
1930
- var _iterator14 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(order)),
1931
- _step14;
1982
+ for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
1983
+ var order = _step15.value;
1984
+ var _iterator16 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(order)),
1985
+ _step16;
1932
1986
  try {
1933
- for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
1934
- var key = _step14.value;
1987
+ for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
1988
+ var key = _step16.value;
1935
1989
  var group = groups.get(key) || [];
1936
1990
  group.push(order);
1937
1991
  groups.set(key, group);
1938
1992
  }
1939
1993
  } catch (err) {
1940
- _iterator14.e(err);
1994
+ _iterator16.e(err);
1941
1995
  } finally {
1942
- _iterator14.f();
1996
+ _iterator16.f();
1943
1997
  }
1944
1998
  }
1945
1999
  } catch (err) {
1946
- _iterator13.e(err);
2000
+ _iterator15.e(err);
1947
2001
  } finally {
1948
- _iterator13.f();
2002
+ _iterator15.f();
1949
2003
  }
1950
2004
  return _toConsumableArray(groups.entries()).filter(function (_ref2) {
1951
2005
  var _ref3 = _slicedToArray(_ref2, 2),
@@ -1987,11 +2041,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
1987
2041
  value: function compactOrderListByIdentity(orders, source) {
1988
2042
  var list = [];
1989
2043
  var removedCount = 0;
1990
- var _iterator15 = _createForOfIteratorHelper(orders),
1991
- _step15;
2044
+ var _iterator17 = _createForOfIteratorHelper(orders),
2045
+ _step17;
1992
2046
  try {
1993
- for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
1994
- var order = _step15.value;
2047
+ for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
2048
+ var order = _step17.value;
1995
2049
  var matchIndex = this.findOrderIndexByIdentity(list, order);
1996
2050
  if (matchIndex < 0) {
1997
2051
  list.push(order);
@@ -2001,9 +2055,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2001
2055
  removedCount += 1;
2002
2056
  }
2003
2057
  } catch (err) {
2004
- _iterator15.e(err);
2058
+ _iterator17.e(err);
2005
2059
  } finally {
2006
- _iterator15.f();
2060
+ _iterator17.f();
2007
2061
  }
2008
2062
  if (removedCount > 0) {
2009
2063
  this.logWarning('订单列表重复项已压缩', {
@@ -2153,11 +2207,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2153
2207
  var merged = remoteOrders.map(function (order) {
2154
2208
  return _this18.normalizeRemoteSyncedOrder(order);
2155
2209
  });
2156
- var _iterator16 = _createForOfIteratorHelper(existingOrders),
2157
- _step16;
2210
+ var _iterator18 = _createForOfIteratorHelper(existingOrders),
2211
+ _step18;
2158
2212
  try {
2159
- for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
2160
- var order = _step16.value;
2213
+ for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
2214
+ var order = _step18.value;
2161
2215
  if (!this.isPendingSyncOrder(order)) continue;
2162
2216
  var matchIndex = this.findOrderIndexByIdentity(merged, order);
2163
2217
  if (matchIndex >= 0) {
@@ -2168,9 +2222,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2168
2222
  merged.push(order);
2169
2223
  }
2170
2224
  } catch (err) {
2171
- _iterator16.e(err);
2225
+ _iterator18.e(err);
2172
2226
  } finally {
2173
- _iterator16.f();
2227
+ _iterator18.f();
2174
2228
  }
2175
2229
  return this.compactOrderListByIdentity(merged, 'mergeRemoteSnapshotWithPendingOrders').list;
2176
2230
  }
@@ -2264,7 +2318,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2264
2318
  _context20.prev = 12;
2265
2319
  _context20.next = 15;
2266
2320
  return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
2267
- var writeMethod, _iterator17, _step17, order;
2321
+ var writeMethod, _iterator19, _step19, order;
2268
2322
  return _regeneratorRuntime().wrap(function _callee19$(_context19) {
2269
2323
  while (1) switch (_context19.prev = _context19.next) {
2270
2324
  case 0:
@@ -2301,15 +2355,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2301
2355
  break;
2302
2356
  }
2303
2357
  writeMethod = 'update';
2304
- _iterator17 = _createForOfIteratorHelper(compactedToWrite);
2358
+ _iterator19 = _createForOfIteratorHelper(compactedToWrite);
2305
2359
  _context19.prev = 17;
2306
- _iterator17.s();
2360
+ _iterator19.s();
2307
2361
  case 19:
2308
- if ((_step17 = _iterator17.n()).done) {
2362
+ if ((_step19 = _iterator19.n()).done) {
2309
2363
  _context19.next = 25;
2310
2364
  break;
2311
2365
  }
2312
- order = _step17.value;
2366
+ order = _step19.value;
2313
2367
  _context19.next = 23;
2314
2368
  return _this19.dbManager.update(INDEXDB_STORE_NAME, order);
2315
2369
  case 23:
@@ -2321,10 +2375,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
2321
2375
  case 27:
2322
2376
  _context19.prev = 27;
2323
2377
  _context19.t0 = _context19["catch"](17);
2324
- _iterator17.e(_context19.t0);
2378
+ _iterator19.e(_context19.t0);
2325
2379
  case 30:
2326
2380
  _context19.prev = 30;
2327
- _iterator17.f();
2381
+ _iterator19.f();
2328
2382
  return _context19.finish(30);
2329
2383
  case 33:
2330
2384
  _this19.recordRecentSqliteWrite(source, compactedToWrite);
@@ -203,6 +203,12 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
203
203
  smallTicketDataFlag?: number;
204
204
  enhancePayload?: SubmitPayloadEnhancer;
205
205
  }): Promise<T>;
206
+ submitTempOrderAsync<T = any>(params?: {
207
+ payments?: OrderPaymentSource[];
208
+ paymentStatus?: BaseSalesPaymentStatus;
209
+ smallTicketDataFlag?: number;
210
+ enhancePayload?: SubmitPayloadEnhancer;
211
+ }): Promise<T>;
206
212
  printLocalOrderReceipt<T = any>(lookup?: BaseSalesPrintLocalOrderReceiptParams): Promise<T>;
207
213
  private getSubmitPaymentStatus;
208
214
  syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;