@pisell/pisellos 2.2.264 → 2.2.265
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/model/strategy/adapter/dataVariant/adapter.d.ts +50 -0
- package/dist/model/strategy/adapter/dataVariant/adapter.js +167 -0
- package/dist/model/strategy/adapter/dataVariant/evaluator.d.ts +89 -0
- package/dist/model/strategy/adapter/dataVariant/evaluator.js +780 -0
- package/dist/model/strategy/adapter/dataVariant/examples.d.ts +39 -0
- package/dist/model/strategy/adapter/dataVariant/examples.js +277 -0
- package/dist/model/strategy/adapter/dataVariant/index.d.ts +4 -0
- package/dist/model/strategy/adapter/dataVariant/index.js +4 -0
- package/dist/model/strategy/adapter/dataVariant/type.d.ts +148 -0
- package/dist/model/strategy/adapter/dataVariant/type.js +54 -0
- package/dist/model/strategy/adapter/index.d.ts +4 -0
- package/dist/model/strategy/adapter/index.js +5 -1
- package/dist/model/strategy/adapter/promotion/adapter.d.ts +0 -4
- package/dist/model/strategy/adapter/promotion/adapter.js +0 -23
- package/dist/model/strategy/adapter/promotion/evaluator.d.ts +0 -17
- package/dist/model/strategy/adapter/promotion/evaluator.js +6 -279
- package/dist/model/strategy/adapter/promotion/examples.d.ts +0 -86
- package/dist/model/strategy/adapter/promotion/examples.js +0 -99
- package/dist/model/strategy/adapter/promotion/index.d.ts +1 -1
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/promotion/type.d.ts +2 -90
- package/dist/model/strategy/adapter/promotion/type.js +0 -45
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +16 -10
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +2 -1
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +1 -1
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +32 -1
- package/dist/modules/Discount/index.d.ts +5 -2
- package/dist/modules/Discount/index.js +30 -7
- package/dist/modules/Discount/types.d.ts +4 -0
- package/dist/modules/Order/index.d.ts +41 -10
- package/dist/modules/Order/index.js +1370 -808
- package/dist/modules/Order/payment-utils.d.ts +26 -0
- package/dist/modules/Order/payment-utils.js +225 -0
- package/dist/modules/Order/types.d.ts +49 -1
- package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
- package/dist/modules/Order/utils/orderCollectionIdentity.js +410 -0
- package/dist/modules/Order/utils.d.ts +4 -3
- package/dist/modules/Order/utils.js +62 -66
- package/dist/modules/Payment/index.d.ts +2 -0
- package/dist/modules/Payment/index.js +78 -49
- package/dist/modules/Payment/types.d.ts +26 -24
- package/dist/modules/Payment/types.js +2 -0
- package/dist/modules/Product/types.d.ts +22 -0
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +4 -2
- package/dist/modules/ProductList/types.d.ts +2 -0
- package/dist/modules/Rules/index.d.ts +2 -9
- package/dist/modules/Rules/index.js +69 -43
- package/dist/modules/Rules/types.d.ts +10 -1
- package/dist/server/index.d.ts +71 -0
- package/dist/server/index.js +2504 -1187
- package/dist/server/modules/order/index.d.ts +56 -5
- package/dist/server/modules/order/index.js +1718 -834
- package/dist/server/modules/order/types.d.ts +15 -3
- package/dist/server/modules/order/types.js +1 -1
- package/dist/server/modules/products/index.d.ts +31 -8
- package/dist/server/modules/products/index.js +549 -390
- package/dist/server/modules/products/types.d.ts +18 -0
- package/dist/solution/BaseSales/index.d.ts +54 -4
- package/dist/solution/BaseSales/index.js +1448 -788
- package/dist/solution/BaseSales/types.d.ts +6 -1
- package/dist/solution/BaseSales/types.js +1 -1
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +1 -3
- package/dist/solution/BaseSales/utils/cartPromotion.js +50 -97
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +9 -4
- package/dist/solution/BaseSales/utils/parseSalesResponse.js +6 -8
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +14 -1
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +61 -26
- package/dist/solution/BookingTicket/types.d.ts +2 -0
- package/dist/solution/Sales/index.d.ts +1 -0
- package/dist/solution/Sales/index.js +10 -2
- package/dist/solution/ScanOrder/index.js +20 -31
- package/dist/solution/ShopDiscount/index.js +15 -14
- package/dist/solution/VenueBooking/index.js +19 -30
- package/dist/utils/payment-number.d.ts +9 -0
- package/dist/utils/payment-number.js +69 -0
- package/lib/model/strategy/adapter/dataVariant/adapter.d.ts +50 -0
- package/lib/model/strategy/adapter/dataVariant/adapter.js +149 -0
- package/lib/model/strategy/adapter/dataVariant/evaluator.d.ts +89 -0
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +583 -0
- package/lib/model/strategy/adapter/dataVariant/examples.d.ts +39 -0
- package/lib/model/strategy/adapter/dataVariant/examples.js +293 -0
- package/lib/model/strategy/adapter/dataVariant/index.d.ts +4 -0
- package/lib/model/strategy/adapter/dataVariant/index.js +38 -0
- package/lib/model/strategy/adapter/dataVariant/type.d.ts +148 -0
- package/lib/model/strategy/adapter/dataVariant/type.js +31 -0
- package/lib/model/strategy/adapter/index.d.ts +4 -0
- package/lib/model/strategy/adapter/index.js +13 -2
- package/lib/model/strategy/adapter/promotion/adapter.d.ts +0 -4
- package/lib/model/strategy/adapter/promotion/adapter.js +0 -20
- package/lib/model/strategy/adapter/promotion/evaluator.d.ts +0 -17
- package/lib/model/strategy/adapter/promotion/evaluator.js +0 -235
- package/lib/model/strategy/adapter/promotion/examples.d.ts +0 -86
- package/lib/model/strategy/adapter/promotion/examples.js +0 -91
- package/lib/model/strategy/adapter/promotion/index.d.ts +1 -1
- package/lib/model/strategy/adapter/promotion/index.js +0 -2
- package/lib/model/strategy/adapter/promotion/type.d.ts +2 -90
- package/lib/model/strategy/adapter/promotion/type.js +0 -2
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +5 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +1 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +1 -1
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +23 -2
- package/lib/modules/Discount/index.d.ts +5 -2
- package/lib/modules/Discount/index.js +23 -3
- package/lib/modules/Discount/types.d.ts +4 -0
- package/lib/modules/Order/index.d.ts +41 -10
- package/lib/modules/Order/index.js +505 -119
- package/lib/modules/Order/payment-utils.d.ts +26 -0
- package/lib/modules/Order/payment-utils.js +224 -0
- package/lib/modules/Order/types.d.ts +49 -1
- package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
- package/lib/modules/Order/utils/orderCollectionIdentity.js +418 -0
- package/lib/modules/Order/utils.d.ts +4 -3
- package/lib/modules/Order/utils.js +27 -26
- package/lib/modules/Payment/index.d.ts +2 -0
- package/lib/modules/Payment/index.js +33 -12
- package/lib/modules/Payment/types.d.ts +26 -24
- package/lib/modules/Product/types.d.ts +22 -0
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +4 -2
- package/lib/modules/ProductList/types.d.ts +2 -0
- package/lib/modules/Rules/index.d.ts +2 -9
- package/lib/modules/Rules/index.js +61 -29
- package/lib/modules/Rules/types.d.ts +10 -1
- package/lib/server/index.d.ts +71 -0
- package/lib/server/index.js +1002 -52
- package/lib/server/modules/order/index.d.ts +56 -5
- package/lib/server/modules/order/index.js +798 -148
- package/lib/server/modules/order/types.d.ts +15 -3
- package/lib/server/modules/products/index.d.ts +31 -8
- package/lib/server/modules/products/index.js +134 -35
- package/lib/server/modules/products/types.d.ts +18 -0
- package/lib/solution/BaseSales/index.d.ts +54 -4
- package/lib/solution/BaseSales/index.js +475 -50
- package/lib/solution/BaseSales/types.d.ts +6 -1
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +1 -3
- package/lib/solution/BaseSales/utils/cartPromotion.js +25 -64
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +9 -4
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +4 -5
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +8 -0
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +35 -9
- package/lib/solution/BookingTicket/types.d.ts +2 -0
- package/lib/solution/Sales/index.d.ts +1 -0
- package/lib/solution/Sales/index.js +5 -3
- package/lib/solution/ScanOrder/index.js +0 -8
- package/lib/solution/ShopDiscount/index.js +2 -1
- package/lib/solution/VenueBooking/index.js +0 -8
- package/lib/utils/payment-number.d.ts +9 -0
- package/lib/utils/payment-number.js +64 -0
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
21
21
|
import dayjs from "dayjs";
|
|
22
22
|
import Decimal from 'decimal.js';
|
|
23
23
|
import { buildProductLineFingerprint, createEmptySummary } from "../../solution/ScanOrder/utils";
|
|
24
|
+
import { createUuidV4 } from "./utils/orderCollectionIdentity";
|
|
24
25
|
/**
|
|
25
26
|
* 把"含 option 的主商品单价"与 bundle 合成"单行 composite 单价"。
|
|
26
27
|
*
|
|
@@ -252,8 +253,8 @@ function getOrderProductDeposit(product, runtimeOrigin) {
|
|
|
252
253
|
/**
|
|
253
254
|
* 仅基于 tempOrder.products 重算整单定金。
|
|
254
255
|
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
256
|
+
* 商品折扣在进入定金计算前已体现在商品行价格字段中,
|
|
257
|
+
* 因此这里只按商品定金规则汇总,不再扣减 discount_list;tempOrder.bookings 不参与这里的计算。
|
|
257
258
|
*/
|
|
258
259
|
export function calculateOrderProductsDeposit() {
|
|
259
260
|
var products = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -273,30 +274,18 @@ export function calculateOrderProductsDeposit() {
|
|
|
273
274
|
product.deposit = deposit;
|
|
274
275
|
if (!(deposit !== null && deposit !== void 0 && deposit.total) || Number(deposit.total) <= 0) continue;
|
|
275
276
|
total = total.plus(deposit.total);
|
|
276
|
-
var _iterator4 = _createForOfIteratorHelper(
|
|
277
|
+
var _iterator4 = _createForOfIteratorHelper(deposit.protocols || []),
|
|
277
278
|
_step4;
|
|
278
279
|
try {
|
|
279
280
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
280
|
-
var
|
|
281
|
-
|
|
281
|
+
var protocol = _step4.value;
|
|
282
|
+
if (!protocolMap.has(protocol.id)) protocolMap.set(protocol.id, protocol);
|
|
282
283
|
}
|
|
283
284
|
} catch (err) {
|
|
284
285
|
_iterator4.e(err);
|
|
285
286
|
} finally {
|
|
286
287
|
_iterator4.f();
|
|
287
288
|
}
|
|
288
|
-
var _iterator5 = _createForOfIteratorHelper(deposit.protocols || []),
|
|
289
|
-
_step5;
|
|
290
|
-
try {
|
|
291
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
292
|
-
var protocol = _step5.value;
|
|
293
|
-
if (!protocolMap.has(protocol.id)) protocolMap.set(protocol.id, protocol);
|
|
294
|
-
}
|
|
295
|
-
} catch (err) {
|
|
296
|
-
_iterator5.e(err);
|
|
297
|
-
} finally {
|
|
298
|
-
_iterator5.f();
|
|
299
|
-
}
|
|
300
289
|
hasDeposit = true;
|
|
301
290
|
}
|
|
302
291
|
} catch (err) {
|
|
@@ -460,19 +449,19 @@ function resolveSubmitBundleMapId(bundle) {
|
|
|
460
449
|
}
|
|
461
450
|
function collectSubmitProductDiscountList(product) {
|
|
462
451
|
var submitDiscountList = Array.isArray(product === null || product === void 0 ? void 0 : product.discount_list) ? _toConsumableArray(product.discount_list) : [];
|
|
463
|
-
var
|
|
464
|
-
|
|
452
|
+
var _iterator5 = _createForOfIteratorHelper((product === null || product === void 0 ? void 0 : product.product_bundle) || []),
|
|
453
|
+
_step5;
|
|
465
454
|
try {
|
|
466
|
-
for (
|
|
467
|
-
var bundle =
|
|
455
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
456
|
+
var bundle = _step5.value;
|
|
468
457
|
if (!bundle || _typeof(bundle) !== 'object') continue;
|
|
469
458
|
var bundleMapId = resolveSubmitBundleMapId(bundle);
|
|
470
459
|
var bundleDiscountList = Array.isArray(bundle.discount_list) ? bundle.discount_list : [];
|
|
471
|
-
var
|
|
472
|
-
|
|
460
|
+
var _iterator6 = _createForOfIteratorHelper(bundleDiscountList),
|
|
461
|
+
_step6;
|
|
473
462
|
try {
|
|
474
|
-
for (
|
|
475
|
-
var discount =
|
|
463
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
464
|
+
var discount = _step6.value;
|
|
476
465
|
if (!discount || _typeof(discount) !== 'object') continue;
|
|
477
466
|
var discountMetadata = discount.metadata && _typeof(discount.metadata) === 'object' ? discount.metadata : {};
|
|
478
467
|
var discountMapId = discountMetadata.custom_product_bundle_map_id !== undefined && discountMetadata.custom_product_bundle_map_id !== null && discountMetadata.custom_product_bundle_map_id !== '' ? discountMetadata.custom_product_bundle_map_id : bundleMapId;
|
|
@@ -483,15 +472,15 @@ function collectSubmitProductDiscountList(product) {
|
|
|
483
472
|
} : {}));
|
|
484
473
|
}
|
|
485
474
|
} catch (err) {
|
|
486
|
-
|
|
475
|
+
_iterator6.e(err);
|
|
487
476
|
} finally {
|
|
488
|
-
|
|
477
|
+
_iterator6.f();
|
|
489
478
|
}
|
|
490
479
|
}
|
|
491
480
|
} catch (err) {
|
|
492
|
-
|
|
481
|
+
_iterator5.e(err);
|
|
493
482
|
} finally {
|
|
494
|
-
|
|
483
|
+
_iterator5.f();
|
|
495
484
|
}
|
|
496
485
|
return normalizeOrderProductDiscountList(submitDiscountList);
|
|
497
486
|
}
|
|
@@ -544,8 +533,7 @@ export function resolveEffectivePerUnitDiscount(product) {
|
|
|
544
533
|
return sum + Number((discount === null || discount === void 0 ? void 0 : discount.amount) || 0);
|
|
545
534
|
}, 0);
|
|
546
535
|
var hasPromoDiscountItem = discountList.some(function (item) {
|
|
547
|
-
|
|
548
|
-
return (item === null || item === void 0 ? void 0 : item.type) === 'promotion' || (item === null || item === void 0 ? void 0 : item.type) === 'product' && (item === null || item === void 0 || (_item$metadata = item.metadata) === null || _item$metadata === void 0 ? void 0 : _item$metadata.source) === 'promotion' && (item === null || item === void 0 || (_item$metadata2 = item.metadata) === null || _item$metadata2 === void 0 ? void 0 : _item$metadata2.actionType) === 'ITEM_REWARD';
|
|
536
|
+
return (item === null || item === void 0 ? void 0 : item.type) === 'promotion';
|
|
549
537
|
});
|
|
550
538
|
if (hasPromoDiscountItem) return fromList;
|
|
551
539
|
var metadata = (product === null || product === void 0 ? void 0 : product.metadata) || {};
|
|
@@ -587,11 +575,14 @@ export function createDefaultOrderRulesHooks() {
|
|
|
587
575
|
if (!bundle || _typeof(bundle) !== 'object') return bundle;
|
|
588
576
|
var current = currentByIdentity.get(getBundleIdentity(bundle));
|
|
589
577
|
if (!current) return bundle;
|
|
578
|
+
var bundleWithDisplayFields = _objectSpread(_objectSpread({}, bundle), isEmptyOrderProductDisplayValue(bundle.cover) && !isEmptyOrderProductDisplayValue(current.cover) ? {
|
|
579
|
+
cover: current.cover
|
|
580
|
+
} : {});
|
|
590
581
|
var isProductPriceBundle = ((_bundle$price_type_ex2 = bundle.price_type_ext) !== null && _bundle$price_type_ex2 !== void 0 ? _bundle$price_type_ex2 : current.price_type_ext) === 'product_price';
|
|
591
|
-
if (!isProductPriceBundle) return
|
|
582
|
+
if (!isProductPriceBundle) return bundleWithDisplayFields;
|
|
592
583
|
var sourcePrice = (_ref18 = (_ref19 = (_current$price = current.price) !== null && _current$price !== void 0 ? _current$price : current.custom_price) !== null && _ref19 !== void 0 ? _ref19 : current.original_price) !== null && _ref18 !== void 0 ? _ref18 : current.bundle_selling_price;
|
|
593
584
|
var originalPrice = (_ref20 = (_ref21 = (_ref22 = (_current$original_pri = current.original_price) !== null && _current$original_pri !== void 0 ? _current$original_pri : current.product_price) !== null && _ref22 !== void 0 ? _ref22 : current.price) !== null && _ref21 !== void 0 ? _ref21 : current.custom_price) !== null && _ref20 !== void 0 ? _ref20 : sourcePrice;
|
|
594
|
-
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({},
|
|
585
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, bundleWithDisplayFields), sourcePrice !== undefined ? {
|
|
595
586
|
price: sourcePrice
|
|
596
587
|
} : {}), originalPrice !== undefined ? {
|
|
597
588
|
original_price: originalPrice
|
|
@@ -764,14 +755,7 @@ export var getAllDiscountList = function getAllDiscountList(cartItem) {
|
|
|
764
755
|
|
|
765
756
|
// ─── 以下为从 ScanOrder/utils.ts 迁入的 Order 专属工具函数 ───
|
|
766
757
|
|
|
767
|
-
export
|
|
768
|
-
var template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
769
|
-
return template.replace(/[xy]/g, function (char) {
|
|
770
|
-
var randomValue = Math.floor(Math.random() * 16);
|
|
771
|
-
var value = char === 'x' ? randomValue : randomValue & 0x3 | 0x8;
|
|
772
|
-
return value.toString(16);
|
|
773
|
-
});
|
|
774
|
-
}
|
|
758
|
+
export { createUuidV4 };
|
|
775
759
|
export function isTempOrder(data) {
|
|
776
760
|
if (!data || _typeof(data) !== 'object') return false;
|
|
777
761
|
if (!Array.isArray(data.products)) return false;
|
|
@@ -864,6 +848,7 @@ function formatSubmitBundleItems(bundle) {
|
|
|
864
848
|
bundle_group_id: (_rawBundle$bundle_gro = rawBundle === null || rawBundle === void 0 ? void 0 : rawBundle.bundle_group_id) !== null && _rawBundle$bundle_gro !== void 0 ? _rawBundle$bundle_gro : rawBundle === null || rawBundle === void 0 ? void 0 : rawBundle.group_id,
|
|
865
849
|
bundle_id: (_rawBundle$bundle_id = rawBundle === null || rawBundle === void 0 ? void 0 : rawBundle.bundle_id) !== null && _rawBundle$bundle_id !== void 0 ? _rawBundle$bundle_id : rawBundle === null || rawBundle === void 0 ? void 0 : rawBundle.id,
|
|
866
850
|
bundle_product_id: (_rawBundle$bundle_pro = rawBundle === null || rawBundle === void 0 ? void 0 : rawBundle.bundle_product_id) !== null && _rawBundle$bundle_pro !== void 0 ? _rawBundle$bundle_pro : rawBundle === null || rawBundle === void 0 ? void 0 : rawBundle._bundle_product_id,
|
|
851
|
+
cover: rawBundle.cover,
|
|
867
852
|
metadata: _objectSpread(_objectSpread(_objectSpread({}, submitMetadata), hasSubmitBundleDiscounts && bundleMapId !== undefined ? {
|
|
868
853
|
custom_product_bundle_map_id: bundleMapId
|
|
869
854
|
} : {}), {}, {
|
|
@@ -925,6 +910,9 @@ function normalizeSubmitProduct(product) {
|
|
|
925
910
|
if (rawMetadata.is_rule !== undefined) {
|
|
926
911
|
cleanMetadata.is_rule = rawMetadata.is_rule;
|
|
927
912
|
}
|
|
913
|
+
if (rawMetadata.holder_config !== undefined) {
|
|
914
|
+
cleanMetadata.holder_config = rawMetadata.holder_config;
|
|
915
|
+
}
|
|
928
916
|
var productSku = _objectSpread(_objectSpread({}, submitProduct.product_sku && _typeof(submitProduct.product_sku) === 'object' ? submitProduct.product_sku : {}), {}, {
|
|
929
917
|
option: formatSubmitOptionItems((_submitProduct$produc = submitProduct.product_sku) === null || _submitProduct$produc === void 0 ? void 0 : _submitProduct$produc.option)
|
|
930
918
|
});
|
|
@@ -955,19 +943,19 @@ export function normalizeBookingSubType(booking) {
|
|
|
955
943
|
export function normalizeSubmitBooking(booking) {
|
|
956
944
|
var rawMetadata = booking.metadata || {};
|
|
957
945
|
var cleanMetadata = {};
|
|
958
|
-
var
|
|
959
|
-
|
|
946
|
+
var _iterator7 = _createForOfIteratorHelper(SUBMIT_BOOKING_METADATA_WHITELIST),
|
|
947
|
+
_step7;
|
|
960
948
|
try {
|
|
961
|
-
for (
|
|
962
|
-
var key =
|
|
949
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
950
|
+
var key = _step7.value;
|
|
963
951
|
if (rawMetadata[key] !== undefined) {
|
|
964
952
|
cleanMetadata[key] = rawMetadata[key];
|
|
965
953
|
}
|
|
966
954
|
}
|
|
967
955
|
} catch (err) {
|
|
968
|
-
|
|
956
|
+
_iterator7.e(err);
|
|
969
957
|
} finally {
|
|
970
|
-
|
|
958
|
+
_iterator7.f();
|
|
971
959
|
}
|
|
972
960
|
if (cleanMetadata.holder_id === undefined) cleanMetadata.holder_id = null;
|
|
973
961
|
var bookingRecord = booking;
|
|
@@ -1059,7 +1047,7 @@ export function createDefaultTempOrder(params) {
|
|
|
1059
1047
|
};
|
|
1060
1048
|
}
|
|
1061
1049
|
export function buildSubmitPayload(params) {
|
|
1062
|
-
var _tempOrder$customer_i, _tempOrder$order_numb, _tempOrder$shop_order, _tempOrder$shop_full_, _ref30, _tempOrder$is_price_i, _tempOrder$is_deposit, _enhancedPayload$summ;
|
|
1050
|
+
var _tempOrder$customer_i, _tempOrder$country_ca, _tempOrder$phone, _tempOrder$email, _tempOrder$order_numb, _tempOrder$shop_order, _tempOrder$shop_full_, _ref30, _tempOrder$is_price_i, _tempOrder$is_deposit, _enhancedPayload$summ;
|
|
1063
1051
|
var tempOrder = params.tempOrder,
|
|
1064
1052
|
cacheId = params.cacheId,
|
|
1065
1053
|
_params$now = params.now,
|
|
@@ -1105,6 +1093,9 @@ export function buildSubmitPayload(params) {
|
|
|
1105
1093
|
var payload = _objectSpread(_objectSpread({}, tempOrderRest), {}, {
|
|
1106
1094
|
customer_id: (_tempOrder$customer_i = tempOrder.customer_id) !== null && _tempOrder$customer_i !== void 0 ? _tempOrder$customer_i : 1,
|
|
1107
1095
|
customer_name: tempOrder.customer_name || 'Walk-In',
|
|
1096
|
+
country_calling_code: String((_tempOrder$country_ca = tempOrder.country_calling_code) !== null && _tempOrder$country_ca !== void 0 ? _tempOrder$country_ca : ''),
|
|
1097
|
+
phone: String((_tempOrder$phone = tempOrder.phone) !== null && _tempOrder$phone !== void 0 ? _tempOrder$phone : ''),
|
|
1098
|
+
email: String((_tempOrder$email = tempOrder.email) !== null && _tempOrder$email !== void 0 ? _tempOrder$email : ''),
|
|
1108
1099
|
order_number: (_tempOrder$order_numb = tempOrder.order_number) !== null && _tempOrder$order_numb !== void 0 ? _tempOrder$order_numb : null,
|
|
1109
1100
|
shop_order_number: (_tempOrder$shop_order = tempOrder.shop_order_number) !== null && _tempOrder$shop_order !== void 0 ? _tempOrder$shop_order : null,
|
|
1110
1101
|
shop_full_order_number: (_tempOrder$shop_full_ = tempOrder.shop_full_order_number) !== null && _tempOrder$shop_full_ !== void 0 ? _tempOrder$shop_full_ : null,
|
|
@@ -1164,9 +1155,7 @@ export function mapPaymentItemToOrderPayment(paymentItem) {
|
|
|
1164
1155
|
var item = paymentItem;
|
|
1165
1156
|
var customPaymentId = (_item$custom_payment_ = item.custom_payment_id) !== null && _item$custom_payment_ !== void 0 ? _item$custom_payment_ : item.id;
|
|
1166
1157
|
var metadata = item.metadata && _typeof(item.metadata) === 'object' ? _objectSpread({}, item.metadata) : {};
|
|
1167
|
-
|
|
1168
|
-
metadata.unique_payment_number = String(item.uuid);
|
|
1169
|
-
}
|
|
1158
|
+
var paymentNumber = item.payment_number;
|
|
1170
1159
|
var paymentMetadataKeys = ['rounding_rule', 'shop_wallet_pass_id', 'actual_paid_amount', 'change_given_amount'];
|
|
1171
1160
|
for (var _i3 = 0, _paymentMetadataKeys = paymentMetadataKeys; _i3 < _paymentMetadataKeys.length; _i3++) {
|
|
1172
1161
|
var key = _paymentMetadataKeys[_i3];
|
|
@@ -1177,8 +1166,10 @@ export function mapPaymentItemToOrderPayment(paymentItem) {
|
|
|
1177
1166
|
var timestamp = dayjs().format('YYYY-MM-DD HH:mm:ss');
|
|
1178
1167
|
var paymentTime = (_item$payment_time = item.payment_time) !== null && _item$payment_time !== void 0 ? _item$payment_time : timestamp;
|
|
1179
1168
|
var createdAt = (_item$created_at = item.created_at) !== null && _item$created_at !== void 0 ? _item$created_at : timestamp;
|
|
1180
|
-
return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, item.order_payment_id !== undefined ? {
|
|
1169
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, item.order_payment_id !== undefined ? {
|
|
1181
1170
|
order_payment_id: item.order_payment_id
|
|
1171
|
+
} : {}), paymentNumber !== undefined && paymentNumber !== null && paymentNumber !== '' ? {
|
|
1172
|
+
payment_number: String(paymentNumber)
|
|
1182
1173
|
} : {}), {}, {
|
|
1183
1174
|
amount: String((_item$amount = item.amount) !== null && _item$amount !== void 0 ? _item$amount : '0.00'),
|
|
1184
1175
|
code: String(item.code || ''),
|
|
@@ -1280,25 +1271,25 @@ export function clearTempOrderHolderAssignments(tempOrder) {
|
|
|
1280
1271
|
target[key] = null;
|
|
1281
1272
|
changed = true;
|
|
1282
1273
|
};
|
|
1283
|
-
var
|
|
1284
|
-
|
|
1274
|
+
var _iterator8 = _createForOfIteratorHelper(tempOrder.products || []),
|
|
1275
|
+
_step8;
|
|
1285
1276
|
try {
|
|
1286
|
-
for (
|
|
1287
|
-
var product =
|
|
1277
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
1278
|
+
var product = _step8.value;
|
|
1288
1279
|
if (product.metadata && _typeof(product.metadata) === 'object') {
|
|
1289
1280
|
resetHolderField(product.metadata);
|
|
1290
1281
|
}
|
|
1291
1282
|
}
|
|
1292
1283
|
} catch (err) {
|
|
1293
|
-
|
|
1284
|
+
_iterator8.e(err);
|
|
1294
1285
|
} finally {
|
|
1295
|
-
|
|
1286
|
+
_iterator8.f();
|
|
1296
1287
|
}
|
|
1297
|
-
var
|
|
1298
|
-
|
|
1288
|
+
var _iterator9 = _createForOfIteratorHelper(tempOrder.bookings || []),
|
|
1289
|
+
_step9;
|
|
1299
1290
|
try {
|
|
1300
|
-
for (
|
|
1301
|
-
var booking =
|
|
1291
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
1292
|
+
var booking = _step9.value;
|
|
1302
1293
|
var bookingRecord = booking;
|
|
1303
1294
|
if (booking.metadata && _typeof(booking.metadata) === 'object') {
|
|
1304
1295
|
resetHolderField(booking.metadata);
|
|
@@ -1309,9 +1300,9 @@ export function clearTempOrderHolderAssignments(tempOrder) {
|
|
|
1309
1300
|
}
|
|
1310
1301
|
}
|
|
1311
1302
|
} catch (err) {
|
|
1312
|
-
|
|
1303
|
+
_iterator9.e(err);
|
|
1313
1304
|
} finally {
|
|
1314
|
-
|
|
1305
|
+
_iterator9.f();
|
|
1315
1306
|
}
|
|
1316
1307
|
var productsByUid = (_tempOrder$_extend = tempOrder._extend) === null || _tempOrder$_extend === void 0 ? void 0 : _tempOrder$_extend.productsByUid;
|
|
1317
1308
|
if (productsByUid && _typeof(productsByUid) === 'object') {
|
|
@@ -1362,11 +1353,16 @@ export function isHolderConfigRequired(holderConfig) {
|
|
|
1362
1353
|
return Number(holderConfig.required) === 1;
|
|
1363
1354
|
}
|
|
1364
1355
|
export function productRequiresFormSubject(tempOrder, product) {
|
|
1356
|
+
var _tempOrder$products, _orderProduct$metadat;
|
|
1357
|
+
var _orderProduct = tempOrder === null || tempOrder === void 0 || (_tempOrder$products = tempOrder.products) === null || _tempOrder$products === void 0 ? void 0 : _tempOrder$products.find(function (item) {
|
|
1358
|
+
return item.metadata.unique_identification_number === product._id || item.product_id === product.id;
|
|
1359
|
+
});
|
|
1365
1360
|
var runtimeOrigin = getRuntimeProductOrigin(tempOrder, product);
|
|
1366
|
-
return isHolderConfigRequired(
|
|
1361
|
+
return isHolderConfigRequired(_orderProduct === null || _orderProduct === void 0 || (_orderProduct$metadat = _orderProduct.metadata) === null || _orderProduct$metadat === void 0 ? void 0 : _orderProduct$metadat.holder_config) || isHolderConfigRequired(runtimeOrigin === null || runtimeOrigin === void 0 ? void 0 : runtimeOrigin.holder_config) || isHolderConfigRequired(product === null || product === void 0 ? void 0 : product.holder_config);
|
|
1367
1362
|
}
|
|
1368
1363
|
export function resolveIsFormSubject(tempOrder, product) {
|
|
1369
1364
|
var _tempOrder$holder;
|
|
1365
|
+
debugger;
|
|
1370
1366
|
// 旧版预约维度的 holder 类型仍然生效;新版则从当前商品 holder_config 判断。
|
|
1371
1367
|
if ((tempOrder === null || tempOrder === void 0 || (_tempOrder$holder = tempOrder.holder) === null || _tempOrder$holder === void 0 ? void 0 : _tempOrder$holder.type) === 'form') return true;
|
|
1372
1368
|
if (product) return productRequiresFormSubject(tempOrder, product);
|
|
@@ -1406,7 +1402,7 @@ export function isEmptyOrderProductDisplayValue(value) {
|
|
|
1406
1402
|
*/
|
|
1407
1403
|
export function mergeOrderProductDisplayFields(previous, next) {
|
|
1408
1404
|
var merged = _objectSpread({}, next);
|
|
1409
|
-
var displayFields = ['product_title', 'product_name', 'product_cover', 'cover', 'variant_title', 'product_sku', 'payment_price'];
|
|
1405
|
+
var displayFields = ['product_title', 'product_name', 'product_cover', 'cover', 'product_cover', 'variant_title', 'product_sku', 'payment_price'];
|
|
1410
1406
|
displayFields.forEach(function (field) {
|
|
1411
1407
|
if (isEmptyOrderProductDisplayValue(merged[field]) && !isEmptyOrderProductDisplayValue(previous[field])) {
|
|
1412
1408
|
merged[field] = previous[field];
|
|
@@ -20,6 +20,7 @@ export declare class PaymentModule extends BaseModule implements Module, Payment
|
|
|
20
20
|
protected defaultVersion: string;
|
|
21
21
|
request: RequestPlugin;
|
|
22
22
|
private app;
|
|
23
|
+
private appPlugin;
|
|
23
24
|
private store;
|
|
24
25
|
window: WindowPlugin;
|
|
25
26
|
private dbManager;
|
|
@@ -40,6 +41,7 @@ export declare class PaymentModule extends BaseModule implements Module, Payment
|
|
|
40
41
|
* paymentModule.updateOtherParams({ fatherModule: 'bookingTicket' });
|
|
41
42
|
*/
|
|
42
43
|
updateOtherParams(params: Record<string, any>): void;
|
|
44
|
+
private getPaymentNumberAppData;
|
|
43
45
|
/**
|
|
44
46
|
* 记录信息日志
|
|
45
47
|
*/
|
|
@@ -27,6 +27,9 @@ import { CashPaymentImpl } from "./cash";
|
|
|
27
27
|
import { EftposPaymentImpl } from "./eftpos";
|
|
28
28
|
import { WalletPassPaymentImpl } from "./walletpass";
|
|
29
29
|
import { Decimal } from 'decimal.js';
|
|
30
|
+
import { ensureOrderPaymentNumber } from "../Order/payment-utils";
|
|
31
|
+
import { createUuidV4 } from "../Order/utils";
|
|
32
|
+
import { resolvePaymentNumberDevicePrefix } from "../../utils/payment-number";
|
|
30
33
|
export * from "./types";
|
|
31
34
|
export { generateRequestUniqueId };
|
|
32
35
|
|
|
@@ -102,6 +105,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
102
105
|
_defineProperty(_assertThisInitialized(_this), "request", void 0);
|
|
103
106
|
_defineProperty(_assertThisInitialized(_this), "app", void 0);
|
|
104
107
|
// App instance
|
|
108
|
+
_defineProperty(_assertThisInitialized(_this), "appPlugin", void 0);
|
|
105
109
|
_defineProperty(_assertThisInitialized(_this), "store", void 0);
|
|
106
110
|
_defineProperty(_assertThisInitialized(_this), "window", void 0);
|
|
107
111
|
// WindowPlugin 实例
|
|
@@ -168,7 +172,6 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
168
172
|
key: "initialize",
|
|
169
173
|
value: function () {
|
|
170
174
|
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
171
|
-
var appPlugin;
|
|
172
175
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
173
176
|
while (1) switch (_context.prev = _context.next) {
|
|
174
177
|
case 0:
|
|
@@ -178,7 +181,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
178
181
|
|
|
179
182
|
// 获取依赖的插件
|
|
180
183
|
this.request = core.getPlugin('request');
|
|
181
|
-
appPlugin = core.getPlugin('app');
|
|
184
|
+
this.appPlugin = core.getPlugin('app');
|
|
182
185
|
this.window = core.getPlugin('window');
|
|
183
186
|
if (this.request) {
|
|
184
187
|
_context.next = 8;
|
|
@@ -186,13 +189,13 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
186
189
|
}
|
|
187
190
|
throw new Error('支付模块需要 request 插件支持');
|
|
188
191
|
case 8:
|
|
189
|
-
if (appPlugin) {
|
|
192
|
+
if (this.appPlugin) {
|
|
190
193
|
_context.next = 10;
|
|
191
194
|
break;
|
|
192
195
|
}
|
|
193
196
|
throw new Error('支付模块需要 app 插件支持');
|
|
194
197
|
case 10:
|
|
195
|
-
this.app = appPlugin.getApp();
|
|
198
|
+
this.app = this.appPlugin.getApp();
|
|
196
199
|
this.dbManager = this.app.dbManager;
|
|
197
200
|
this.logger = this.app.logger;
|
|
198
201
|
|
|
@@ -228,6 +231,15 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
228
231
|
value: function updateOtherParams(params) {
|
|
229
232
|
this.otherParams = params || {};
|
|
230
233
|
}
|
|
234
|
+
}, {
|
|
235
|
+
key: "getPaymentNumberAppData",
|
|
236
|
+
value: function getPaymentNumberAppData(key) {
|
|
237
|
+
var _this$appPlugin, _this$appPlugin$getDa, _this$app, _this$app$getStore, _this$app$getStore$ca, _this$app$getStore$ca2;
|
|
238
|
+
var 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);
|
|
239
|
+
if (typeof getData === 'function') return getData(key);
|
|
240
|
+
var coreData = (_this$app = this.app) === null || _this$app === void 0 || (_this$app = _this$app.models) === null || _this$app === void 0 || (_this$app$getStore = _this$app.getStore) === null || _this$app$getStore === void 0 || (_this$app$getStore$ca = (_this$app$getStore$ca2 = _this$app$getStore.call(_this$app)).getDataByModel) === null || _this$app$getStore$ca === void 0 ? void 0 : _this$app$getStore$ca.call(_this$app$getStore$ca2, 'core', 'core');
|
|
241
|
+
return coreData === null || coreData === void 0 ? void 0 : coreData[key];
|
|
242
|
+
}
|
|
231
243
|
|
|
232
244
|
/**
|
|
233
245
|
* 记录信息日志
|
|
@@ -884,7 +896,8 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
884
896
|
key: "addPaymentItemAsync",
|
|
885
897
|
value: (function () {
|
|
886
898
|
var _addPaymentItemAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(orderUuid, paymentItem) {
|
|
887
|
-
var
|
|
899
|
+
var _this5 = this;
|
|
900
|
+
var _paymentItem$metadata, _newPaymentItem$metad, _newPaymentItem$metad2, _newPaymentItem$metad3, order, expectAmount, paidDepositAmount, expectedDepositAmount, warningMessage, paymentUuid, currentTime, hasPaymentNumber, paymentNumberDevicePrefix, paymentNumber, newPaymentItem;
|
|
888
901
|
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
889
902
|
while (1) switch (_context12.prev = _context12.next) {
|
|
890
903
|
case 0:
|
|
@@ -940,14 +953,29 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
940
953
|
});
|
|
941
954
|
throw new Error(warningMessage);
|
|
942
955
|
case 17:
|
|
943
|
-
|
|
944
|
-
paymentUuid = paymentItem.metadata.unique_payment_number;
|
|
945
|
-
} else {
|
|
946
|
-
paymentUuid = getUniqueId('payment_');
|
|
947
|
-
}
|
|
956
|
+
paymentUuid = paymentItem.uuid || ((_paymentItem$metadata = paymentItem.metadata) === null || _paymentItem$metadata === void 0 ? void 0 : _paymentItem$metadata.unique_payment_number) || getUniqueId('payment_');
|
|
948
957
|
currentTime = formatDateTime(new Date());
|
|
958
|
+
hasPaymentNumber = String(paymentItem.payment_number || '').trim() !== '';
|
|
959
|
+
if (!hasPaymentNumber) {
|
|
960
|
+
_context12.next = 24;
|
|
961
|
+
break;
|
|
962
|
+
}
|
|
963
|
+
_context12.t0 = 'LOCAL';
|
|
964
|
+
_context12.next = 27;
|
|
965
|
+
break;
|
|
966
|
+
case 24:
|
|
967
|
+
_context12.next = 26;
|
|
968
|
+
return resolvePaymentNumberDevicePrefix(function (key) {
|
|
969
|
+
return _this5.getPaymentNumberAppData(key);
|
|
970
|
+
});
|
|
971
|
+
case 26:
|
|
972
|
+
_context12.t0 = _context12.sent;
|
|
973
|
+
case 27:
|
|
974
|
+
paymentNumberDevicePrefix = _context12.t0;
|
|
975
|
+
paymentNumber = ensureOrderPaymentNumber(paymentItem, paymentNumberDevicePrefix, createUuidV4).payment_number;
|
|
949
976
|
newPaymentItem = {
|
|
950
977
|
uuid: paymentUuid,
|
|
978
|
+
payment_number: paymentNumber,
|
|
951
979
|
custom_payment_id: normalizeCustomPaymentId(paymentItem),
|
|
952
980
|
name: paymentItem.name,
|
|
953
981
|
code: paymentItem.code,
|
|
@@ -966,10 +994,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
966
994
|
// 创建时间
|
|
967
995
|
updated_at: currentTime,
|
|
968
996
|
// 更新时间
|
|
969
|
-
metadata: _objectSpread(
|
|
970
|
-
// 保留传入的所有 metadata 字段
|
|
971
|
-
unique_payment_number: paymentUuid // 设置唯一支付号为支付项的 uuid
|
|
972
|
-
})
|
|
997
|
+
metadata: _objectSpread({}, paymentItem.metadata)
|
|
973
998
|
};
|
|
974
999
|
order.payment.push(newPaymentItem);
|
|
975
1000
|
this.recalculateOrderAmount(order);
|
|
@@ -977,9 +1002,9 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
977
1002
|
orderUuid: orderUuid,
|
|
978
1003
|
order: order
|
|
979
1004
|
});
|
|
980
|
-
_context12.next =
|
|
1005
|
+
_context12.next = 35;
|
|
981
1006
|
return this.dbManager.update('order', order, true);
|
|
982
|
-
case
|
|
1007
|
+
case 35:
|
|
983
1008
|
this.logInfo('更新订单支付项完成', {
|
|
984
1009
|
orderUuid: orderUuid
|
|
985
1010
|
});
|
|
@@ -1000,22 +1025,22 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1000
1025
|
actualPaidAmount: (_newPaymentItem$metad2 = newPaymentItem.metadata) === null || _newPaymentItem$metad2 === void 0 ? void 0 : _newPaymentItem$metad2.actual_paid_amount,
|
|
1001
1026
|
changeGivenAmount: (_newPaymentItem$metad3 = newPaymentItem.metadata) === null || _newPaymentItem$metad3 === void 0 ? void 0 : _newPaymentItem$metad3.change_given_amount
|
|
1002
1027
|
});
|
|
1003
|
-
_context12.next =
|
|
1028
|
+
_context12.next = 45;
|
|
1004
1029
|
break;
|
|
1005
|
-
case
|
|
1006
|
-
_context12.prev =
|
|
1007
|
-
_context12.
|
|
1008
|
-
console.error('[PaymentModule] 添加支付项失败', _context12.
|
|
1009
|
-
this.logError('addPaymentItemAsync failed', _context12.
|
|
1030
|
+
case 40:
|
|
1031
|
+
_context12.prev = 40;
|
|
1032
|
+
_context12.t1 = _context12["catch"](1);
|
|
1033
|
+
console.error('[PaymentModule] 添加支付项失败', _context12.t1);
|
|
1034
|
+
this.logError('addPaymentItemAsync failed', _context12.t1, {
|
|
1010
1035
|
orderUuid: orderUuid,
|
|
1011
1036
|
paymentItem: paymentItem
|
|
1012
1037
|
});
|
|
1013
|
-
throw _context12.
|
|
1014
|
-
case
|
|
1038
|
+
throw _context12.t1;
|
|
1039
|
+
case 45:
|
|
1015
1040
|
case "end":
|
|
1016
1041
|
return _context12.stop();
|
|
1017
1042
|
}
|
|
1018
|
-
}, _callee12, this, [[1,
|
|
1043
|
+
}, _callee12, this, [[1, 40]]);
|
|
1019
1044
|
}));
|
|
1020
1045
|
function addPaymentItemAsync(_x13, _x14) {
|
|
1021
1046
|
return _addPaymentItemAsync.apply(this, arguments);
|
|
@@ -1135,17 +1160,17 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1135
1160
|
key: "updateVoucherPaymentItemsAsync",
|
|
1136
1161
|
value: (function () {
|
|
1137
1162
|
var _updateVoucherPaymentItemsAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(orderUuid, voucherPaymentItems) {
|
|
1138
|
-
var
|
|
1163
|
+
var _this6 = this;
|
|
1139
1164
|
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
1140
1165
|
while (1) switch (_context15.prev = _context15.next) {
|
|
1141
1166
|
case 0:
|
|
1142
1167
|
return _context15.abrupt("return", this.runVoucherUpdateLocked(orderUuid, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14() {
|
|
1143
|
-
var
|
|
1168
|
+
var _this6$normalizeVouch, normalizedVoucherItems, originalCount, normalizedCount, order, existingVoucherItems, _iterator2, _step2, voucherItem, orderAfterDelete, existingActiveVoucherKeys, _iterator3, _step3, _voucherItem, orderPaymentType, key, updatedOrder;
|
|
1144
1169
|
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
1145
1170
|
while (1) switch (_context14.prev = _context14.next) {
|
|
1146
1171
|
case 0:
|
|
1147
|
-
|
|
1148
|
-
|
|
1172
|
+
_this6$normalizeVouch = _this6.normalizeVoucherPaymentItems(voucherPaymentItems), normalizedVoucherItems = _this6$normalizeVouch.items, originalCount = _this6$normalizeVouch.originalCount, normalizedCount = _this6$normalizeVouch.normalizedCount;
|
|
1173
|
+
_this6.logInfo('Starting updateVoucherPaymentItemsAsync', {
|
|
1149
1174
|
orderUuid: orderUuid,
|
|
1150
1175
|
originalVoucherCount: originalCount,
|
|
1151
1176
|
normalizedVoucherCount: normalizedCount,
|
|
@@ -1167,7 +1192,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1167
1192
|
}
|
|
1168
1193
|
_context14.prev = 3;
|
|
1169
1194
|
_context14.next = 6;
|
|
1170
|
-
return
|
|
1195
|
+
return _this6.getPaymentOrderByUuidAsync(orderUuid);
|
|
1171
1196
|
case 6:
|
|
1172
1197
|
order = _context14.sent;
|
|
1173
1198
|
if (order) {
|
|
@@ -1207,7 +1232,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1207
1232
|
voucherItem = _step2.value;
|
|
1208
1233
|
console.log("[PaymentModule] \u5220\u9664\u73B0\u6709\u4EE3\u91D1\u5238\u652F\u4ED8\u9879: ".concat(voucherItem.uuid));
|
|
1209
1234
|
_context14.next = 19;
|
|
1210
|
-
return
|
|
1235
|
+
return _this6.deletePaymentAsync(orderUuid, voucherItem.uuid);
|
|
1211
1236
|
case 19:
|
|
1212
1237
|
_context14.next = 14;
|
|
1213
1238
|
break;
|
|
@@ -1224,7 +1249,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1224
1249
|
return _context14.finish(26);
|
|
1225
1250
|
case 29:
|
|
1226
1251
|
_context14.next = 31;
|
|
1227
|
-
return
|
|
1252
|
+
return _this6.getPaymentOrderByUuidAsync(orderUuid);
|
|
1228
1253
|
case 31:
|
|
1229
1254
|
orderAfterDelete = _context14.sent;
|
|
1230
1255
|
if (orderAfterDelete) {
|
|
@@ -1271,7 +1296,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1271
1296
|
order_payment_type: orderPaymentType
|
|
1272
1297
|
}));
|
|
1273
1298
|
_context14.next = 49;
|
|
1274
|
-
return
|
|
1299
|
+
return _this6.addPaymentItemAsync(orderUuid, _voucherItem);
|
|
1275
1300
|
case 49:
|
|
1276
1301
|
existingActiveVoucherKeys.add(key);
|
|
1277
1302
|
case 50:
|
|
@@ -1290,17 +1315,17 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1290
1315
|
return _context14.finish(57);
|
|
1291
1316
|
case 60:
|
|
1292
1317
|
_context14.next = 62;
|
|
1293
|
-
return
|
|
1318
|
+
return _this6.getPaymentOrderByUuidAsync(orderUuid);
|
|
1294
1319
|
case 62:
|
|
1295
1320
|
updatedOrder = _context14.sent;
|
|
1296
1321
|
_context14.next = 65;
|
|
1297
|
-
return
|
|
1322
|
+
return _this6.core.effects.emit("".concat(_this6.name, ":onPaymentAdded"), {
|
|
1298
1323
|
orderUuid: orderUuid,
|
|
1299
1324
|
order: updatedOrder,
|
|
1300
1325
|
payment: null // 批量操作不提供单个支付项
|
|
1301
1326
|
});
|
|
1302
1327
|
case 65:
|
|
1303
|
-
|
|
1328
|
+
_this6.logInfo('updateVoucherPaymentItemsAsync completed successfully', {
|
|
1304
1329
|
orderUuid: orderUuid,
|
|
1305
1330
|
removedVoucherCount: existingVoucherItems.length,
|
|
1306
1331
|
addedVoucherCount: normalizedVoucherItems.length,
|
|
@@ -1312,7 +1337,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1312
1337
|
_context14.prev = 68;
|
|
1313
1338
|
_context14.t2 = _context14["catch"](3);
|
|
1314
1339
|
console.error('[PaymentModule] 批量更新代金券支付项失败:', _context14.t2);
|
|
1315
|
-
|
|
1340
|
+
_this6.logError('updateVoucherPaymentItemsAsync failed', _context14.t2, {
|
|
1316
1341
|
orderUuid: orderUuid,
|
|
1317
1342
|
voucherPaymentItems: voucherPaymentItems
|
|
1318
1343
|
});
|
|
@@ -1361,7 +1386,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1361
1386
|
return payment.uuid === paymentUuid;
|
|
1362
1387
|
});
|
|
1363
1388
|
if (!paymentItem) {
|
|
1364
|
-
_context16.next =
|
|
1389
|
+
_context16.next = 19;
|
|
1365
1390
|
break;
|
|
1366
1391
|
}
|
|
1367
1392
|
// 如果更新参数中包含 amount,先格式化
|
|
@@ -1369,40 +1394,43 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1369
1394
|
if ('amount' in formattedParams && formattedParams.amount !== undefined) {
|
|
1370
1395
|
formattedParams.amount = formatAmount(formattedParams.amount);
|
|
1371
1396
|
}
|
|
1397
|
+
if (formattedParams.metadata && _typeof(formattedParams.metadata) === 'object') {
|
|
1398
|
+
formattedParams.metadata = _objectSpread(_objectSpread({}, paymentItem.metadata || {}), formattedParams.metadata);
|
|
1399
|
+
}
|
|
1372
1400
|
Object.assign(paymentItem, formattedParams);
|
|
1373
1401
|
|
|
1374
1402
|
// 重新计算待付金额
|
|
1375
1403
|
this.recalculateOrderAmount(order);
|
|
1376
1404
|
|
|
1377
1405
|
// 更新到 IndexDB
|
|
1378
|
-
_context16.next =
|
|
1406
|
+
_context16.next = 15;
|
|
1379
1407
|
return this.dbManager.update('order', order);
|
|
1380
|
-
case
|
|
1381
|
-
_context16.next =
|
|
1408
|
+
case 15:
|
|
1409
|
+
_context16.next = 17;
|
|
1382
1410
|
return this.core.effects.emit("".concat(this.name, ":onPaymentUpdated"), {
|
|
1383
1411
|
order: order,
|
|
1384
1412
|
paymentItem: paymentItem
|
|
1385
1413
|
});
|
|
1386
|
-
case
|
|
1387
|
-
_context16.next =
|
|
1414
|
+
case 17:
|
|
1415
|
+
_context16.next = 19;
|
|
1388
1416
|
return this.core.effects.emit("".concat(this.name, ":onOrderChanged"), {
|
|
1389
1417
|
action: 'payment_update',
|
|
1390
1418
|
order: order,
|
|
1391
1419
|
paymentItem: paymentItem
|
|
1392
1420
|
});
|
|
1393
|
-
case
|
|
1394
|
-
_context16.next =
|
|
1421
|
+
case 19:
|
|
1422
|
+
_context16.next = 25;
|
|
1395
1423
|
break;
|
|
1396
|
-
case
|
|
1397
|
-
_context16.prev =
|
|
1424
|
+
case 21:
|
|
1425
|
+
_context16.prev = 21;
|
|
1398
1426
|
_context16.t0 = _context16["catch"](0);
|
|
1399
1427
|
console.error('[PaymentModule] 更新支付项失败', _context16.t0);
|
|
1400
1428
|
throw _context16.t0;
|
|
1401
|
-
case
|
|
1429
|
+
case 25:
|
|
1402
1430
|
case "end":
|
|
1403
1431
|
return _context16.stop();
|
|
1404
1432
|
}
|
|
1405
|
-
}, _callee16, this, [[0,
|
|
1433
|
+
}, _callee16, this, [[0, 21]]);
|
|
1406
1434
|
}));
|
|
1407
1435
|
function updatePaymentAsync(_x19, _x20, _x21) {
|
|
1408
1436
|
return _updatePaymentAsync.apply(this, arguments);
|
|
@@ -1518,6 +1546,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1518
1546
|
payments: order.payment.map(function (payment) {
|
|
1519
1547
|
return {
|
|
1520
1548
|
uuid: payment.uuid,
|
|
1549
|
+
payment_number: payment.payment_number,
|
|
1521
1550
|
amount: payment.amount,
|
|
1522
1551
|
code: payment.code,
|
|
1523
1552
|
custom_payment_id: payment.custom_payment_id,
|