@pisell/pisellos 0.10.15 → 0.10.17
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 +6 -9
- package/dist/model/strategy/adapter/promotion/index.js +0 -9
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/strategy-example.js +5 -19
- package/dist/modules/Cart/index.js +0 -3
- package/dist/modules/Cart/utils/cartProduct.js +0 -1
- package/dist/modules/Date/index.js +1 -5
- package/dist/modules/Discount/index.js +2 -4
- package/dist/modules/OpenData/index.d.ts +5 -2
- package/dist/modules/OpenData/index.js +27 -14
- package/dist/modules/OpenData/types.d.ts +42 -0
- package/dist/modules/OpenData/types.js +7 -1
- package/dist/modules/OpenData/utils.d.ts +15 -1
- package/dist/modules/OpenData/utils.js +85 -0
- package/dist/modules/Order/index.d.ts +4 -2
- package/dist/modules/Order/index.js +131 -123
- package/dist/modules/Order/types.d.ts +8 -1
- package/dist/modules/Order/types.js +1 -0
- package/dist/modules/Order/utils.js +7 -1
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Product/types.d.ts +2 -0
- package/dist/modules/ProductList/index.js +96 -74
- package/dist/modules/Rules/index.js +12 -12
- package/dist/modules/SalesSummary/index.js +6 -4
- package/dist/modules/Schedule/index.js +0 -1
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.d.ts +11 -0
- package/dist/server/index.js +977 -641
- package/dist/server/modules/menu/index.js +32 -41
- package/dist/server/modules/order/index.d.ts +8 -0
- package/dist/server/modules/order/index.js +253 -219
- package/dist/server/modules/products/index.js +24 -42
- package/dist/server/modules/quotation/index.js +29 -38
- package/dist/server/modules/resource/index.js +3 -4
- package/dist/server/modules/schedule/index.js +27 -35
- package/dist/server/utils/product.js +0 -1
- package/dist/server/utils/small-ticket.d.ts +9 -1
- package/dist/server/utils/small-ticket.js +117 -43
- package/dist/solution/BaseSales/index.d.ts +7 -0
- package/dist/solution/BaseSales/index.js +350 -215
- package/dist/solution/BaseSales/types.d.ts +2 -0
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
- package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -1
- package/dist/solution/BaseSales/utils.js +6 -3
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingByStep/index.js +7 -59
- package/dist/solution/BookingByStep/utils/capacity.js +1 -11
- package/dist/solution/BookingByStep/utils/resources.js +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
- package/dist/solution/BookingTicket/index.d.ts +14 -19
- package/dist/solution/BookingTicket/index.js +553 -433
- package/dist/solution/BookingTicket/utils/addProductDecision.js +3 -1
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
- package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
- package/dist/solution/BuyTickets/index.js +9 -12
- package/dist/solution/Checkout/index.js +177 -252
- package/dist/solution/Checkout/utils/index.js +4 -16
- package/dist/solution/RegisterAndLogin/index.js +30 -76
- package/dist/solution/Sales/index.d.ts +20 -4
- package/dist/solution/Sales/index.js +348 -75
- package/dist/solution/Sales/types.d.ts +10 -0
- package/dist/solution/ScanOrder/index.js +50 -60
- package/dist/solution/ScanOrder/types.d.ts +2 -0
- package/dist/solution/ScanOrder/utils.js +6 -3
- package/dist/solution/ShopDiscount/index.js +2 -7
- package/dist/solution/UnifiedBookingSales/index.d.ts +5 -4
- package/dist/solution/UnifiedBookingSales/index.js +495 -422
- package/dist/solution/UnifiedBookingSales/types.d.ts +7 -1
- package/dist/solution/VenueBooking/index.js +45 -55
- package/dist/utils/task.js +15 -18
- package/dist/utils/watch.js +0 -1
- package/lib/apis/picoding.js +2 -0
- package/lib/core/index.js +131 -131
- package/lib/effects/index.js +46 -57
- package/lib/index.js +82 -49
- package/lib/model/index.js +14 -21
- package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +209 -315
- package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
- package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
- package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
- package/lib/model/strategy/adapter/index.js +100 -64
- package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
- package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
- package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
- package/lib/model/strategy/adapter/itemRule/index.js +83 -57
- package/lib/model/strategy/adapter/itemRule/type.js +97 -36
- package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
- package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
- package/lib/model/strategy/adapter/promotion/examples.js +222 -234
- package/lib/model/strategy/adapter/promotion/index.js +1 -51
- package/lib/model/strategy/adapter/promotion/type.js +243 -36
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
- package/lib/model/strategy/adapter/walletPass/example.js +217 -190
- package/lib/model/strategy/adapter/walletPass/index.js +75 -51
- package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
- package/lib/model/strategy/adapter/walletPass/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
- package/lib/model/strategy/engine.js +270 -168
- package/lib/model/strategy/index.js +49 -34
- package/lib/model/strategy/strategy-example.js +243 -239
- package/lib/model/strategy/type.js +100 -40
- package/lib/modules/Account/index.js +39 -53
- package/lib/modules/Account/types.js +20 -33
- package/lib/modules/AccountList/index.js +116 -154
- package/lib/modules/AccountList/types.js +30 -31
- package/lib/modules/AccountList/utils.js +18 -30
- package/lib/modules/BaseModule.js +23 -42
- package/lib/modules/BookingContext/index.js +158 -136
- package/lib/modules/BookingContext/types.js +46 -32
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
- package/lib/modules/BookingContext/utils/flexible.js +38 -55
- package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
- package/lib/modules/BookingContext/utils/index.js +124 -41
- package/lib/modules/BookingContext/utils/noResource.js +58 -70
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
- package/lib/modules/BookingContext/utils/productExtend.js +202 -155
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
- package/lib/modules/BookingContext/utils/resources.js +209 -167
- package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
- package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
- package/lib/modules/Cart/index.js +170 -124
- package/lib/modules/Cart/types.js +46 -51
- package/lib/modules/Cart/utils/cartAccount.js +40 -39
- package/lib/modules/Cart/utils/cartDate.js +56 -61
- package/lib/modules/Cart/utils/cartDiscount.js +28 -33
- package/lib/modules/Cart/utils/cartNote.js +27 -32
- package/lib/modules/Cart/utils/cartProduct.js +321 -251
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +70 -78
- package/lib/modules/Cart/utils/changePrice.js +22 -50
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.js +235 -172
- package/lib/modules/Customer/types.js +38 -35
- package/lib/modules/Date/index.js +116 -115
- package/lib/modules/Date/types.js +16 -28
- package/lib/modules/Date/utils.js +174 -123
- package/lib/modules/Discount/index.js +133 -143
- package/lib/modules/Discount/types.js +9 -31
- package/lib/modules/Guests/index.js +30 -56
- package/lib/modules/Guests/types.js +23 -33
- package/lib/modules/Holder/index.js +209 -189
- package/lib/modules/Holder/types.js +4 -16
- package/lib/modules/Holder/utils.js +20 -49
- package/lib/modules/OpenData/index.d.ts +5 -2
- package/lib/modules/OpenData/index.js +119 -78
- package/lib/modules/OpenData/types.d.ts +42 -0
- package/lib/modules/OpenData/types.js +12 -16
- package/lib/modules/OpenData/utils.d.ts +15 -1
- package/lib/modules/OpenData/utils.js +129 -78
- package/lib/modules/Order/index.d.ts +4 -2
- package/lib/modules/Order/index.js +1843 -2251
- package/lib/modules/Order/payment-utils.js +77 -120
- package/lib/modules/Order/types.d.ts +8 -1
- package/lib/modules/Order/types.js +88 -35
- package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
- package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
- package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
- package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
- package/lib/modules/Order/utils/virtualSettlement.js +120 -171
- package/lib/modules/Order/utils.js +834 -668
- package/lib/modules/Payment/cash.js +20 -33
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
- package/lib/modules/Payment/eftpos.js +16 -30
- package/lib/modules/Payment/index.js +532 -399
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.js +230 -108
- package/lib/modules/Payment/utils.js +52 -51
- package/lib/modules/Payment/walletpass.js +485 -660
- package/lib/modules/Product/index.js +51 -46
- package/lib/modules/Product/types.d.ts +2 -0
- package/lib/modules/Product/types.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.js +141 -161
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.js +66 -100
- package/lib/modules/Quotation/types.js +4 -16
- package/lib/modules/Resource/index.js +27 -59
- package/lib/modules/Resource/types.js +22 -32
- package/lib/modules/Resource/utils.js +30 -38
- package/lib/modules/ResourcePlanner/index.js +25 -23
- package/lib/modules/ResourcePlanner/localClock.js +54 -119
- package/lib/modules/ResourcePlanner/planner.js +591 -772
- package/lib/modules/ResourcePlanner/types.js +10 -29
- package/lib/modules/Rules/index.js +1224 -963
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +80 -89
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +359 -442
- package/lib/modules/ScanOrderLogger/index.js +59 -79
- package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
- package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
- package/lib/modules/ScanOrderLogger/types.js +4 -16
- package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
- package/lib/modules/Schedule/index.js +100 -114
- package/lib/modules/Schedule/type.js +4 -16
- package/lib/modules/Schedule/types.js +4 -16
- package/lib/modules/Schedule/utils.js +433 -291
- package/lib/modules/Step/index.js +40 -52
- package/lib/modules/Step/tyeps.js +4 -16
- package/lib/modules/Summary/index.js +66 -71
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +773 -418
- package/lib/modules/SurchargeList/index.js +46 -60
- package/lib/modules/SurchargeList/types.js +4 -16
- package/lib/modules/index.js +245 -63
- package/lib/plugins/app.js +4 -16
- package/lib/plugins/index.js +36 -25
- package/lib/plugins/request.js +137 -126
- package/lib/plugins/shopStore.js +4 -16
- package/lib/plugins/user.js +4 -16
- package/lib/plugins/window.js +171 -179
- package/lib/server/index.d.ts +11 -0
- package/lib/server/index.js +3432 -2757
- package/lib/server/modules/floor-plan/index.js +102 -123
- package/lib/server/modules/floor-plan/types.js +15 -30
- package/lib/server/modules/index.js +106 -68
- package/lib/server/modules/menu/index.js +146 -122
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.d.ts +8 -0
- package/lib/server/modules/order/index.js +781 -956
- package/lib/server/modules/order/types.js +122 -33
- package/lib/server/modules/order/utils/filterBookings.js +219 -194
- package/lib/server/modules/order/utils/filterOrders.js +118 -92
- package/lib/server/modules/payment/index.js +59 -83
- package/lib/server/modules/payment/types.js +4 -16
- package/lib/server/modules/products/index.js +575 -459
- package/lib/server/modules/products/types.js +44 -34
- package/lib/server/modules/quotation/index.js +137 -172
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.js +213 -184
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.js +135 -123
- package/lib/server/modules/schedule/types.js +14 -21
- package/lib/server/modules/schedule/utils.js +334 -163
- package/lib/server/types.js +4 -16
- package/lib/server/utils/index.js +25 -23
- package/lib/server/utils/product.js +196 -139
- package/lib/server/utils/schedule.js +34 -41
- package/lib/server/utils/small-ticket.d.ts +9 -1
- package/lib/server/utils/small-ticket.js +565 -470
- package/lib/server/utils/time.js +40 -49
- package/lib/solution/BaseSales/index.d.ts +7 -0
- package/lib/solution/BaseSales/index.js +1385 -1503
- package/lib/solution/BaseSales/types.d.ts +2 -0
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
- package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
- package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +138 -180
- package/lib/solution/BaseSales/utils.js +161 -143
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingByStep/index.js +1527 -1340
- package/lib/solution/BookingByStep/types.js +40 -99
- package/lib/solution/BookingByStep/utils/capacity.js +192 -160
- package/lib/solution/BookingByStep/utils/products.js +42 -52
- package/lib/solution/BookingByStep/utils/resources.js +527 -330
- package/lib/solution/BookingByStep/utils/stock.js +65 -44
- package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
- package/lib/solution/BookingTicket/index.d.ts +14 -19
- package/lib/solution/BookingTicket/index.js +663 -526
- package/lib/solution/BookingTicket/types.js +99 -77
- package/lib/solution/BookingTicket/utils/addProductDecision.js +229 -190
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
- package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
- package/lib/solution/BookingTicket/utils/cartView.js +114 -99
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
- package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
- package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
- package/lib/solution/BuyTickets/index.js +67 -70
- package/lib/solution/BuyTickets/types.js +22 -38
- package/lib/solution/Checkout/index.js +1451 -1158
- package/lib/solution/Checkout/types.js +91 -61
- package/lib/solution/Checkout/utils/index.js +228 -156
- package/lib/solution/PlaceOrder/index.js +55 -0
- package/lib/solution/RegisterAndLogin/config.js +493 -460
- package/lib/solution/RegisterAndLogin/index.js +633 -630
- package/lib/solution/RegisterAndLogin/types.js +189 -76
- package/lib/solution/RegisterAndLogin/utils.js +183 -125
- package/lib/solution/Sales/index.d.ts +20 -4
- package/lib/solution/Sales/index.js +502 -330
- package/lib/solution/Sales/types.d.ts +10 -0
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +822 -852
- package/lib/solution/ScanOrder/types.d.ts +2 -0
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.js +412 -374
- package/lib/solution/ShopDiscount/index.js +226 -232
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +300 -172
- package/lib/solution/UnifiedBookingSales/index.d.ts +5 -4
- package/lib/solution/UnifiedBookingSales/index.js +1087 -1222
- package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
- package/lib/solution/UnifiedBookingSales/types.d.ts +7 -1
- package/lib/solution/UnifiedBookingSales/types.js +10 -32
- package/lib/solution/VenueBooking/index.js +811 -879
- package/lib/solution/VenueBooking/types.js +19 -39
- package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
- package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.js +124 -41
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.js +4 -16
- package/lib/utils/payment-number.js +26 -46
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
|
@@ -1,63 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
29
2
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
__export(ProductList_exports, {
|
|
33
|
-
ProductList: () => ProductList
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
34
5
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
ProductList: true
|
|
8
|
+
};
|
|
9
|
+
exports.ProductList = void 0;
|
|
10
|
+
var _BaseModule = require("../BaseModule");
|
|
11
|
+
var _lodashEs = require("lodash-es");
|
|
12
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
13
|
+
var _types = require("./types");
|
|
14
|
+
Object.keys(_types).forEach(function (key) {
|
|
15
|
+
if (key === "default" || key === "__esModule") return;
|
|
16
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
17
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
18
|
+
Object.defineProperty(exports, key, {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _types[key];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
+
class ProductList extends _BaseModule.BaseModule {
|
|
27
|
+
defaultName = 'productList';
|
|
28
|
+
defaultVersion = '1.0.0';
|
|
29
|
+
store;
|
|
30
|
+
request;
|
|
31
|
+
otherParams = {};
|
|
41
32
|
constructor(name, version) {
|
|
42
33
|
super(name, version);
|
|
43
|
-
this.defaultName = "productList";
|
|
44
|
-
this.defaultVersion = "1.0.0";
|
|
45
|
-
this.otherParams = {};
|
|
46
34
|
}
|
|
47
35
|
async initialize(core, options) {
|
|
48
|
-
var _a;
|
|
49
36
|
this.core = core;
|
|
50
37
|
this.store = options.store;
|
|
51
38
|
this.otherParams = options.otherParams || {};
|
|
52
|
-
if (Array.isArray(
|
|
39
|
+
if (Array.isArray(options.initialState?.list)) {
|
|
53
40
|
this.store.list = options.initialState.list.slice().sort((a, b) => Number(b.sort) - Number(a.sort));
|
|
54
41
|
this.core.effects.emit(`${this.name}:changed`, this.store.list);
|
|
55
42
|
} else {
|
|
56
43
|
this.store.list = [];
|
|
57
44
|
this.store.selectProducts = [];
|
|
58
45
|
}
|
|
59
|
-
this.request = core.getPlugin(
|
|
46
|
+
this.request = core.getPlugin('request');
|
|
60
47
|
}
|
|
48
|
+
|
|
61
49
|
/**
|
|
62
50
|
* 更新运行态参数,供父级解决方案 setOtherParams 后同步查询上下文。
|
|
63
51
|
*
|
|
@@ -67,6 +55,7 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
67
55
|
updateOtherParams(params) {
|
|
68
56
|
this.otherParams = params || {};
|
|
69
57
|
}
|
|
58
|
+
|
|
70
59
|
/**
|
|
71
60
|
* 判断当前商品查询是否会被本地 OS Server 接管。
|
|
72
61
|
*
|
|
@@ -75,39 +64,34 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
75
64
|
* Data Variant 评估。
|
|
76
65
|
*/
|
|
77
66
|
isProductQueryHandledByOsServer() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return false;
|
|
82
|
-
const requestBaseUrl = String(
|
|
83
|
-
((_b = this.request) == null ? void 0 : _b.baseUrl) || "/shop"
|
|
84
|
-
).replace(/\/+$/, "");
|
|
67
|
+
const server = this.core?.server;
|
|
68
|
+
if (!server || typeof server.hasRoute !== 'function') return false;
|
|
69
|
+
const requestBaseUrl = String(this.request?.baseUrl || '/shop').replace(/\/+$/, '');
|
|
85
70
|
const routePath = `${requestBaseUrl}/product/query`;
|
|
86
|
-
return server.hasRoute(
|
|
71
|
+
return server.hasRoute('post', routePath) === true;
|
|
87
72
|
}
|
|
73
|
+
|
|
88
74
|
/**
|
|
89
75
|
* 未启用商品 OS 路由时,在客户端补做 Data Variant 解析。
|
|
90
76
|
* OS Server 已接管时直接信任服务端结果,确保同一批商品只评估一次。
|
|
91
77
|
*/
|
|
92
78
|
resolveClientDataVariants(products, queryPayload, handledByOsServer) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const evaluator = (_b = (_a = this.core) == null ? void 0 : _a.context) == null ? void 0 : _b.dataVariantEvaluator;
|
|
97
|
-
if (!evaluator || typeof evaluator.resolveProducts !== "function") {
|
|
79
|
+
if (handledByOsServer || products.length === 0) return products;
|
|
80
|
+
const evaluator = this.core?.context?.dataVariantEvaluator;
|
|
81
|
+
if (!evaluator || typeof evaluator.resolveProducts !== 'function') {
|
|
98
82
|
return products;
|
|
99
83
|
}
|
|
100
|
-
const strategyContext = queryPayload.strategy_context && typeof queryPayload.strategy_context ===
|
|
101
|
-
const fatherModule = String(
|
|
102
|
-
const scheduleModule = (fatherModule ? this.core.getModule(`${fatherModule}_schedule`) : null) || this.core.getModule(
|
|
103
|
-
const scheduleList =
|
|
104
|
-
const contextScheduleList =
|
|
105
|
-
const contextMenuList =
|
|
84
|
+
const strategyContext = queryPayload.strategy_context && typeof queryPayload.strategy_context === 'object' ? queryPayload.strategy_context : {};
|
|
85
|
+
const fatherModule = String(this.otherParams?.fatherModule || '').trim();
|
|
86
|
+
const scheduleModule = (fatherModule ? this.core.getModule(`${fatherModule}_schedule`) : null) || this.core.getModule('schedule');
|
|
87
|
+
const scheduleList = scheduleModule?.getScheduleList?.();
|
|
88
|
+
const contextScheduleList = this.core?.context?.scheduleList;
|
|
89
|
+
const contextMenuList = this.core?.context?.menuList;
|
|
106
90
|
const businessData = {
|
|
107
91
|
products,
|
|
108
92
|
scheduleDateTime: queryPayload.schedule_datetime || queryPayload.schedule_date,
|
|
109
93
|
scheduleList: Array.isArray(scheduleList) ? scheduleList : Array.isArray(contextScheduleList) ? contextScheduleList : [],
|
|
110
|
-
menuList: Array.isArray(
|
|
94
|
+
menuList: Array.isArray(this.otherParams?.menuList) ? this.otherParams.menuList : Array.isArray(contextMenuList) ? contextMenuList : [],
|
|
111
95
|
customerId: queryPayload.customer_id,
|
|
112
96
|
channel: strategyContext.channel,
|
|
113
97
|
orderType: strategyContext.orderType || strategyContext.order_type,
|
|
@@ -117,14 +101,16 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
117
101
|
};
|
|
118
102
|
try {
|
|
119
103
|
const result = evaluator.resolveProducts(businessData);
|
|
120
|
-
return Array.isArray(result
|
|
104
|
+
return Array.isArray(result?.products) ? result.products : products;
|
|
121
105
|
} catch (error) {
|
|
122
|
-
console.error(
|
|
106
|
+
console.error('[ProductList] Data Variant 客户端解析失败', error);
|
|
123
107
|
return products;
|
|
124
108
|
}
|
|
125
109
|
}
|
|
126
110
|
async storeChange(path, value) {
|
|
111
|
+
// No longer needed - products are stored as plain objects instead of Product instances
|
|
127
112
|
}
|
|
113
|
+
|
|
128
114
|
/**
|
|
129
115
|
* 获取加时商品列表。
|
|
130
116
|
*
|
|
@@ -133,10 +119,10 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
133
119
|
*/
|
|
134
120
|
async getAddTimeProducts(params = {}) {
|
|
135
121
|
return this.loadProducts({
|
|
136
|
-
schedule_date: (0,
|
|
137
|
-
status:
|
|
122
|
+
schedule_date: (0, _dayjs.default)().format('YYYY-MM-DD'),
|
|
123
|
+
status: 'published',
|
|
138
124
|
...params,
|
|
139
|
-
extension_type: [
|
|
125
|
+
extension_type: ['product_add_time']
|
|
140
126
|
});
|
|
141
127
|
}
|
|
142
128
|
async loadProducts({
|
|
@@ -151,55 +137,60 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
151
137
|
cacheId,
|
|
152
138
|
with_schedule,
|
|
153
139
|
extension_type,
|
|
154
|
-
status =
|
|
140
|
+
status = 'published',
|
|
155
141
|
strategy_context
|
|
156
142
|
} = {}, options) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
143
|
+
// // 如果 schedule_ids 为空,则需要尝试从 schedule 模块里获取
|
|
144
|
+
// if (!schedule_ids?.length) {
|
|
145
|
+
// const schedule_ids_data = this.store.schedule
|
|
146
|
+
// .getScheduleListByIds(schedule_ids)
|
|
147
|
+
// .map((n) => n.id);
|
|
148
|
+
// if (schedule_ids_data.length) {
|
|
149
|
+
// schedule_ids = schedule_ids_data;
|
|
150
|
+
// } else if (schedule_date) {
|
|
151
|
+
// // 后端说如果 schedule_ids 如果为空,需要给[0]
|
|
152
|
+
// schedule_ids = [0];
|
|
153
|
+
// }
|
|
154
|
+
// }
|
|
155
|
+
let userPlugin = this.core.getPlugin('user');
|
|
156
|
+
let customer_id = undefined;
|
|
160
157
|
try {
|
|
161
|
-
customer_id = paramsCustomerId ||
|
|
158
|
+
customer_id = paramsCustomerId || userPlugin?.get()?.id;
|
|
162
159
|
} catch (error) {
|
|
163
160
|
console.error(error);
|
|
164
161
|
}
|
|
162
|
+
// 如果没传schedule_date,则从
|
|
165
163
|
const channelMap = {
|
|
166
|
-
online_store:
|
|
167
|
-
scan_to_order:
|
|
168
|
-
|
|
169
|
-
scan_to_order_2:
|
|
170
|
-
scan_to_order_3:
|
|
164
|
+
online_store: 'online-store',
|
|
165
|
+
scan_to_order: 'online-store',
|
|
166
|
+
'scan-to-order': 'online-store',
|
|
167
|
+
scan_to_order_2: 'mobile_order',
|
|
168
|
+
scan_to_order_3: 'scantoorder3'
|
|
171
169
|
};
|
|
172
|
-
const rawApplicationCode =
|
|
173
|
-
const mappedApplicationCode = typeof rawApplicationCode ===
|
|
170
|
+
const rawApplicationCode = this.otherParams?.channel;
|
|
171
|
+
const mappedApplicationCode = typeof rawApplicationCode === 'string' ? channelMap[rawApplicationCode] || rawApplicationCode : rawApplicationCode;
|
|
174
172
|
const queryPayload = {
|
|
175
173
|
open_quotation: 1,
|
|
176
174
|
open_bundle: 0,
|
|
177
|
-
exclude_extension_type: [
|
|
178
|
-
|
|
179
|
-
"product_event",
|
|
180
|
-
"product_series_event",
|
|
181
|
-
"product_package_ticket",
|
|
182
|
-
"ticket",
|
|
183
|
-
"event_item"
|
|
184
|
-
],
|
|
185
|
-
with: [
|
|
186
|
-
"category",
|
|
187
|
-
"collection",
|
|
188
|
-
"resourceRelation",
|
|
189
|
-
"bundleGroup.bundleItem",
|
|
190
|
-
"optionGroup.optionItem",
|
|
191
|
-
"variantGroup.variantItem",
|
|
192
|
-
"dataVariants"
|
|
193
|
-
],
|
|
175
|
+
exclude_extension_type: ['product_party', 'product_event', 'product_series_event', 'product_package_ticket', 'ticket', 'event_item'],
|
|
176
|
+
with: ['category', 'collection', 'resourceRelation', 'bundleGroup.bundleItem', 'optionGroup.optionItem', 'variantGroup.variantItem', 'dataVariants'],
|
|
194
177
|
status,
|
|
195
178
|
num: 500,
|
|
196
179
|
skip: 1,
|
|
197
180
|
customer_id,
|
|
198
|
-
...Array.isArray(category_ids) && category_ids.length ? {
|
|
199
|
-
|
|
200
|
-
|
|
181
|
+
...(Array.isArray(category_ids) && category_ids.length ? {
|
|
182
|
+
category_ids
|
|
183
|
+
} : {}),
|
|
184
|
+
...(Array.isArray(product_ids) && product_ids.length ? {
|
|
185
|
+
ids: product_ids
|
|
186
|
+
} : {}),
|
|
187
|
+
...(Array.isArray(collection) && collection.length ? {
|
|
188
|
+
collection
|
|
189
|
+
} : {}),
|
|
201
190
|
front_end_cache_id: cacheId,
|
|
202
|
-
...Array.isArray(menu_list_ids) && menu_list_ids.length ? {
|
|
191
|
+
...(Array.isArray(menu_list_ids) && menu_list_ids.length ? {
|
|
192
|
+
menu_list_ids
|
|
193
|
+
} : {}),
|
|
203
194
|
with_count,
|
|
204
195
|
// client_schedule_ids: schedule_ids,
|
|
205
196
|
schedule_date,
|
|
@@ -211,37 +202,38 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
211
202
|
strategy_context
|
|
212
203
|
};
|
|
213
204
|
const handledByOsServer = this.isProductQueryHandledByOsServer();
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
const callbackList =
|
|
205
|
+
const originalCallback = options?.callback;
|
|
206
|
+
const subscriptionCallback = originalCallback ? async result => {
|
|
207
|
+
const callbackList = result?.data?.list;
|
|
217
208
|
if (!Array.isArray(callbackList)) {
|
|
218
|
-
(
|
|
209
|
+
originalCallback(result);
|
|
219
210
|
return;
|
|
220
211
|
}
|
|
221
|
-
|
|
212
|
+
const resolvedCallbackList = this.resolveClientDataVariants(callbackList, queryPayload, handledByOsServer);
|
|
213
|
+
await this.addProduct(resolvedCallbackList);
|
|
214
|
+
originalCallback(resolvedCallbackList === callbackList ? result : {
|
|
222
215
|
...result,
|
|
223
216
|
data: {
|
|
224
217
|
...result.data,
|
|
225
|
-
list:
|
|
226
|
-
callbackList,
|
|
227
|
-
queryPayload,
|
|
228
|
-
false
|
|
229
|
-
)
|
|
218
|
+
list: resolvedCallbackList
|
|
230
219
|
}
|
|
231
220
|
});
|
|
232
|
-
} :
|
|
233
|
-
const productsData = await this.request.post(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
);
|
|
239
|
-
const resolvedList = this.resolveClientDataVariants(
|
|
240
|
-
productsData.data.list || [],
|
|
241
|
-
queryPayload,
|
|
242
|
-
handledByOsServer
|
|
243
|
-
);
|
|
221
|
+
} : undefined;
|
|
222
|
+
const productsData = await this.request.post(`/product/query`, queryPayload, {
|
|
223
|
+
osServer: true,
|
|
224
|
+
callback: subscriptionCallback,
|
|
225
|
+
subscriberId: options?.subscriberId,
|
|
226
|
+
customToast: () => {}
|
|
227
|
+
});
|
|
228
|
+
const resolvedList = this.resolveClientDataVariants(productsData.data.list || [], queryPayload, handledByOsServer);
|
|
244
229
|
const sortedList = resolvedList.slice().sort((a, b) => Number(b.sort) - Number(a.sort));
|
|
230
|
+
// if (sortedList.length) {
|
|
231
|
+
// sortedList.forEach((n: any) => {
|
|
232
|
+
// if (n.is_eject !== 1 && n['schedule.ids'] && n['schedule.ids'].length) {
|
|
233
|
+
// n.is_eject = 1
|
|
234
|
+
// }
|
|
235
|
+
// })
|
|
236
|
+
// }
|
|
245
237
|
this.addProduct(sortedList);
|
|
246
238
|
return sortedList;
|
|
247
239
|
}
|
|
@@ -251,80 +243,68 @@ var ProductList = class extends import_BaseModule.BaseModule {
|
|
|
251
243
|
schedule_date,
|
|
252
244
|
channel
|
|
253
245
|
}) {
|
|
254
|
-
const productsData = await this.request.post(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
{ useCache: true }
|
|
263
|
-
);
|
|
246
|
+
const productsData = await this.request.post(`/product/query/price`, {
|
|
247
|
+
ids,
|
|
248
|
+
customer_id,
|
|
249
|
+
schedule_date,
|
|
250
|
+
channel
|
|
251
|
+
}, {
|
|
252
|
+
useCache: true
|
|
253
|
+
});
|
|
264
254
|
return productsData.data;
|
|
265
255
|
}
|
|
266
256
|
async getProducts() {
|
|
267
|
-
await this.core.effects.emit(
|
|
268
|
-
|
|
269
|
-
this.store.list
|
|
270
|
-
);
|
|
271
|
-
return (0, import_lodash_es.cloneDeep)(this.store.list);
|
|
257
|
+
await this.core.effects.emit(`${this.name}:onGetProducts`, this.store.list);
|
|
258
|
+
return (0, _lodashEs.cloneDeep)(this.store.list);
|
|
272
259
|
}
|
|
273
260
|
async getProduct(id) {
|
|
274
|
-
await this.core.effects.emit(
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
);
|
|
278
|
-
const product = this.store.list.find((product2) => product2.id === id);
|
|
279
|
-
return product ? (0, import_lodash_es.cloneDeep)(product) : void 0;
|
|
261
|
+
await this.core.effects.emit(`${this.name}:onGetProduct`, this.store.list);
|
|
262
|
+
const product = this.store.list.find(product => product.id === id);
|
|
263
|
+
return product ? (0, _lodashEs.cloneDeep)(product) : undefined;
|
|
280
264
|
}
|
|
281
265
|
async getProductByIds(ids) {
|
|
282
|
-
await this.core.effects.emit(
|
|
283
|
-
|
|
284
|
-
this.store.list
|
|
285
|
-
);
|
|
286
|
-
const products = this.store.list.filter((product) => ids.includes(product.id));
|
|
266
|
+
await this.core.effects.emit(`${this.name}:onGetProductByIds`, this.store.list);
|
|
267
|
+
const products = this.store.list.filter(product => ids.includes(product.id));
|
|
287
268
|
return products;
|
|
288
269
|
}
|
|
289
270
|
async addProduct(products) {
|
|
271
|
+
// list 需要根据 id 去重
|
|
290
272
|
if (!this.store.list) {
|
|
291
273
|
this.store.list = [];
|
|
292
274
|
}
|
|
293
|
-
products.forEach(
|
|
294
|
-
const index = this.store.list.findIndex(
|
|
275
|
+
products.forEach(n => {
|
|
276
|
+
const index = this.store.list.findIndex(m => m.id === n.id);
|
|
295
277
|
if (index === -1) {
|
|
296
278
|
this.store.list.push(n);
|
|
297
279
|
} else {
|
|
298
280
|
this.store.list[index] = n;
|
|
299
281
|
}
|
|
300
282
|
});
|
|
283
|
+
// 根据 sort 值做降序排序(数字越大越靠前)
|
|
301
284
|
this.store.list.sort((a, b) => Number(b.sort) - Number(a.sort));
|
|
302
285
|
this.core.effects.emit(`${this.name}:changed`, this.store.list);
|
|
303
286
|
}
|
|
304
287
|
async selectProducts(products) {
|
|
305
288
|
this.store.selectProducts = products;
|
|
306
289
|
}
|
|
290
|
+
|
|
307
291
|
/**
|
|
308
292
|
* 根据商品编码或条码搜索商品
|
|
309
293
|
* @param code 商品编码或条码
|
|
310
294
|
* @returns 匹配的商品列表,如果没有匹配则返回空数组
|
|
311
295
|
*/
|
|
312
296
|
findProductsByCodeOrBarcode(code) {
|
|
313
|
-
if (!code || typeof code !==
|
|
297
|
+
if (!code || typeof code !== 'string') {
|
|
314
298
|
return [];
|
|
315
299
|
}
|
|
316
300
|
const trimmedCode = code.trim();
|
|
317
301
|
if (!trimmedCode) {
|
|
318
302
|
return [];
|
|
319
303
|
}
|
|
320
|
-
const matchingProducts = this.store.list.filter(
|
|
304
|
+
const matchingProducts = this.store.list.filter(product => {
|
|
321
305
|
return product.code && product.code.trim() === trimmedCode || product.barcode && product.barcode.trim() === trimmedCode;
|
|
322
306
|
});
|
|
323
|
-
return (0,
|
|
307
|
+
return (0, _lodashEs.cloneDeep)(matchingProducts);
|
|
324
308
|
}
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
0 && (module.exports = {
|
|
328
|
-
ProductList,
|
|
329
|
-
...require("./types")
|
|
330
|
-
});
|
|
309
|
+
}
|
|
310
|
+
exports.ProductList = ProductList;
|
|
@@ -1,33 +1,11 @@
|
|
|
1
|
-
|
|
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);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(types_exports, {
|
|
22
|
-
ProductListHooks: () => ProductListHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var ProductListHooks = /* @__PURE__ */ ((ProductListHooks2) => {
|
|
26
|
-
ProductListHooks2["onGetProducts"] = "productList:onGetProducts";
|
|
27
|
-
ProductListHooks2["onGetProduct"] = "productList:onGetProduct";
|
|
28
|
-
return ProductListHooks2;
|
|
29
|
-
})(ProductListHooks || {});
|
|
30
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
-
0 && (module.exports = {
|
|
32
|
-
ProductListHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
6
|
+
exports.ProductListHooks = void 0;
|
|
7
|
+
let ProductListHooks = exports.ProductListHooks = /*#__PURE__*/function (ProductListHooks) {
|
|
8
|
+
ProductListHooks["onGetProducts"] = "productList:onGetProducts";
|
|
9
|
+
ProductListHooks["onGetProduct"] = "productList:onGetProduct";
|
|
10
|
+
return ProductListHooks;
|
|
11
|
+
}({});
|