@pisell/pisellos 0.0.569 → 0.10.2
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/core/index.js +10 -6
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -3
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
- package/dist/model/strategy/adapter/walletPass/example.js +26 -3
- package/dist/model/strategy/adapter/walletPass/index.js +5 -5
- package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
- package/dist/model/strategy/strategy-example.js +19 -5
- package/dist/modules/BaseModule.d.ts +1 -1
- package/dist/modules/BaseModule.js +8 -10
- package/dist/modules/Cart/index.js +3 -0
- package/dist/modules/Cart/utils/cartProduct.js +1 -0
- package/dist/modules/Cart/utils/cartResource.js +0 -2
- package/dist/modules/Cart/utils/changePrice.js +9 -16
- package/dist/modules/Date/index.js +5 -1
- package/dist/modules/Discount/index.d.ts +0 -1
- package/dist/modules/Discount/index.js +7 -22
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.js +2 -0
- package/dist/modules/Order/index.js +70 -40
- package/dist/modules/Payment/index.js +162 -97
- package/dist/modules/Payment/types.d.ts +4 -8
- package/dist/modules/Payment/walletpass.d.ts +0 -2
- package/dist/modules/Payment/walletpass.js +5 -4
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +3 -12
- package/dist/modules/ProductList/types.d.ts +0 -1
- package/dist/modules/Rules/index.js +126 -427
- package/dist/modules/SalesSummary/utils.js +1 -2
- package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
- package/dist/modules/Schedule/index.js +1 -0
- package/dist/modules/Schedule/utils.js +1 -0
- package/dist/modules/Step/index.js +1 -0
- package/dist/modules/Summary/utils.js +22 -43
- package/dist/plugins/request.js +4 -1
- package/dist/plugins/window.js +6 -2
- package/dist/server/index.js +129 -97
- package/dist/server/modules/menu/index.js +41 -32
- package/dist/server/modules/order/index.js +4 -2
- package/dist/server/modules/products/index.js +42 -24
- package/dist/server/modules/quotation/index.js +38 -29
- package/dist/server/modules/resource/index.js +4 -3
- package/dist/server/modules/schedule/index.js +35 -27
- package/dist/server/utils/product.js +1 -0
- package/dist/solution/BaseSales/index.js +41 -38
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +60 -11
- package/dist/solution/BookingByStep/utils/capacity.js +11 -1
- package/dist/solution/BookingByStep/utils/resources.js +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +2 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
- package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
- package/dist/solution/BuyTickets/index.js +12 -9
- package/dist/solution/Checkout/index.js +252 -177
- package/dist/solution/Checkout/utils/index.js +16 -4
- package/dist/solution/RegisterAndLogin/index.js +76 -30
- package/dist/solution/ScanOrder/index.js +60 -50
- package/dist/solution/ShopDiscount/index.js +14 -15
- package/dist/solution/ShopDiscount/types.d.ts +4 -5
- package/dist/solution/ShopDiscount/utils.d.ts +0 -9
- package/dist/solution/ShopDiscount/utils.js +0 -9
- package/dist/solution/VenueBooking/index.d.ts +3 -31
- package/dist/solution/VenueBooking/index.js +496 -651
- package/dist/solution/VenueBooking/types.d.ts +1 -3
- package/dist/solution/VenueBooking/types.js +0 -1
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/task.js +18 -15
- package/dist/utils/watch.js +1 -0
- package/lib/apis/picoding.js +0 -2
- package/lib/core/index.js +132 -130
- package/lib/effects/index.js +57 -46
- package/lib/index.d.ts +0 -1
- package/lib/index.js +50 -92
- package/lib/model/index.js +21 -14
- package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
- package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
- package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
- package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
- package/lib/model/strategy/adapter/index.js +64 -100
- package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
- package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
- package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
- package/lib/model/strategy/adapter/itemRule/index.js +57 -83
- package/lib/model/strategy/adapter/itemRule/type.js +36 -97
- package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
- package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
- package/lib/model/strategy/adapter/promotion/examples.js +159 -139
- package/lib/model/strategy/adapter/promotion/index.js +49 -1
- package/lib/model/strategy/adapter/promotion/type.js +35 -199
- package/lib/model/strategy/adapter/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
- package/lib/model/strategy/adapter/walletPass/example.js +190 -217
- package/lib/model/strategy/adapter/walletPass/index.js +51 -75
- package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
- package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/lib/model/strategy/adapter/walletPass/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
- package/lib/model/strategy/engine.js +168 -270
- package/lib/model/strategy/index.js +34 -49
- package/lib/model/strategy/strategy-example.js +239 -243
- package/lib/model/strategy/type.js +40 -100
- package/lib/modules/Account/index.js +53 -39
- package/lib/modules/Account/types.js +33 -20
- package/lib/modules/AccountList/index.js +154 -116
- package/lib/modules/AccountList/types.js +31 -30
- package/lib/modules/AccountList/utils.js +30 -18
- package/lib/modules/BaseModule.d.ts +1 -1
- package/lib/modules/BaseModule.js +46 -25
- package/lib/modules/BookingContext/index.js +136 -158
- package/lib/modules/BookingContext/types.js +32 -46
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
- package/lib/modules/BookingContext/utils/flexible.js +55 -38
- package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
- package/lib/modules/BookingContext/utils/index.js +41 -124
- package/lib/modules/BookingContext/utils/noResource.js +70 -58
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
- package/lib/modules/BookingContext/utils/productExtend.js +155 -202
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
- package/lib/modules/BookingContext/utils/resources.js +167 -209
- package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
- package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
- package/lib/modules/Cart/index.js +124 -170
- package/lib/modules/Cart/types.js +51 -46
- package/lib/modules/Cart/utils/cartAccount.js +39 -40
- package/lib/modules/Cart/utils/cartDate.js +61 -56
- package/lib/modules/Cart/utils/cartDiscount.js +33 -28
- package/lib/modules/Cart/utils/cartNote.js +32 -27
- package/lib/modules/Cart/utils/cartProduct.js +251 -321
- package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
- package/lib/modules/Cart/utils/cartResource.js +78 -72
- package/lib/modules/Cart/utils/changePrice.js +50 -28
- package/lib/modules/Cart/utils/index.js +48 -106
- package/lib/modules/Customer/constants.js +34 -13
- package/lib/modules/Customer/index.js +169 -232
- package/lib/modules/Customer/types.js +35 -38
- package/lib/modules/Date/index.js +115 -116
- package/lib/modules/Date/types.js +28 -16
- package/lib/modules/Date/utils.js +123 -174
- package/lib/modules/Discount/index.d.ts +0 -1
- package/lib/modules/Discount/index.js +128 -130
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/Discount/types.js +31 -9
- package/lib/modules/Guests/index.js +56 -30
- package/lib/modules/Guests/types.js +33 -23
- package/lib/modules/Holder/index.js +189 -209
- package/lib/modules/Holder/types.js +16 -4
- package/lib/modules/Holder/utils.js +49 -20
- package/lib/modules/OpenData/index.js +76 -69
- package/lib/modules/OpenData/types.js +16 -4
- package/lib/modules/OpenData/utils.js +78 -44
- package/lib/modules/Order/index.js +1909 -1572
- package/lib/modules/Order/types.js +35 -78
- package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
- package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
- package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
- package/lib/modules/Order/utils.js +634 -799
- package/lib/modules/Payment/cash.js +33 -20
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
- package/lib/modules/Payment/eftpos.js +30 -16
- package/lib/modules/Payment/index.js +378 -518
- package/lib/modules/Payment/mx51.js +0 -1
- package/lib/modules/Payment/types.d.ts +4 -8
- package/lib/modules/Payment/types.js +107 -216
- package/lib/modules/Payment/utils.js +48 -51
- package/lib/modules/Payment/walletpass.d.ts +0 -2
- package/lib/modules/Payment/walletpass.js +211 -226
- package/lib/modules/Product/index.js +46 -51
- package/lib/modules/Product/types.js +16 -4
- package/lib/modules/Product/utils.js +33 -32
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +117 -117
- package/lib/modules/ProductList/types.d.ts +0 -1
- package/lib/modules/ProductList/types.js +31 -9
- package/lib/modules/Quotation/index.js +100 -66
- package/lib/modules/Quotation/types.js +16 -4
- package/lib/modules/Resource/index.js +59 -27
- package/lib/modules/Resource/types.js +32 -22
- package/lib/modules/Resource/utils.js +38 -30
- package/lib/modules/ResourcePlanner/index.js +61 -60
- package/lib/modules/ResourcePlanner/planner.js +384 -346
- package/lib/modules/ResourcePlanner/types.js +16 -4
- package/lib/modules/Rules/index.js +903 -1475
- package/lib/modules/Rules/types.js +40 -17
- package/lib/modules/SalesSummary/index.js +90 -85
- package/lib/modules/SalesSummary/types.js +16 -4
- package/lib/modules/SalesSummary/utils.js +427 -351
- package/lib/modules/ScanOrderLogger/index.js +79 -59
- package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
- package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
- package/lib/modules/ScanOrderLogger/types.js +16 -4
- package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
- package/lib/modules/Schedule/index.js +114 -100
- package/lib/modules/Schedule/type.js +16 -4
- package/lib/modules/Schedule/types.js +16 -4
- package/lib/modules/Schedule/utils.js +291 -433
- package/lib/modules/Step/index.js +52 -40
- package/lib/modules/Step/tyeps.js +16 -4
- package/lib/modules/Summary/index.js +71 -66
- package/lib/modules/Summary/types.js +16 -4
- package/lib/modules/Summary/utils.js +418 -791
- package/lib/modules/SurchargeList/index.js +60 -46
- package/lib/modules/SurchargeList/types.js +16 -4
- package/lib/modules/index.js +63 -245
- package/lib/plugins/app.js +16 -4
- package/lib/plugins/index.js +25 -36
- package/lib/plugins/request.js +126 -137
- package/lib/plugins/shopStore.js +16 -4
- package/lib/plugins/user.js +16 -4
- package/lib/plugins/window.js +179 -171
- package/lib/server/index.js +2337 -2675
- package/lib/server/modules/floor-plan/index.js +123 -102
- package/lib/server/modules/floor-plan/types.js +30 -15
- package/lib/server/modules/index.js +68 -106
- package/lib/server/modules/menu/index.js +122 -146
- package/lib/server/modules/menu/types.js +31 -18
- package/lib/server/modules/order/index.js +642 -567
- package/lib/server/modules/order/types.js +32 -117
- package/lib/server/modules/order/utils/filterBookings.js +194 -219
- package/lib/server/modules/order/utils/filterOrders.js +92 -118
- package/lib/server/modules/payment/index.js +83 -59
- package/lib/server/modules/payment/types.js +16 -4
- package/lib/server/modules/products/index.js +459 -575
- package/lib/server/modules/products/types.js +34 -44
- package/lib/server/modules/quotation/index.js +172 -137
- package/lib/server/modules/quotation/types.js +31 -21
- package/lib/server/modules/resource/index.js +184 -213
- package/lib/server/modules/resource/types.js +33 -42
- package/lib/server/modules/schedule/index.js +123 -135
- package/lib/server/modules/schedule/types.js +21 -14
- package/lib/server/modules/schedule/utils.js +163 -334
- package/lib/server/types.js +16 -4
- package/lib/server/utils/index.js +23 -25
- package/lib/server/utils/product.js +139 -196
- package/lib/server/utils/schedule.js +41 -34
- package/lib/server/utils/small-ticket.js +456 -478
- package/lib/server/utils/time.js +49 -40
- package/lib/solution/BaseSales/index.js +1016 -850
- package/lib/solution/BaseSales/types.js +37 -41
- package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
- package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
- package/lib/solution/BaseSales/utils.js +140 -155
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1340 -1530
- package/lib/solution/BookingByStep/types.js +99 -40
- package/lib/solution/BookingByStep/utils/capacity.js +160 -192
- package/lib/solution/BookingByStep/utils/products.js +52 -42
- package/lib/solution/BookingByStep/utils/resources.js +330 -527
- package/lib/solution/BookingByStep/utils/stock.js +44 -65
- package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +459 -543
- package/lib/solution/BookingTicket/types.js +77 -99
- package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
- package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
- package/lib/solution/BookingTicket/utils/cartView.js +94 -110
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
- package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
- package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
- package/lib/solution/BuyTickets/index.js +70 -67
- package/lib/solution/BuyTickets/types.js +38 -22
- package/lib/solution/Checkout/index.js +1158 -1451
- package/lib/solution/Checkout/types.js +61 -91
- package/lib/solution/Checkout/utils/index.js +156 -228
- package/lib/solution/PlaceOrder/index.js +0 -55
- package/lib/solution/RegisterAndLogin/config.js +460 -493
- package/lib/solution/RegisterAndLogin/index.js +630 -633
- package/lib/solution/RegisterAndLogin/types.js +76 -189
- package/lib/solution/RegisterAndLogin/utils.js +125 -183
- package/lib/solution/Sales/index.js +320 -317
- package/lib/solution/Sales/types.js +33 -27
- package/lib/solution/ScanOrder/index.js +862 -831
- package/lib/solution/ScanOrder/types.js +34 -33
- package/lib/solution/ScanOrder/utils.js +371 -406
- package/lib/solution/ShopDiscount/index.js +233 -235
- package/lib/solution/ShopDiscount/types.d.ts +4 -5
- package/lib/solution/ShopDiscount/types.js +37 -15
- package/lib/solution/ShopDiscount/utils.d.ts +0 -9
- package/lib/solution/ShopDiscount/utils.js +172 -309
- package/lib/solution/UnifiedBookingSales/index.js +405 -379
- package/lib/solution/UnifiedBookingSales/types.js +31 -12
- package/lib/solution/VenueBooking/index.d.ts +3 -31
- package/lib/solution/VenueBooking/index.js +916 -967
- package/lib/solution/VenueBooking/types.d.ts +1 -3
- package/lib/solution/VenueBooking/types.js +39 -20
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
- package/lib/solution/VenueBooking/utils/resource.js +54 -31
- package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
- package/lib/solution/VenueBooking/utils.js +67 -130
- package/lib/solution/index.js +41 -124
- package/lib/store/createStore.js +29 -32
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +16 -4
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +47 -81
- package/package.json +2 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
|
@@ -1,46 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/modules/Payment/walletpass.ts
|
|
20
|
+
var walletpass_exports = {};
|
|
21
|
+
__export(walletpass_exports, {
|
|
22
|
+
WalletPassPaymentImpl: () => WalletPassPaymentImpl
|
|
5
23
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
* 钱包支付实现
|
|
11
|
-
*/
|
|
12
|
-
class WalletPassPaymentImpl {
|
|
13
|
-
walletRecommendList = [];
|
|
14
|
-
userIdentificationCodes = [];
|
|
15
|
-
searchResults = [];
|
|
16
|
-
walletParams = null;
|
|
17
|
-
walletInitData = null;
|
|
24
|
+
module.exports = __toCommonJS(walletpass_exports);
|
|
25
|
+
var import_types = require("./types");
|
|
26
|
+
var import_utils = require("./utils");
|
|
27
|
+
var WalletPassPaymentImpl = class {
|
|
18
28
|
constructor(paymentModule) {
|
|
19
29
|
this.paymentModule = paymentModule;
|
|
30
|
+
this.walletRecommendList = [];
|
|
31
|
+
this.userIdentificationCodes = [];
|
|
32
|
+
this.searchResults = [];
|
|
33
|
+
this.walletParams = null;
|
|
34
|
+
this.walletInitData = null;
|
|
20
35
|
}
|
|
21
|
-
|
|
22
36
|
/**
|
|
23
37
|
* 发送事件的辅助方法
|
|
24
38
|
* 支持使用WalletPassHooks或PaymentHooks
|
|
25
39
|
*/
|
|
26
40
|
emitEvent(hook, data) {
|
|
27
41
|
try {
|
|
28
|
-
|
|
29
|
-
const eventName = hook.split(':')[1] || hook.replace(/^[A-Z][a-z]+/, '').replace(/^On/, '').toLowerCase();
|
|
42
|
+
const eventName = hook.split(":")[1] || hook.replace(/^[A-Z][a-z]+/, "").replace(/^On/, "").toLowerCase();
|
|
30
43
|
const fullEventName = `${this.paymentModule.name}:${eventName}`;
|
|
31
44
|
this.paymentModule.core.effects.emit(fullEventName, data);
|
|
32
45
|
} catch (error) {
|
|
33
|
-
this.paymentModule.logError(
|
|
34
|
-
hook
|
|
46
|
+
this.paymentModule.logError("[WalletPass] 发送事件失败", error, {
|
|
47
|
+
hook
|
|
35
48
|
});
|
|
36
49
|
}
|
|
37
50
|
}
|
|
38
|
-
|
|
39
51
|
/**
|
|
40
52
|
* 生成钱包API默认参数
|
|
41
53
|
* 根据业务数据生成标准的钱包API参数,并存储在模块中
|
|
42
54
|
*/
|
|
43
55
|
generateWalletParams(businessData) {
|
|
56
|
+
var _a, _b;
|
|
44
57
|
const {
|
|
45
58
|
customer_id,
|
|
46
59
|
holder,
|
|
@@ -50,36 +63,32 @@ class WalletPassPaymentImpl {
|
|
|
50
63
|
payment_order_id,
|
|
51
64
|
is_price_include_tax
|
|
52
65
|
} = businessData;
|
|
53
|
-
|
|
54
|
-
// 转换金额为数字类型
|
|
55
66
|
const totalAmount = Number(amountInfo.totalAmount);
|
|
56
67
|
const subTotal = Number(amountInfo.subTotal);
|
|
57
68
|
const walletParams = {
|
|
58
69
|
is_price_include_tax,
|
|
59
|
-
sale_channel:
|
|
70
|
+
sale_channel: "pos",
|
|
60
71
|
customer_id: customer_id || 0,
|
|
61
72
|
// 提供默认值,确保类型为 number
|
|
62
|
-
holder_id: holder
|
|
73
|
+
holder_id: ((_a = holder == null ? void 0 : holder.form_record) == null ? void 0 : _a[0]) || void 0,
|
|
63
74
|
order_expect_amount: totalAmount,
|
|
64
75
|
// 订单小计金额
|
|
65
76
|
order_product_amount: subTotal,
|
|
66
77
|
// 订单待支付金额
|
|
67
|
-
order_wait_pay_amount: order_wait_pay_amount || (amountInfo
|
|
78
|
+
order_wait_pay_amount: order_wait_pay_amount || ((amountInfo == null ? void 0 : amountInfo.isDeposit) ? Number(amountInfo == null ? void 0 : amountInfo.depositAmount) : totalAmount),
|
|
68
79
|
// order_behavior_count_customer_id: 1,
|
|
69
80
|
products,
|
|
70
81
|
prepare_payments: [],
|
|
71
82
|
payment_order_id
|
|
72
83
|
};
|
|
73
|
-
|
|
74
|
-
// 存储生成的参数到模块中
|
|
75
84
|
this.walletParams = walletParams;
|
|
76
|
-
this.paymentModule.logInfo(
|
|
85
|
+
this.paymentModule.logInfo("[WalletPass] 钱包默认参数已生成并存储", {
|
|
77
86
|
customer_id: walletParams.customer_id,
|
|
78
87
|
holder_id: walletParams.holder_id,
|
|
79
88
|
order_expect_amount: walletParams.order_expect_amount,
|
|
80
89
|
order_product_amount: walletParams.order_product_amount,
|
|
81
90
|
order_wait_pay_amount: walletParams.order_wait_pay_amount,
|
|
82
|
-
products_count: walletParams.products
|
|
91
|
+
products_count: ((_b = walletParams.products) == null ? void 0 : _b.length) || 0
|
|
83
92
|
});
|
|
84
93
|
this.walletInitData = {
|
|
85
94
|
transformList: [],
|
|
@@ -88,7 +97,6 @@ class WalletPassPaymentImpl {
|
|
|
88
97
|
};
|
|
89
98
|
return walletParams;
|
|
90
99
|
}
|
|
91
|
-
|
|
92
100
|
/**
|
|
93
101
|
* 获取已存储的钱包参数
|
|
94
102
|
* 返回之前生成并存储的钱包参数
|
|
@@ -96,24 +104,23 @@ class WalletPassPaymentImpl {
|
|
|
96
104
|
getStoredWalletParams() {
|
|
97
105
|
return this.walletParams;
|
|
98
106
|
}
|
|
99
|
-
|
|
100
107
|
/**
|
|
101
108
|
* 清理已存储的钱包参数
|
|
102
109
|
* 清除之前存储的钱包参数
|
|
103
110
|
*/
|
|
104
111
|
clearStoredWalletParams() {
|
|
105
112
|
this.walletParams = null;
|
|
106
|
-
this.paymentModule.logInfo(
|
|
113
|
+
this.paymentModule.logInfo("[WalletPass] 已存储的钱包参数已清理");
|
|
107
114
|
}
|
|
108
|
-
|
|
109
115
|
/**
|
|
110
116
|
* 从业务数据初始化钱包数据
|
|
111
117
|
* 内部生成参数,然后调用标准的初始化流程
|
|
112
118
|
*/
|
|
113
119
|
async initializeWalletDataFromBusinessAsync(businessData) {
|
|
120
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
114
121
|
const startTime = Date.now();
|
|
115
122
|
const walletParams = this.generateWalletParams(businessData);
|
|
116
|
-
if (Number(businessData
|
|
123
|
+
if (Number(((_a = businessData == null ? void 0 : businessData.amountInfo) == null ? void 0 : _a.totalAmount) || 0) < 0 || Number(((_b = businessData == null ? void 0 : businessData.amountInfo) == null ? void 0 : _b.subTotal) || 0) < 0) {
|
|
117
124
|
return {
|
|
118
125
|
walletRecommendList: [],
|
|
119
126
|
userIdentificationCodes: [],
|
|
@@ -122,36 +129,28 @@ class WalletPassPaymentImpl {
|
|
|
122
129
|
products: []
|
|
123
130
|
};
|
|
124
131
|
}
|
|
125
|
-
if ([1, 0].includes(walletParams
|
|
132
|
+
if ([1, 0].includes((walletParams == null ? void 0 : walletParams.customer_id) || 0)) {
|
|
126
133
|
return {
|
|
127
134
|
walletRecommendList: [],
|
|
128
135
|
userIdentificationCodes: []
|
|
129
136
|
};
|
|
130
137
|
}
|
|
131
|
-
|
|
132
|
-
// 发送初始化开始事件
|
|
133
|
-
this.emitEvent(_types.WalletPassHooks.OnWalletInitializationStarted, {
|
|
138
|
+
this.emitEvent(import_types.WalletPassHooks.OnWalletInitializationStarted, {
|
|
134
139
|
businessData,
|
|
135
140
|
startTime
|
|
136
141
|
});
|
|
137
|
-
this.paymentModule.logInfo(
|
|
142
|
+
this.paymentModule.logInfo("[WalletPass] 开始从业务数据初始化钱包数据", {
|
|
138
143
|
customer_id: businessData.customer_id,
|
|
139
|
-
totalAmount: businessData.amountInfo
|
|
140
|
-
subTotal: businessData.amountInfo
|
|
144
|
+
totalAmount: (_c = businessData.amountInfo) == null ? void 0 : _c.totalAmount,
|
|
145
|
+
subTotal: (_d = businessData.amountInfo) == null ? void 0 : _d.subTotal,
|
|
141
146
|
order_wait_pay_amount: businessData.order_wait_pay_amount,
|
|
142
|
-
products_count: businessData.products
|
|
147
|
+
products_count: ((_e = businessData.products) == null ? void 0 : _e.length) || 0
|
|
143
148
|
});
|
|
144
149
|
try {
|
|
145
|
-
// 生成钱包API参数
|
|
146
|
-
// const walletParams = this.generateWalletParams(businessData);
|
|
147
|
-
|
|
148
|
-
// 调用标准的初始化流程
|
|
149
150
|
const result = await this.initializeWalletDataAsync(walletParams);
|
|
150
151
|
const endTime = Date.now();
|
|
151
152
|
const duration = endTime - startTime;
|
|
152
|
-
|
|
153
|
-
// 发送初始化完成事件
|
|
154
|
-
this.emitEvent(_types.WalletPassHooks.OnWalletInitializationCompleted, {
|
|
153
|
+
this.emitEvent(import_types.WalletPassHooks.OnWalletInitializationCompleted, {
|
|
155
154
|
businessData,
|
|
156
155
|
result,
|
|
157
156
|
startTime,
|
|
@@ -160,50 +159,52 @@ class WalletPassPaymentImpl {
|
|
|
160
159
|
});
|
|
161
160
|
this.paymentModule.logInfo(`[WalletPass] 从业务数据初始化钱包数据成功`, {
|
|
162
161
|
duration: `${duration}ms`,
|
|
163
|
-
walletRecommendList_count: result.walletRecommendList
|
|
164
|
-
userIdentificationCodes_count: result.userIdentificationCodes
|
|
162
|
+
walletRecommendList_count: ((_f = result.walletRecommendList) == null ? void 0 : _f.length) || 0,
|
|
163
|
+
userIdentificationCodes_count: ((_g = result.userIdentificationCodes) == null ? void 0 : _g.length) || 0
|
|
165
164
|
});
|
|
166
165
|
return result;
|
|
167
166
|
} catch (error) {
|
|
168
167
|
const endTime = Date.now();
|
|
169
168
|
const duration = endTime - startTime;
|
|
170
|
-
|
|
171
|
-
// 发送初始化失败事件
|
|
172
|
-
this.emitEvent(_types.WalletPassHooks.OnWalletInitializationFailed, {
|
|
169
|
+
this.emitEvent(import_types.WalletPassHooks.OnWalletInitializationFailed, {
|
|
173
170
|
businessData,
|
|
174
|
-
error
|
|
171
|
+
error,
|
|
175
172
|
startTime,
|
|
176
173
|
endTime,
|
|
177
174
|
duration
|
|
178
175
|
});
|
|
179
|
-
this.paymentModule.logError(
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
this.paymentModule.logError(
|
|
177
|
+
`[WalletPass] 从业务数据初始化钱包数据失败`,
|
|
178
|
+
error,
|
|
179
|
+
{
|
|
180
|
+
duration: `${duration}ms`,
|
|
181
|
+
customer_id: businessData.customer_id,
|
|
182
|
+
totalAmount: (_h = businessData.amountInfo) == null ? void 0 : _h.totalAmount
|
|
183
|
+
}
|
|
184
|
+
);
|
|
184
185
|
throw error;
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
|
-
|
|
188
188
|
/**
|
|
189
189
|
* 获取订单基础详情
|
|
190
190
|
*/
|
|
191
191
|
async getOrderBasicDetailAsync(orderId) {
|
|
192
192
|
try {
|
|
193
|
-
const response = await this.paymentModule.request.get(
|
|
194
|
-
|
|
193
|
+
const response = await this.paymentModule.request.get(
|
|
194
|
+
`/order/order/${orderId}/basic-detail`
|
|
195
|
+
);
|
|
196
|
+
return (response == null ? void 0 : response.data) || {};
|
|
195
197
|
} catch (error) {
|
|
196
198
|
throw error;
|
|
197
199
|
}
|
|
198
200
|
}
|
|
199
|
-
|
|
200
201
|
/**
|
|
201
202
|
* 初始化钱包数据
|
|
202
203
|
* 先获取推荐列表,再获取用户识别码列表(顺序执行)
|
|
203
204
|
*/
|
|
204
205
|
async initializeWalletDataAsync(baseParams) {
|
|
206
|
+
var _a, _b;
|
|
205
207
|
try {
|
|
206
|
-
// 格式化用户识别码列表参数
|
|
207
208
|
const identificationParams = {
|
|
208
209
|
...baseParams,
|
|
209
210
|
available: 2,
|
|
@@ -211,10 +212,11 @@ class WalletPassPaymentImpl {
|
|
|
211
212
|
other_exact_codes: [],
|
|
212
213
|
filter_prepare_wallet_pass: 1
|
|
213
214
|
};
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
215
|
+
const [allList, orderBasicDetail] = await Promise.all([
|
|
216
|
+
this.getUserIdentificationCodeListAsync(identificationParams),
|
|
217
|
+
baseParams.payment_order_id && typeof baseParams.payment_order_id === "string" && !baseParams.payment_order_id.startsWith("LOCAL_") ? this.getOrderBasicDetailAsync(baseParams.payment_order_id) : Promise.resolve(null)
|
|
218
|
+
]);
|
|
219
|
+
const walletPassEvaluator = (_b = (_a = this.paymentModule.window) == null ? void 0 : _a.getWalletPassEvaluator) == null ? void 0 : _b.call(_a);
|
|
218
220
|
if (!walletPassEvaluator) {
|
|
219
221
|
return {
|
|
220
222
|
walletRecommendList: [],
|
|
@@ -224,40 +226,29 @@ class WalletPassPaymentImpl {
|
|
|
224
226
|
products: []
|
|
225
227
|
};
|
|
226
228
|
}
|
|
227
|
-
const products = orderBasicDetail
|
|
228
|
-
const res = walletPassEvaluator
|
|
229
|
+
const products = (orderBasicDetail == null ? void 0 : orderBasicDetail.detail) || baseParams.products;
|
|
230
|
+
const res = walletPassEvaluator == null ? void 0 : walletPassEvaluator.getRecommendedVouchers({
|
|
229
231
|
orderTotalAmount: baseParams.order_wait_pay_amount,
|
|
230
|
-
products
|
|
232
|
+
products,
|
|
231
233
|
vouchers: allList
|
|
232
234
|
});
|
|
233
|
-
const {
|
|
234
|
-
|
|
235
|
-
transformList,
|
|
236
|
-
noApplicableVoucher,
|
|
237
|
-
recommendedAmount
|
|
238
|
-
} = res;
|
|
235
|
+
const { recommended, transformList, noApplicableVoucher, recommendedAmount } = res;
|
|
236
|
+
console.log(res, "resres12");
|
|
239
237
|
this.walletRecommendList = recommended;
|
|
240
|
-
|
|
241
|
-
// 存储初始化数据到内存中,供 useWalletPass 使用
|
|
242
238
|
this.walletInitData = {
|
|
243
|
-
transformList
|
|
244
|
-
noApplicableVoucher
|
|
239
|
+
transformList,
|
|
240
|
+
noApplicableVoucher,
|
|
245
241
|
products: products || []
|
|
246
242
|
};
|
|
247
|
-
|
|
248
|
-
// // 再获取用户识别码列表
|
|
249
|
-
// const userIdentificationCodes =
|
|
250
|
-
// await this.getUserIdentificationCodeListAsync(identificationParams);
|
|
251
|
-
|
|
252
243
|
return {
|
|
253
244
|
walletRecommendList: recommended,
|
|
254
245
|
userIdentificationCodes: allList,
|
|
255
|
-
transformList
|
|
256
|
-
noApplicableVoucher
|
|
246
|
+
transformList,
|
|
247
|
+
noApplicableVoucher,
|
|
257
248
|
products: products || []
|
|
258
249
|
};
|
|
259
250
|
} catch (error) {
|
|
260
|
-
this.paymentModule.logError(
|
|
251
|
+
this.paymentModule.logError("[WalletPass] 初始化钱包数据失败", error, {
|
|
261
252
|
customer_id: baseParams.customer_id,
|
|
262
253
|
order_expect_amount: baseParams.order_expect_amount
|
|
263
254
|
});
|
|
@@ -265,27 +256,29 @@ class WalletPassPaymentImpl {
|
|
|
265
256
|
}
|
|
266
257
|
}
|
|
267
258
|
async getWalletPassRecommendListAsync(params) {
|
|
259
|
+
var _a;
|
|
268
260
|
try {
|
|
269
|
-
this.paymentModule.logInfo(
|
|
261
|
+
this.paymentModule.logInfo("[WalletPass] 开始获取钱包推荐列表", {
|
|
270
262
|
customer_id: params.customer_id,
|
|
271
263
|
order_expect_amount: params.order_expect_amount,
|
|
272
264
|
sale_channel: params.sale_channel,
|
|
273
|
-
payment_order_id: this.walletParams
|
|
265
|
+
payment_order_id: (_a = this.walletParams) == null ? void 0 : _a.payment_order_id
|
|
274
266
|
});
|
|
275
|
-
if (typeof params.payment_order_id ===
|
|
276
|
-
params.payment_order_id =
|
|
267
|
+
if (typeof params.payment_order_id === "string" && params.payment_order_id.startsWith("LOCAL_")) {
|
|
268
|
+
params.payment_order_id = void 0;
|
|
277
269
|
}
|
|
278
|
-
const response = await this.paymentModule.request.post(
|
|
270
|
+
const response = await this.paymentModule.request.post(
|
|
271
|
+
"/machinecode/prepare/deduction/recommend",
|
|
272
|
+
params
|
|
273
|
+
// 将 params 作为请求体数据
|
|
279
274
|
);
|
|
280
|
-
this.walletRecommendList = response
|
|
281
|
-
|
|
282
|
-
// 发送钱包推荐列表更新事件(使用专用的WalletPassHooks)
|
|
283
|
-
this.emitEvent(_types.WalletPassHooks.OnWalletRecommendListUpdated, {
|
|
275
|
+
this.walletRecommendList = (response == null ? void 0 : response.data) || [];
|
|
276
|
+
this.emitEvent(import_types.WalletPassHooks.OnWalletRecommendListUpdated, {
|
|
284
277
|
walletRecommendList: this.walletRecommendList
|
|
285
278
|
});
|
|
286
|
-
this.paymentModule.logInfo(
|
|
279
|
+
this.paymentModule.logInfo("[WalletPass] 钱包推荐列表已更新", {
|
|
287
280
|
count: this.walletRecommendList.length,
|
|
288
|
-
items: this.walletRecommendList.map(item => ({
|
|
281
|
+
items: this.walletRecommendList.map((item) => ({
|
|
289
282
|
voucher_id: item.voucher_id,
|
|
290
283
|
name: item.name,
|
|
291
284
|
amount: item.amount,
|
|
@@ -294,50 +287,50 @@ class WalletPassPaymentImpl {
|
|
|
294
287
|
});
|
|
295
288
|
return this.walletRecommendList;
|
|
296
289
|
} catch (error) {
|
|
297
|
-
this.paymentModule.logError(
|
|
290
|
+
this.paymentModule.logError("[WalletPass] 获取钱包推荐列表失败", error, {
|
|
298
291
|
customer_id: params.customer_id,
|
|
299
292
|
order_expect_amount: params.order_expect_amount,
|
|
300
293
|
sale_channel: params.sale_channel
|
|
301
294
|
});
|
|
302
|
-
// throw error;
|
|
303
295
|
return [];
|
|
304
296
|
}
|
|
305
297
|
}
|
|
306
298
|
formatWalletPassList2PreparePayments(list) {
|
|
307
|
-
return (0,
|
|
299
|
+
return (0, import_utils.formatWalletPassList2PreparePayments)(list);
|
|
308
300
|
}
|
|
309
301
|
async getUserIdentificationCodeListAsync(params) {
|
|
302
|
+
var _a, _b, _c;
|
|
310
303
|
try {
|
|
311
304
|
const newParams = {
|
|
312
305
|
...this.walletParams,
|
|
313
306
|
...params
|
|
314
307
|
};
|
|
315
|
-
if (!newParams.products
|
|
316
|
-
this.paymentModule.logInfo(
|
|
308
|
+
if (!((_a = newParams.products) == null ? void 0 : _a.length)) {
|
|
309
|
+
this.paymentModule.logInfo("[WalletPass] 商品列表为空,跳过获取用户识别码列表");
|
|
317
310
|
return [];
|
|
318
311
|
}
|
|
319
|
-
if (typeof newParams.payment_order_id ===
|
|
320
|
-
newParams.payment_order_id =
|
|
312
|
+
if (typeof newParams.payment_order_id === "string" && newParams.payment_order_id.startsWith("LOCAL_")) {
|
|
313
|
+
newParams.payment_order_id = void 0;
|
|
321
314
|
}
|
|
322
|
-
this.paymentModule.logInfo(
|
|
315
|
+
this.paymentModule.logInfo("[WalletPass] 开始获取用户识别码列表", {
|
|
323
316
|
customer_id: newParams.customer_id,
|
|
324
317
|
available: newParams.available,
|
|
325
|
-
prepare_payments_count: newParams.prepare_payments
|
|
318
|
+
prepare_payments_count: ((_b = newParams.prepare_payments) == null ? void 0 : _b.length) || 0,
|
|
326
319
|
filter_prepare_wallet_pass: newParams.filter_prepare_wallet_pass,
|
|
327
|
-
payment_order_id: this.walletParams
|
|
320
|
+
payment_order_id: (_c = this.walletParams) == null ? void 0 : _c.payment_order_id
|
|
328
321
|
});
|
|
329
|
-
const response = await this.paymentModule.request.post(
|
|
330
|
-
|
|
331
|
-
|
|
322
|
+
const response = await this.paymentModule.request.post(
|
|
323
|
+
"/machinecode/prepare/deduction",
|
|
324
|
+
newParams
|
|
325
|
+
);
|
|
326
|
+
const sortedData = (0, import_utils.sortUserIdentificationCodeList)((response == null ? void 0 : response.data) || []);
|
|
332
327
|
this.userIdentificationCodes = sortedData;
|
|
333
|
-
|
|
334
|
-
// 发送用户识别码列表更新事件(使用专用的WalletPassHooks)
|
|
335
|
-
this.emitEvent(_types.WalletPassHooks.OnUserIdentificationCodesUpdated, {
|
|
328
|
+
this.emitEvent(import_types.WalletPassHooks.OnUserIdentificationCodesUpdated, {
|
|
336
329
|
userIdentificationCodes: this.userIdentificationCodes
|
|
337
330
|
});
|
|
338
|
-
this.paymentModule.logInfo(
|
|
331
|
+
this.paymentModule.logInfo("[WalletPass] 用户识别码列表已更新", {
|
|
339
332
|
count: this.userIdentificationCodes.length,
|
|
340
|
-
sorted_items: this.userIdentificationCodes.slice(0, 5).map(item => ({
|
|
333
|
+
sorted_items: this.userIdentificationCodes.slice(0, 5).map((item) => ({
|
|
341
334
|
code: item.code,
|
|
342
335
|
error_code: item.error_code,
|
|
343
336
|
error_msg: item.error_msg
|
|
@@ -345,14 +338,17 @@ class WalletPassPaymentImpl {
|
|
|
345
338
|
});
|
|
346
339
|
return this.userIdentificationCodes;
|
|
347
340
|
} catch (error) {
|
|
348
|
-
this.paymentModule.logError(
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
341
|
+
this.paymentModule.logError(
|
|
342
|
+
"[WalletPass] 获取用户识别码列表失败",
|
|
343
|
+
error,
|
|
344
|
+
{
|
|
345
|
+
customer_id: params.customer_id,
|
|
346
|
+
available: params.available
|
|
347
|
+
}
|
|
348
|
+
);
|
|
352
349
|
return [];
|
|
353
350
|
}
|
|
354
351
|
}
|
|
355
|
-
|
|
356
352
|
/**
|
|
357
353
|
* 搜索识别码信息
|
|
358
354
|
* 通过识别码搜索相关的钱包通行证信息
|
|
@@ -360,115 +356,112 @@ class WalletPassPaymentImpl {
|
|
|
360
356
|
* 特殊逻辑:当识别码长度为9位且前3位为"000"时,调用 /wallet/detail/search 接口
|
|
361
357
|
*/
|
|
362
358
|
async searchIdentificationCodeAsync(params, config = {}) {
|
|
359
|
+
var _a;
|
|
363
360
|
try {
|
|
364
|
-
const {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
this.paymentModule.logInfo('[WalletPass] 开始搜索识别码', {
|
|
368
|
-
code: code,
|
|
361
|
+
const { code } = params;
|
|
362
|
+
this.paymentModule.logInfo("[WalletPass] 开始搜索识别码", {
|
|
363
|
+
code,
|
|
369
364
|
code_length: code.length,
|
|
370
365
|
noCache: config.noCache || false
|
|
371
366
|
});
|
|
372
|
-
|
|
373
|
-
// 新钱包规则
|
|
374
|
-
const isWalletCode = code.startsWith('WL') || code.startsWith('200') && code.length === 10;
|
|
367
|
+
const isWalletCode = code.startsWith("WL") || code.startsWith("200") && code.length === 10;
|
|
375
368
|
if (isWalletCode) {
|
|
376
|
-
// 钱包识别码直接调用专门接口,不缓存,直接返回
|
|
377
369
|
const walletDetailParams = {
|
|
378
|
-
code
|
|
370
|
+
code,
|
|
379
371
|
with_customer: 1,
|
|
380
|
-
with: [
|
|
372
|
+
with: ["wallet"]
|
|
381
373
|
};
|
|
382
|
-
this.paymentModule.logInfo(
|
|
383
|
-
code
|
|
374
|
+
this.paymentModule.logInfo("[WalletPass] 搜索钱包识别码", {
|
|
375
|
+
code,
|
|
384
376
|
with_customer: walletDetailParams.with_customer,
|
|
385
377
|
with: walletDetailParams.with
|
|
386
378
|
});
|
|
387
|
-
const
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
379
|
+
const response2 = await this.paymentModule.request.post(
|
|
380
|
+
"/wallet/detail/search",
|
|
381
|
+
walletDetailParams
|
|
382
|
+
);
|
|
383
|
+
const searchResults2 = (response2 == null ? void 0 : response2.data) || [];
|
|
384
|
+
this.paymentModule.logInfo("[WalletPass] 钱包识别码搜索完成", {
|
|
385
|
+
code,
|
|
386
|
+
results_count: searchResults2.length,
|
|
387
|
+
type: "walletCode"
|
|
393
388
|
});
|
|
394
389
|
return {
|
|
395
|
-
type:
|
|
396
|
-
data:
|
|
390
|
+
type: "walletCode",
|
|
391
|
+
data: searchResults2
|
|
397
392
|
};
|
|
398
393
|
}
|
|
399
|
-
|
|
400
|
-
// 合并钱包参数和搜索参数
|
|
401
394
|
const baseWalletParams = this.walletParams;
|
|
402
|
-
|
|
403
|
-
// 构建完整的搜索参数,包含钱包扣款推荐的所有参数
|
|
404
395
|
const searchParams = {
|
|
405
396
|
// 基础钱包参数
|
|
406
|
-
sale_channel: params.sale_channel || baseWalletParams
|
|
407
|
-
customer_id: params.customer_id || baseWalletParams
|
|
408
|
-
order_expect_amount: params.order_expect_amount || baseWalletParams
|
|
409
|
-
order_product_amount: params.order_product_amount || baseWalletParams
|
|
410
|
-
order_wait_pay_amount: params.order_wait_pay_amount || baseWalletParams
|
|
411
|
-
order_behavior_count_customer_id: params.order_behavior_count_customer_id || baseWalletParams
|
|
412
|
-
products: params.products || baseWalletParams
|
|
413
|
-
prepare_payments: params.prepare_payments || baseWalletParams
|
|
397
|
+
sale_channel: params.sale_channel || (baseWalletParams == null ? void 0 : baseWalletParams.sale_channel) || "pos",
|
|
398
|
+
customer_id: params.customer_id || (baseWalletParams == null ? void 0 : baseWalletParams.customer_id),
|
|
399
|
+
order_expect_amount: params.order_expect_amount || (baseWalletParams == null ? void 0 : baseWalletParams.order_expect_amount),
|
|
400
|
+
order_product_amount: params.order_product_amount || (baseWalletParams == null ? void 0 : baseWalletParams.order_product_amount),
|
|
401
|
+
order_wait_pay_amount: params.order_wait_pay_amount || (baseWalletParams == null ? void 0 : baseWalletParams.order_wait_pay_amount),
|
|
402
|
+
order_behavior_count_customer_id: params.order_behavior_count_customer_id || (baseWalletParams == null ? void 0 : baseWalletParams.order_behavior_count_customer_id) || params.customer_id || (baseWalletParams == null ? void 0 : baseWalletParams.customer_id),
|
|
403
|
+
products: params.products || (baseWalletParams == null ? void 0 : baseWalletParams.products),
|
|
404
|
+
prepare_payments: params.prepare_payments || (baseWalletParams == null ? void 0 : baseWalletParams.prepare_payments),
|
|
414
405
|
multiple: 1,
|
|
415
406
|
// 搜索特有参数
|
|
416
407
|
code: params.code,
|
|
417
|
-
payment_order_id: baseWalletParams
|
|
408
|
+
payment_order_id: baseWalletParams == null ? void 0 : baseWalletParams.payment_order_id
|
|
418
409
|
};
|
|
419
|
-
this.paymentModule.logInfo(
|
|
410
|
+
this.paymentModule.logInfo("[WalletPass] 搜索普通识别码", {
|
|
420
411
|
code: searchParams.code,
|
|
421
412
|
customer_id: searchParams.customer_id,
|
|
422
413
|
order_expect_amount: searchParams.order_expect_amount,
|
|
423
414
|
multiple: searchParams.multiple,
|
|
424
|
-
payment_order_id: baseWalletParams
|
|
415
|
+
payment_order_id: baseWalletParams == null ? void 0 : baseWalletParams.payment_order_id
|
|
425
416
|
});
|
|
426
|
-
if (typeof searchParams.payment_order_id ===
|
|
427
|
-
searchParams.payment_order_id =
|
|
417
|
+
if (typeof searchParams.payment_order_id === "string" && searchParams.payment_order_id.startsWith("LOCAL_")) {
|
|
418
|
+
searchParams.payment_order_id = void 0;
|
|
428
419
|
}
|
|
429
420
|
let response;
|
|
430
|
-
if (!searchParams.products || (searchParams.products || [])
|
|
421
|
+
if (!searchParams.products || ((_a = searchParams.products || []) == null ? void 0 : _a.length) === 0) {
|
|
431
422
|
response = {
|
|
432
423
|
data: []
|
|
433
424
|
};
|
|
434
425
|
} else {
|
|
435
|
-
response = await this.paymentModule.request.post(
|
|
426
|
+
response = await this.paymentModule.request.post(
|
|
427
|
+
"/machinecode/prepare/deduction/search",
|
|
428
|
+
searchParams
|
|
429
|
+
);
|
|
436
430
|
}
|
|
437
|
-
const searchResults = response
|
|
431
|
+
const searchResults = (response == null ? void 0 : response.data) || [];
|
|
438
432
|
if (config.noCache) {
|
|
439
433
|
return {
|
|
440
|
-
type:
|
|
434
|
+
type: "normalCode",
|
|
441
435
|
data: searchResults
|
|
442
436
|
};
|
|
443
437
|
}
|
|
444
|
-
|
|
445
|
-
// 将搜索结果存储到缓存数组中
|
|
446
438
|
if (searchResults.length > 0) {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
439
|
+
const existingCodes = new Set(
|
|
440
|
+
this.searchResults.map((item) => item.code)
|
|
441
|
+
);
|
|
442
|
+
const newResults = searchResults.filter(
|
|
443
|
+
(item) => !existingCodes.has(item.code)
|
|
444
|
+
);
|
|
450
445
|
this.searchResults.push(...newResults);
|
|
451
446
|
}
|
|
452
|
-
|
|
453
|
-
// 通过事件暴露当前搜索结果和缓存结果
|
|
454
|
-
this.emitEvent(_types.WalletPassHooks.OnSearchIdentificationCodeCompleted, {
|
|
447
|
+
this.emitEvent(import_types.WalletPassHooks.OnSearchIdentificationCodeCompleted, {
|
|
455
448
|
searchCode: params.code,
|
|
456
449
|
currentSearchResults: searchResults,
|
|
457
450
|
cachedSearchResults: [...this.searchResults],
|
|
458
451
|
searchParams: params
|
|
459
452
|
});
|
|
460
|
-
this.paymentModule.logInfo(
|
|
453
|
+
this.paymentModule.logInfo("[WalletPass] 普通识别码搜索完成", {
|
|
461
454
|
code: params.code,
|
|
462
455
|
results_count: searchResults.length,
|
|
463
456
|
cached_results_count: this.searchResults.length,
|
|
464
|
-
type:
|
|
457
|
+
type: "normalCode"
|
|
465
458
|
});
|
|
466
459
|
return {
|
|
467
|
-
type:
|
|
460
|
+
type: "normalCode",
|
|
468
461
|
data: searchResults
|
|
469
462
|
};
|
|
470
463
|
} catch (error) {
|
|
471
|
-
this.paymentModule.logError(
|
|
464
|
+
this.paymentModule.logError("[WalletPass] 搜索识别码信息失败", error, {
|
|
472
465
|
code: params.code,
|
|
473
466
|
customer_id: params.customer_id,
|
|
474
467
|
order_expect_amount: params.order_expect_amount
|
|
@@ -477,19 +470,19 @@ class WalletPassPaymentImpl {
|
|
|
477
470
|
}
|
|
478
471
|
}
|
|
479
472
|
async processWalletPayment(amount, orderUuid, voucherId) {
|
|
480
|
-
this.paymentModule.logInfo(
|
|
481
|
-
amount
|
|
482
|
-
orderUuid
|
|
483
|
-
voucherId: voucherId ||
|
|
473
|
+
this.paymentModule.logInfo("[WalletPass] 开始处理钱包支付", {
|
|
474
|
+
amount,
|
|
475
|
+
orderUuid,
|
|
476
|
+
voucherId: voucherId || "none"
|
|
484
477
|
});
|
|
485
478
|
const walletMethod = await this.paymentModule.getWalletPaymentMethod();
|
|
486
479
|
if (!walletMethod) {
|
|
487
|
-
this.paymentModule.logError(
|
|
488
|
-
amount
|
|
489
|
-
orderUuid
|
|
490
|
-
voucherId
|
|
480
|
+
this.paymentModule.logError("[WalletPass] 钱包支付方式未找到", null, {
|
|
481
|
+
amount,
|
|
482
|
+
orderUuid,
|
|
483
|
+
voucherId
|
|
491
484
|
});
|
|
492
|
-
throw new Error(
|
|
485
|
+
throw new Error("钱包支付方式未找到");
|
|
493
486
|
}
|
|
494
487
|
const paymentItem = {
|
|
495
488
|
amount: amount.toString(),
|
|
@@ -497,98 +490,83 @@ class WalletPassPaymentImpl {
|
|
|
497
490
|
custom_payment_id: walletMethod.id,
|
|
498
491
|
name: walletMethod.name,
|
|
499
492
|
type: walletMethod.type,
|
|
500
|
-
voucher_id: voucherId ||
|
|
493
|
+
voucher_id: voucherId || ""
|
|
501
494
|
};
|
|
502
495
|
await this.paymentModule.addPaymentItemAsync(orderUuid, paymentItem);
|
|
503
|
-
this.paymentModule.logInfo(
|
|
504
|
-
amount
|
|
505
|
-
orderUuid
|
|
506
|
-
voucherId: voucherId ||
|
|
496
|
+
this.paymentModule.logInfo("[WalletPass] 钱包支付处理完成", {
|
|
497
|
+
amount,
|
|
498
|
+
orderUuid,
|
|
499
|
+
voucherId: voucherId || "none",
|
|
507
500
|
payment_method: walletMethod.name
|
|
508
501
|
});
|
|
509
502
|
}
|
|
510
503
|
async getWalletBalance(voucherId) {
|
|
511
|
-
// 获取钱包余额的逻辑
|
|
512
504
|
return 0;
|
|
513
505
|
}
|
|
514
|
-
|
|
515
506
|
/**
|
|
516
507
|
* 获取缓存的钱包推荐列表
|
|
517
508
|
*/
|
|
518
509
|
getWalletRecommendList() {
|
|
519
510
|
return this.walletRecommendList;
|
|
520
511
|
}
|
|
521
|
-
|
|
522
512
|
/**
|
|
523
513
|
* 获取缓存的用户识别码列表
|
|
524
514
|
*/
|
|
525
515
|
getUserIdentificationCodes() {
|
|
526
516
|
return this.userIdentificationCodes;
|
|
527
517
|
}
|
|
528
|
-
|
|
529
518
|
/**
|
|
530
519
|
* 清除钱包推荐列表
|
|
531
520
|
*/
|
|
532
521
|
clearWalletRecommendList() {
|
|
533
522
|
this.walletRecommendList = [];
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
this.emitEvent(_types.WalletPassHooks.OnWalletRecommendListCleared, {
|
|
537
|
-
clearedTypes: ['walletRecommendList']
|
|
523
|
+
this.emitEvent(import_types.WalletPassHooks.OnWalletRecommendListCleared, {
|
|
524
|
+
clearedTypes: ["walletRecommendList"]
|
|
538
525
|
});
|
|
539
|
-
this.paymentModule.logInfo(
|
|
526
|
+
this.paymentModule.logInfo("[WalletPass] 钱包推荐列表已清除");
|
|
540
527
|
}
|
|
541
|
-
|
|
542
528
|
/**
|
|
543
529
|
* 清除用户识别码列表
|
|
544
530
|
*/
|
|
545
531
|
clearUserIdentificationCodes() {
|
|
546
532
|
this.userIdentificationCodes = [];
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
this.emitEvent(_types.WalletPassHooks.OnUserIdentificationCodesCleared, {
|
|
550
|
-
clearedTypes: ['userIdentificationCodes']
|
|
533
|
+
this.emitEvent(import_types.WalletPassHooks.OnUserIdentificationCodesCleared, {
|
|
534
|
+
clearedTypes: ["userIdentificationCodes"]
|
|
551
535
|
});
|
|
552
|
-
this.paymentModule.logInfo(
|
|
536
|
+
this.paymentModule.logInfo("[WalletPass] 用户识别码列表已清除");
|
|
553
537
|
}
|
|
554
|
-
|
|
555
538
|
/**
|
|
556
539
|
* 获取缓存的搜索结果列表
|
|
557
540
|
*/
|
|
558
541
|
getSearchResults() {
|
|
559
542
|
return this.searchResults;
|
|
560
543
|
}
|
|
561
|
-
|
|
562
544
|
/**
|
|
563
545
|
* 根据识别码查找搜索结果
|
|
564
546
|
*/
|
|
565
547
|
findSearchResultByCode(code) {
|
|
566
|
-
return this.searchResults.find(item => item.code === code);
|
|
548
|
+
return this.searchResults.find((item) => item.code === code);
|
|
567
549
|
}
|
|
568
|
-
|
|
569
550
|
/**
|
|
570
551
|
* 清除搜索结果缓存
|
|
571
552
|
*/
|
|
572
553
|
clearSearchResults() {
|
|
573
554
|
this.searchResults = [];
|
|
574
|
-
this.paymentModule.logInfo(
|
|
555
|
+
this.paymentModule.logInfo("[WalletPass] 搜索结果缓存已清除");
|
|
575
556
|
}
|
|
576
|
-
|
|
577
557
|
/**
|
|
578
558
|
* 获取存储的钱包初始化数据
|
|
579
559
|
*/
|
|
580
560
|
getStoredWalletInitData() {
|
|
581
561
|
return this.walletInitData;
|
|
582
562
|
}
|
|
583
|
-
|
|
584
563
|
/**
|
|
585
564
|
* 清除存储的钱包初始化数据
|
|
586
565
|
*/
|
|
587
566
|
clearStoredWalletInitData() {
|
|
588
567
|
this.walletInitData = null;
|
|
589
|
-
this.paymentModule.logInfo(
|
|
568
|
+
this.paymentModule.logInfo("[WalletPass] 钱包初始化数据已清除");
|
|
590
569
|
}
|
|
591
|
-
|
|
592
570
|
/**
|
|
593
571
|
* 清除所有缓存数据
|
|
594
572
|
*/
|
|
@@ -598,14 +576,21 @@ class WalletPassPaymentImpl {
|
|
|
598
576
|
this.searchResults = [];
|
|
599
577
|
this.walletParams = null;
|
|
600
578
|
this.walletInitData = null;
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
this.emitEvent(_types.WalletPassHooks.OnWalletCacheCleared, {
|
|
604
|
-
clearedTypes: ['all']
|
|
579
|
+
this.emitEvent(import_types.WalletPassHooks.OnWalletCacheCleared, {
|
|
580
|
+
clearedTypes: ["all"]
|
|
605
581
|
});
|
|
606
|
-
this.paymentModule.logInfo(
|
|
607
|
-
cleared_types: [
|
|
582
|
+
this.paymentModule.logInfo("[WalletPass] 所有缓存数据已清除", {
|
|
583
|
+
cleared_types: [
|
|
584
|
+
"walletRecommendList",
|
|
585
|
+
"userIdentificationCodes",
|
|
586
|
+
"searchResults",
|
|
587
|
+
"walletParams",
|
|
588
|
+
"walletInitData"
|
|
589
|
+
]
|
|
608
590
|
});
|
|
609
591
|
}
|
|
610
|
-
}
|
|
611
|
-
|
|
592
|
+
};
|
|
593
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
594
|
+
0 && (module.exports = {
|
|
595
|
+
WalletPassPaymentImpl
|
|
596
|
+
});
|