@pisell/pisellos 2.3.153 → 2.3.155
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.
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/solution/BaseSales/index.js +39 -12
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/UnifiedBookingSales/index.d.ts +2 -0
- package/dist/solution/UnifiedBookingSales/index.js +739 -644
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/solution/BaseSales/index.js +24 -1
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/UnifiedBookingSales/index.d.ts +2 -0
- package/lib/solution/UnifiedBookingSales/index.js +36 -0
- package/package.json +1 -1
|
@@ -595,7 +595,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
595
595
|
generateIdempotencyToken(): string;
|
|
596
596
|
syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
|
|
597
597
|
createOrder(params: CommitOrderParams['query']): {
|
|
598
|
-
type: "
|
|
598
|
+
type: "appointment_booking" | "virtual";
|
|
599
599
|
platform: string;
|
|
600
600
|
sales_channel: string;
|
|
601
601
|
order_sales_channel: string;
|
|
@@ -49,5 +49,5 @@ export declare class Product extends BaseModule implements Module {
|
|
|
49
49
|
getCategories(): ProductCategory[];
|
|
50
50
|
setOtherParams(key: string, value: any): void;
|
|
51
51
|
getOtherParams(): any;
|
|
52
|
-
getProductType(): "
|
|
52
|
+
getProductType(): "duration" | "normal" | "session";
|
|
53
53
|
}
|
|
@@ -1399,7 +1399,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1399
1399
|
value: function () {
|
|
1400
1400
|
var _resolveProductsForPriceQuery = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
1401
1401
|
var _this7 = this;
|
|
1402
|
-
var selectedProducts, productIds, ids, handledByOsServer, canUseLocalFastPath, productsById, queryPayload, cachedRawProducts, authoritativeProducts, missingIds, remoteRawProducts;
|
|
1402
|
+
var selectedProducts, productIds, ids, handledByOsServer, canUseLocalFastPath, productsById, shouldAlignSelectedVariantPrice, queryPayload, cachedRawProducts, authoritativeProducts, missingIds, remoteRawProducts;
|
|
1403
1403
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1404
1404
|
while (1) switch (_context10.prev = _context10.next) {
|
|
1405
1405
|
case 0:
|
|
@@ -1423,7 +1423,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1423
1423
|
handledByOsServer = this.request ? isProductQueryHandledByOsServer(this.core, this.request) : false;
|
|
1424
1424
|
canUseLocalFastPath = this.isCustomerUserPriceQuery() && !handledByOsServer;
|
|
1425
1425
|
if (canUseLocalFastPath) {
|
|
1426
|
-
_context10.next =
|
|
1426
|
+
_context10.next = 15;
|
|
1427
1427
|
break;
|
|
1428
1428
|
}
|
|
1429
1429
|
if (this.request) {
|
|
@@ -1443,10 +1443,37 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1443
1443
|
});
|
|
1444
1444
|
case 12:
|
|
1445
1445
|
productsById = _context10.sent;
|
|
1446
|
-
|
|
1447
|
-
|
|
1446
|
+
shouldAlignSelectedVariantPrice = handledByOsServer && this.preferAuthoritativeProductQueryPrice();
|
|
1447
|
+
return _context10.abrupt("return", productIds.map(function (productId, index) {
|
|
1448
|
+
var _authoritativeProduct;
|
|
1449
|
+
var authoritativeProduct = productId === null ? null : productsById.get(productId) || null;
|
|
1450
|
+
if (!shouldAlignSelectedVariantPrice || !authoritativeProduct) return authoritativeProduct;
|
|
1451
|
+
var selectedProduct = selectedProducts[index];
|
|
1452
|
+
var selectedVariantId = _this7.getSelectedProductVariantId(selectedProduct);
|
|
1453
|
+
if (!selectedVariantId || _this7.getSelectedProductVariantId(authoritativeProduct) === selectedVariantId) {
|
|
1454
|
+
return authoritativeProduct;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
// OS 返回的是目录商品;已命中的智能价格不能被规格基础价覆盖。
|
|
1458
|
+
var appliedFields = (_authoritativeProduct = authoritativeProduct._dataVariant) === null || _authoritativeProduct === void 0 ? void 0 : _authoritativeProduct.appliedFields;
|
|
1459
|
+
if (Array.isArray(appliedFields) && ['price', 'selling_price', 'original_price', 'base_price'].some(function (field) {
|
|
1460
|
+
return appliedFields.includes(field);
|
|
1461
|
+
})) {
|
|
1462
|
+
return authoritativeProduct;
|
|
1463
|
+
}
|
|
1464
|
+
var selectedVariant = Array.isArray(authoritativeProduct.variant) ? authoritativeProduct.variant.find(function (variant) {
|
|
1465
|
+
return Number(variant === null || variant === void 0 ? void 0 : variant.id) === selectedVariantId;
|
|
1466
|
+
}) : undefined;
|
|
1467
|
+
var selectedPrice = [selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.price, selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.selling_price, selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.base_price, params.priceQueries[index].fallback_price, selectedProduct.price, selectedProduct.selling_price, selectedProduct.original_price].find(function (value) {
|
|
1468
|
+
return (typeof value === 'number' || typeof value === 'string' && value.trim() !== '') && Number.isFinite(Number(value));
|
|
1469
|
+
});
|
|
1470
|
+
|
|
1471
|
+
// 每行独立保留所选规格价格(含 0 元),避免同商品多规格共用目录对象串价。
|
|
1472
|
+
return selectedPrice === undefined ? authoritativeProduct : _objectSpread(_objectSpread({}, authoritativeProduct), {}, {
|
|
1473
|
+
price: selectedPrice
|
|
1474
|
+
});
|
|
1448
1475
|
}));
|
|
1449
|
-
case
|
|
1476
|
+
case 15:
|
|
1450
1477
|
queryPayload = this.buildPriceQueryPayload({
|
|
1451
1478
|
ids: ids,
|
|
1452
1479
|
schedule: params.schedule,
|
|
@@ -1466,25 +1493,25 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1466
1493
|
return productId !== null && !authoritativeProducts[index];
|
|
1467
1494
|
})));
|
|
1468
1495
|
if (missingIds.length) {
|
|
1469
|
-
_context10.next =
|
|
1496
|
+
_context10.next = 21;
|
|
1470
1497
|
break;
|
|
1471
1498
|
}
|
|
1472
1499
|
return _context10.abrupt("return", authoritativeProducts);
|
|
1473
|
-
case
|
|
1500
|
+
case 21:
|
|
1474
1501
|
if (this.request) {
|
|
1475
|
-
_context10.next =
|
|
1502
|
+
_context10.next = 23;
|
|
1476
1503
|
break;
|
|
1477
1504
|
}
|
|
1478
1505
|
return _context10.abrupt("return", authoritativeProducts);
|
|
1479
|
-
case
|
|
1480
|
-
_context10.next =
|
|
1506
|
+
case 23:
|
|
1507
|
+
_context10.next = 25;
|
|
1481
1508
|
return this.loadProductsForPriceQuery({
|
|
1482
1509
|
ids: missingIds,
|
|
1483
1510
|
schedule: params.schedule,
|
|
1484
1511
|
customerId: params.customerId,
|
|
1485
1512
|
channel: params.channel
|
|
1486
1513
|
});
|
|
1487
|
-
case
|
|
1514
|
+
case 25:
|
|
1488
1515
|
remoteRawProducts = _context10.sent;
|
|
1489
1516
|
authoritativeProducts.forEach(function (authoritativeProduct, index) {
|
|
1490
1517
|
if (authoritativeProduct) return;
|
|
@@ -1506,7 +1533,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
1506
1533
|
authoritativeProducts[index] = rawProduct ? _this7.prepareRawProductForPriceQuery(rawProduct, selectedProducts[index]) || rawProduct : null;
|
|
1507
1534
|
});
|
|
1508
1535
|
return _context10.abrupt("return", authoritativeProducts);
|
|
1509
|
-
case
|
|
1536
|
+
case 28:
|
|
1510
1537
|
case "end":
|
|
1511
1538
|
return _context10.stop();
|
|
1512
1539
|
}
|
|
@@ -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 |
|
|
331
|
+
weekNum: 0 | 2 | 1 | 3 | 4 | 5 | 6;
|
|
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<"
|
|
378
|
+
getProductTypeById(id: number): Promise<"duration" | "normal" | "session">;
|
|
379
379
|
/**
|
|
380
380
|
* 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
|
|
381
381
|
*
|
|
@@ -347,7 +347,7 @@ export declare class BookingTicketImpl extends BaseSalesImpl implements Module {
|
|
|
347
347
|
* 获取当前的客户搜索条件
|
|
348
348
|
* @returns 当前搜索条件
|
|
349
349
|
*/
|
|
350
|
-
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "
|
|
350
|
+
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
|
|
351
351
|
/**
|
|
352
352
|
* 获取客户列表状态(包含滚动加载相关状态)
|
|
353
353
|
* @returns 客户状态
|
|
@@ -147,6 +147,8 @@ export declare class UnifiedBookingSalesImpl extends BookingTicket {
|
|
|
147
147
|
* 用于支付跳转等终态场景,避免浏览器返回时恢复已提交订单。
|
|
148
148
|
*/
|
|
149
149
|
clearSessionStorageOrderSnapshot(): void;
|
|
150
|
+
/** 在 Kiosk 拉起支付设备前补齐订单号,同一订单重试复用已分配的号码。 */
|
|
151
|
+
ensureLocalOrderNumbersForCheckout(): Promise<void>;
|
|
150
152
|
/**
|
|
151
153
|
* PC/H5/Kiosk 结账默认直接等待云端 checkout;POS/WebPOS 仍保持本地待同步。
|
|
152
154
|
* 显式传 checkoutSyncTaskEnabled: true 时仍可回退到本地同步模式。
|