@pisell/pisellos 2.3.74 → 2.3.75
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 -10
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- 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.js +0 -2
- package/dist/modules/Order/index.js +36 -64
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Rules/index.js +1 -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.js +97 -129
- package/dist/server/modules/menu/index.js +32 -41
- package/dist/server/modules/order/index.js +2 -4
- 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/solution/BaseSales/index.js +38 -41
- 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.js +0 -2
- 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/ScanOrder/index.js +50 -60
- package/dist/solution/ShopDiscount/index.js +2 -7
- 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 +134 -134
- 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 +162 -236
- 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 -0
- 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 +122 -127
- 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.js +70 -76
- package/lib/modules/OpenData/types.js +4 -16
- package/lib/modules/OpenData/utils.js +44 -78
- package/lib/modules/Order/index.js +1713 -2118
- package/lib/modules/Order/payment-utils.js +77 -120
- 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.js +814 -647
- 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.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.js +113 -123
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.js +81 -118
- 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 +589 -770
- package/lib/modules/ResourcePlanner/types.js +10 -29
- package/lib/modules/Rules/index.js +1218 -959
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +85 -90
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +355 -430
- 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.js +3050 -2665
- package/lib/server/modules/floor-plan/index.js +118 -134
- 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 +142 -122
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.js +784 -1002
- 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 +583 -471
- 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 +220 -186
- 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.js +479 -456
- package/lib/server/utils/time.js +40 -49
- package/lib/solution/BaseSales/index.js +1186 -1410
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.js +642 -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.js +108 -145
- package/lib/solution/BaseSales/utils.js +158 -143
- 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.js +607 -522
- package/lib/solution/BookingTicket/types.js +99 -77
- package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
- 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.js +328 -324
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +832 -864
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.js +409 -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.js +1035 -1201
- package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
- 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
|
@@ -101,13 +101,6 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
101
101
|
var isTargetDayToday = targetDay.isSame(currentTime, 'day');
|
|
102
102
|
var fastestTime = null;
|
|
103
103
|
var fastestResources = [];
|
|
104
|
-
console.log('[TimeslotUtils] 查找最快可用资源:', {
|
|
105
|
-
currentTime: currentTime.format('YYYY-MM-DD HH:mm:ss'),
|
|
106
|
-
resourceCount: resources.length,
|
|
107
|
-
currentCapacity: currentCapacity,
|
|
108
|
-
countMap: countMap
|
|
109
|
-
});
|
|
110
|
-
|
|
111
104
|
// 遍历所有资源,找到最快可用的时间点
|
|
112
105
|
var _iterator2 = _createForOfIteratorHelper(resources),
|
|
113
106
|
_step2;
|
|
@@ -122,28 +115,21 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
122
115
|
return dayjs(time.end_at).isAfter(currentTime);
|
|
123
116
|
});
|
|
124
117
|
if (targetDayTimes.length === 0) {
|
|
125
|
-
console.log("[TimeslotUtils] \u8D44\u6E90 ".concat(_resource.id, "(").concat(_resource.main_field, ") \u4ECA\u65E5\u65E0\u53EF\u7528\u65F6\u95F4\u6BB5"));
|
|
126
118
|
continue;
|
|
127
119
|
}
|
|
128
120
|
var _iterator4 = _createForOfIteratorHelper(targetDayTimes),
|
|
129
121
|
_step4;
|
|
130
122
|
try {
|
|
131
123
|
var _loop = function _loop() {
|
|
132
|
-
var _time$event_list
|
|
124
|
+
var _time$event_list;
|
|
133
125
|
var time = _step4.value;
|
|
134
126
|
var workStartTime = dayjs(time.start_at);
|
|
135
127
|
var workEndTime = dayjs(time.end_at);
|
|
136
128
|
|
|
137
129
|
// 确定检查的起始时间(当前时间 vs 工作开始时间)
|
|
138
130
|
var nextAvailableTime = isTargetDayToday && currentTime.isAfter(workStartTime) ? currentTime : workStartTime;
|
|
139
|
-
console.log("[TimeslotUtils] \u68C0\u67E5\u8D44\u6E90 ".concat(_resource.id, "(").concat(_resource.main_field, "):"), {
|
|
140
|
-
workTime: "".concat(workStartTime.format('HH:mm'), "-").concat(workEndTime.format('HH:mm')),
|
|
141
|
-
checkStartTime: nextAvailableTime.format('HH:mm:ss'),
|
|
142
|
-
eventCount: ((_time$event_list = time.event_list) === null || _time$event_list === void 0 ? void 0 : _time$event_list.length) || 0
|
|
143
|
-
});
|
|
144
|
-
|
|
145
131
|
// 获取所有影响的预约事件(当前时间之后的)
|
|
146
|
-
var relevantEvents = ((_time$
|
|
132
|
+
var relevantEvents = ((_time$event_list = time.event_list) === null || _time$event_list === void 0 ? void 0 : _time$event_list.filter(function (event) {
|
|
147
133
|
var eventEnd = dayjs(event.end_at);
|
|
148
134
|
return eventEnd.isAfter(nextAvailableTime);
|
|
149
135
|
})) || [];
|
|
@@ -162,20 +148,12 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
162
148
|
var _event = _step5.value;
|
|
163
149
|
var _eventStart = dayjs(_event.start_at);
|
|
164
150
|
var _eventEnd = dayjs(_event.end_at);
|
|
165
|
-
console.log("[TimeslotUtils] \u68C0\u67E5\u4E8B\u4EF6\u51B2\u7A81:", {
|
|
166
|
-
resourceId: _resource.id,
|
|
167
|
-
eventTime: "".concat(_eventStart.format('HH:mm'), "-").concat(_eventEnd.format('HH:mm')),
|
|
168
|
-
checkTime: finalAvailableTime.format('HH:mm:ss'),
|
|
169
|
-
pax: _event.pax || 1
|
|
170
|
-
});
|
|
171
|
-
|
|
172
151
|
// 检查资源类型和容量
|
|
173
152
|
if (_resource.resourceType === 'single' || (_resource.capacity || 1) === 1) {
|
|
174
153
|
// 单人预约资源:检查时间冲突
|
|
175
154
|
if (finalAvailableTime.isBefore(_eventEnd) && _eventStart.isBefore(finalAvailableTime.add(resolvedDuration, 'minute'))) {
|
|
176
155
|
// 有冲突,使用事件结束时间
|
|
177
156
|
finalAvailableTime = _eventEnd;
|
|
178
|
-
console.log("[TimeslotUtils] \u53D1\u73B0\u65F6\u95F4\u51B2\u7A81\uFF0C\u8C03\u6574\u5230: ".concat(finalAvailableTime.format('HH:mm:ss')));
|
|
179
157
|
}
|
|
180
158
|
} else {
|
|
181
159
|
// 多人预约资源:检查容量
|
|
@@ -189,7 +167,6 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
189
167
|
if (totalRequiredCapacity > totalCapacity) {
|
|
190
168
|
// 容量不足,使用事件结束时间
|
|
191
169
|
finalAvailableTime = _eventEnd;
|
|
192
|
-
console.log("[TimeslotUtils] \u5BB9\u91CF\u4E0D\u8DB3\uFF0C\u8C03\u6574\u5230: ".concat(finalAvailableTime.format('HH:mm:ss')));
|
|
193
170
|
}
|
|
194
171
|
}
|
|
195
172
|
}
|
|
@@ -202,19 +179,14 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
202
179
|
_iterator5.f();
|
|
203
180
|
}
|
|
204
181
|
if (finalAvailableTime.add(resolvedDuration, 'minute').isAfter(workEndTime)) {
|
|
205
|
-
console.log("[TimeslotUtils] \u8D44\u6E90 ".concat(_resource.id, " \u53EF\u7528\u65F6\u95F4\u8D85\u51FA\u5DE5\u4F5C\u65F6\u95F4\uFF0C\u8DF3\u8FC7"));
|
|
206
182
|
return 0; // continue
|
|
207
183
|
}
|
|
208
|
-
console.log("[TimeslotUtils] \u8D44\u6E90 ".concat(_resource.id, "(").concat(_resource.main_field, ") \u6700\u5FEB\u53EF\u7528\u65F6\u95F4: ").concat(finalAvailableTime.format('HH:mm:ss')));
|
|
209
|
-
|
|
210
184
|
// 更新最快可用时间和资源
|
|
211
185
|
if (!fastestTime || finalAvailableTime.isBefore(fastestTime)) {
|
|
212
186
|
fastestTime = finalAvailableTime;
|
|
213
187
|
fastestResources = [_resource];
|
|
214
|
-
console.log("[TimeslotUtils] \u66F4\u65B0\u6700\u5FEB\u65F6\u95F4: ".concat(fastestTime.format('HH:mm:ss'), ", \u8D44\u6E90: ").concat(_resource.main_field));
|
|
215
188
|
} else if (finalAvailableTime.isSame(fastestTime)) {
|
|
216
189
|
fastestResources.push(_resource);
|
|
217
|
-
console.log("[TimeslotUtils] \u6DFB\u52A0\u76F8\u540C\u65F6\u95F4\u8D44\u6E90: ".concat(_resource.main_field));
|
|
218
190
|
}
|
|
219
191
|
return 1; // break
|
|
220
192
|
// 每个资源只需要计算一次
|
|
@@ -239,21 +211,16 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
239
211
|
_iterator2.f();
|
|
240
212
|
}
|
|
241
213
|
if (!fastestTime || fastestResources.length === 0) {
|
|
242
|
-
console.log('[TimeslotUtils] 未找到可用资源');
|
|
243
214
|
return null;
|
|
244
215
|
}
|
|
245
|
-
console.log("[TimeslotUtils] \u627E\u5230 ".concat(fastestResources.length, " \u4E2A\u6700\u5FEB\u53EF\u7528\u8D44\u6E90\uFF0C\u65F6\u95F4: ").concat(fastestTime.format('HH:mm:ss')));
|
|
246
|
-
|
|
247
216
|
// 如果只有一个最快可用的资源,直接返回
|
|
248
217
|
if (fastestResources.length === 1) {
|
|
249
|
-
console.log("[TimeslotUtils] \u8FD4\u56DE\u552F\u4E00\u6700\u5FEB\u8D44\u6E90: ".concat(fastestResources[0].main_field));
|
|
250
218
|
return fastestResources[0];
|
|
251
219
|
}
|
|
252
220
|
|
|
253
221
|
// 如果有多个最快可用的资源,选择空闲时间最长的资源
|
|
254
222
|
var selectedResource = fastestResources[0];
|
|
255
223
|
var maxIdleTime = 0;
|
|
256
|
-
console.log("[TimeslotUtils] \u6BD4\u8F83 ".concat(fastestResources.length, " \u4E2A\u8D44\u6E90\u7684\u7A7A\u95F2\u65F6\u95F4:"));
|
|
257
224
|
for (var _i2 = 0, _fastestResources = fastestResources; _i2 < _fastestResources.length; _i2++) {
|
|
258
225
|
var _workingTime$event_li;
|
|
259
226
|
var resource = _fastestResources[_i2];
|
|
@@ -291,19 +258,11 @@ export function findFastestAvailableResource(_ref2) {
|
|
|
291
258
|
} finally {
|
|
292
259
|
_iterator3.f();
|
|
293
260
|
}
|
|
294
|
-
console.log("[TimeslotUtils] \u8D44\u6E90 ".concat(resource.id, "(").concat(resource.main_field, "):"), {
|
|
295
|
-
工作结束时间: workEndTime.format('HH:mm'),
|
|
296
|
-
总工作时长: workEndTime.diff(fastestTime, 'minute') + '分钟',
|
|
297
|
-
预约占用时长: workEndTime.diff(fastestTime, 'minute') - totalIdleTime + '分钟',
|
|
298
|
-
实际空闲时长: totalIdleTime + '分钟'
|
|
299
|
-
});
|
|
300
261
|
if (totalIdleTime > maxIdleTime) {
|
|
301
262
|
maxIdleTime = totalIdleTime;
|
|
302
263
|
selectedResource = resource;
|
|
303
|
-
console.log("[TimeslotUtils] \u66F4\u65B0\u6700\u4F73\u9009\u62E9: ".concat(resource.main_field, " (\u7A7A\u95F2").concat(totalIdleTime, "\u5206\u949F)"));
|
|
304
264
|
}
|
|
305
265
|
}
|
|
306
|
-
console.log("[TimeslotUtils] \u6700\u7EC8\u9009\u62E9\u8D44\u6E90: ".concat(selectedResource.main_field, " (\u6700\u957F\u7A7A\u95F2").concat(maxIdleTime, "\u5206\u949F)"));
|
|
307
266
|
return selectedResource;
|
|
308
267
|
}
|
|
309
268
|
|
|
@@ -237,8 +237,6 @@ export var BookingTicketImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
237
237
|
_context.next = 9;
|
|
238
238
|
return this.configureIdGeneratorFromOpenData();
|
|
239
239
|
case 9:
|
|
240
|
-
console.log('[BookingTicket] 初始化完成');
|
|
241
|
-
case 10:
|
|
242
240
|
case "end":
|
|
243
241
|
return _context.stop();
|
|
244
242
|
}
|
|
@@ -173,26 +173,25 @@ export var searchOrder = /*#__PURE__*/function () {
|
|
|
173
173
|
});
|
|
174
174
|
case 3:
|
|
175
175
|
res = _context4.sent;
|
|
176
|
-
console.log('searchOrder>>>>>>>', res);
|
|
177
176
|
if (!((res === null || res === void 0 ? void 0 : res.code) == 200 && !!(res !== null && res !== void 0 && res.data))) {
|
|
178
|
-
_context4.next =
|
|
177
|
+
_context4.next = 6;
|
|
179
178
|
break;
|
|
180
179
|
}
|
|
181
180
|
return _context4.abrupt("return", {
|
|
182
181
|
searchType: 'order',
|
|
183
182
|
response: res
|
|
184
183
|
});
|
|
185
|
-
case
|
|
184
|
+
case 6:
|
|
186
185
|
throw new Error('没有找到对应的识别码');
|
|
187
|
-
case
|
|
188
|
-
_context4.prev =
|
|
186
|
+
case 9:
|
|
187
|
+
_context4.prev = 9;
|
|
189
188
|
_context4.t0 = _context4["catch"](0);
|
|
190
189
|
throw _context4.t0;
|
|
191
|
-
case
|
|
190
|
+
case 12:
|
|
192
191
|
case "end":
|
|
193
192
|
return _context4.stop();
|
|
194
193
|
}
|
|
195
|
-
}, _callee4, null, [[0,
|
|
194
|
+
}, _callee4, null, [[0, 9]]);
|
|
196
195
|
}));
|
|
197
196
|
return function searchOrder(_x7, _x8) {
|
|
198
197
|
return _ref4.apply(this, arguments);
|
|
@@ -76,16 +76,15 @@ var handleScanFn = function handleScanFn(getRequestList, localSearch) {
|
|
|
76
76
|
case 0:
|
|
77
77
|
_ref3 = scanResult || {}, value = _ref3.value; // 本地解析识别码
|
|
78
78
|
if (!localSearch) {
|
|
79
|
-
_context2.next =
|
|
79
|
+
_context2.next = 13;
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
82
|
_context2.prev = 2;
|
|
83
83
|
localResult = localSearch === null || localSearch === void 0 ? void 0 : localSearch(value);
|
|
84
84
|
if (!((localResult === null || localResult === void 0 ? void 0 : localResult.length) > 0)) {
|
|
85
|
-
_context2.next =
|
|
85
|
+
_context2.next = 8;
|
|
86
86
|
break;
|
|
87
87
|
}
|
|
88
|
-
console.log('本地搜索到数据>>>>>>>', localResult);
|
|
89
88
|
return _context2.abrupt("return", {
|
|
90
89
|
searchType: 'local_product',
|
|
91
90
|
response: {
|
|
@@ -94,58 +93,53 @@ var handleScanFn = function handleScanFn(getRequestList, localSearch) {
|
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
95
|
});
|
|
97
|
-
case
|
|
98
|
-
|
|
99
|
-
case 10:
|
|
100
|
-
_context2.next = 15;
|
|
96
|
+
case 8:
|
|
97
|
+
_context2.next = 13;
|
|
101
98
|
break;
|
|
102
|
-
case
|
|
103
|
-
_context2.prev =
|
|
99
|
+
case 10:
|
|
100
|
+
_context2.prev = 10;
|
|
104
101
|
_context2.t0 = _context2["catch"](2);
|
|
105
102
|
console.error('本地搜索到数据失败>>>>>>>', _context2.t0);
|
|
106
|
-
case
|
|
107
|
-
_context2.prev =
|
|
103
|
+
case 13:
|
|
104
|
+
_context2.prev = 13;
|
|
108
105
|
if (!scanCache.has(value)) {
|
|
109
|
-
_context2.next =
|
|
106
|
+
_context2.next = 19;
|
|
110
107
|
break;
|
|
111
108
|
}
|
|
112
109
|
result = scanCache.get(value);
|
|
113
|
-
console.log('缓存中搜索到数据>>>>>>>', result);
|
|
114
110
|
return _context2.abrupt("return", result);
|
|
115
|
-
case
|
|
116
|
-
|
|
117
|
-
case 23:
|
|
118
|
-
_context2.next = 28;
|
|
111
|
+
case 19:
|
|
112
|
+
_context2.next = 24;
|
|
119
113
|
break;
|
|
120
|
-
case
|
|
121
|
-
_context2.prev =
|
|
122
|
-
_context2.t1 = _context2["catch"](
|
|
114
|
+
case 21:
|
|
115
|
+
_context2.prev = 21;
|
|
116
|
+
_context2.t1 = _context2["catch"](13);
|
|
123
117
|
console.error('缓存中搜索数据失败>>>>>>>', _context2.t1);
|
|
124
|
-
case
|
|
118
|
+
case 24:
|
|
125
119
|
requestList = (getRequestList === null || getRequestList === void 0 ? void 0 : getRequestList(value)) || [];
|
|
126
120
|
if (!(requestList.length === 0)) {
|
|
127
|
-
_context2.next =
|
|
121
|
+
_context2.next = 27;
|
|
128
122
|
break;
|
|
129
123
|
}
|
|
130
124
|
throw new Error('requestList is empty');
|
|
131
|
-
case
|
|
132
|
-
_context2.prev =
|
|
133
|
-
_context2.next =
|
|
125
|
+
case 27:
|
|
126
|
+
_context2.prev = 27;
|
|
127
|
+
_context2.next = 30;
|
|
134
128
|
return promiseAny(requestList);
|
|
135
|
-
case
|
|
129
|
+
case 30:
|
|
136
130
|
_result = _context2.sent;
|
|
137
131
|
// 将结果缓存
|
|
138
132
|
scanCache.set(value, _result);
|
|
139
133
|
return _context2.abrupt("return", _result);
|
|
140
|
-
case
|
|
141
|
-
_context2.prev =
|
|
142
|
-
_context2.t2 = _context2["catch"](
|
|
134
|
+
case 35:
|
|
135
|
+
_context2.prev = 35;
|
|
136
|
+
_context2.t2 = _context2["catch"](27);
|
|
143
137
|
throw _context2.t2;
|
|
144
|
-
case
|
|
138
|
+
case 38:
|
|
145
139
|
case "end":
|
|
146
140
|
return _context2.stop();
|
|
147
141
|
}
|
|
148
|
-
}, _callee2, null, [[2,
|
|
142
|
+
}, _callee2, null, [[2, 10], [13, 21], [27, 35]]);
|
|
149
143
|
}));
|
|
150
144
|
return function (_x2) {
|
|
151
145
|
return _ref2.apply(this, arguments);
|
|
@@ -46,7 +46,6 @@ var Scan = /*#__PURE__*/function () {
|
|
|
46
46
|
(_this$solution = this.solution) === null || _this$solution === void 0 || (_this$solution = _this$solution.window) === null || _this$solution === void 0 || (_this$solution = _this$solution.interaction) === null || _this$solution === void 0 || (_this$solution = _this$solution.utils) === null || _this$solution === void 0 || (_this$solution$mountF = _this$solution.mountFunction) === null || _this$solution$mountF === void 0 || _this$solution$mountF.call(_this$solution, 'global', 'peripheralsResult', function (strVal) {
|
|
47
47
|
try {
|
|
48
48
|
var _result = JSON.parse(strVal);
|
|
49
|
-
console.log('nativeScannerResult>>>>>>>', _result);
|
|
50
49
|
Scan.scanInstances.forEach(function (instance) {
|
|
51
50
|
instance.handleScan(_result);
|
|
52
51
|
});
|
|
@@ -184,7 +183,6 @@ var Scan = /*#__PURE__*/function () {
|
|
|
184
183
|
}, {
|
|
185
184
|
key: "clearTaskQueue",
|
|
186
185
|
value: function clearTaskQueue(eventKey) {
|
|
187
|
-
console.log('clearTaskQueue>>>>>>>', eventKey);
|
|
188
186
|
if (eventKey) {
|
|
189
187
|
var _this$listenerConfig$3;
|
|
190
188
|
(_this$listenerConfig$3 = this.listenerConfig.get(eventKey)) === null || _this$listenerConfig$3 === void 0 || _this$listenerConfig$3.task.clearTaskQueue();
|
|
@@ -243,7 +241,7 @@ var Scan = /*#__PURE__*/function () {
|
|
|
243
241
|
taskItemUuid = other === null || other === void 0 ? void 0 : other.uuid;
|
|
244
242
|
_ref2 = this.getListenerConfig(eventKey) || {}, scanCallback = _ref2.scanCallback, task = _ref2.task;
|
|
245
243
|
if (!scanCallback) {
|
|
246
|
-
_context.next =
|
|
244
|
+
_context.next = 16;
|
|
247
245
|
break;
|
|
248
246
|
}
|
|
249
247
|
_context.prev = 6;
|
|
@@ -254,7 +252,6 @@ var Scan = /*#__PURE__*/function () {
|
|
|
254
252
|
});
|
|
255
253
|
case 9:
|
|
256
254
|
_result2 = _context.sent;
|
|
257
|
-
console.log("".concat(eventKey, "_result>>>>>>>"), _result2);
|
|
258
255
|
// 如果任务存在,则发布结果
|
|
259
256
|
if (taskItemUuid && task !== null && task !== void 0 && task.isTaskExist(taskItemUuid)) {
|
|
260
257
|
watch.publishByEventKey(this.watchKey, eventKey, {
|
|
@@ -268,12 +265,11 @@ var Scan = /*#__PURE__*/function () {
|
|
|
268
265
|
} else {
|
|
269
266
|
console.warn("".concat(eventKey, "_result_task_not_exist>>>>>>>"), task);
|
|
270
267
|
}
|
|
271
|
-
_context.next =
|
|
268
|
+
_context.next = 16;
|
|
272
269
|
break;
|
|
273
|
-
case
|
|
274
|
-
_context.prev =
|
|
270
|
+
case 13:
|
|
271
|
+
_context.prev = 13;
|
|
275
272
|
_context.t0 = _context["catch"](6);
|
|
276
|
-
console.log("".concat(eventKey, "_result_error>>>>>>>"), _context.t0);
|
|
277
273
|
// 如果任务存在,则发布结果
|
|
278
274
|
if (taskItemUuid && task !== null && task !== void 0 && task.isTaskExist(taskItemUuid)) {
|
|
279
275
|
watch.publishByEventKey(this.watchKey, eventKey, {
|
|
@@ -286,11 +282,11 @@ var Scan = /*#__PURE__*/function () {
|
|
|
286
282
|
} else {
|
|
287
283
|
console.warn("".concat(eventKey, "_result_error_task_not_exist>>>>>>>"), task);
|
|
288
284
|
}
|
|
289
|
-
case
|
|
285
|
+
case 16:
|
|
290
286
|
case "end":
|
|
291
287
|
return _context.stop();
|
|
292
288
|
}
|
|
293
|
-
}, _callee, this, [[6,
|
|
289
|
+
}, _callee, this, [[6, 13]]);
|
|
294
290
|
}));
|
|
295
291
|
function scanTaskAction() {
|
|
296
292
|
return _scanTaskAction.apply(this, arguments);
|
|
@@ -53,26 +53,25 @@ export var BuyTicketsImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
53
53
|
this.core = core;
|
|
54
54
|
this.store = options.store || {};
|
|
55
55
|
this.otherParams = options.otherParams || {};
|
|
56
|
-
console.log('[BuyTickets] 初始化完成');
|
|
57
56
|
// 获取依赖的插件
|
|
58
57
|
this.request = core.getPlugin('request');
|
|
59
58
|
this.window = core.getPlugin('window');
|
|
60
59
|
if (this.request) {
|
|
61
|
-
_context.next =
|
|
60
|
+
_context.next = 7;
|
|
62
61
|
break;
|
|
63
62
|
}
|
|
64
63
|
throw new Error('购物车模块需要 request 插件支持');
|
|
65
|
-
case
|
|
64
|
+
case 7:
|
|
66
65
|
if (!this.otherParams.prodctIds) {
|
|
67
|
-
_context.next =
|
|
66
|
+
_context.next = 10;
|
|
68
67
|
break;
|
|
69
68
|
}
|
|
70
|
-
_context.next =
|
|
69
|
+
_context.next = 10;
|
|
71
70
|
return this.loadProductsByIds(this.otherParams.prodctIds);
|
|
72
|
-
case
|
|
73
|
-
_context.next =
|
|
71
|
+
case 10:
|
|
72
|
+
_context.next = 12;
|
|
74
73
|
return this.core.effects.emit("".concat(this.name, ":onInited"), {});
|
|
75
|
-
case
|
|
74
|
+
case 12:
|
|
76
75
|
case "end":
|
|
77
76
|
return _context.stop();
|
|
78
77
|
}
|
|
@@ -150,8 +149,6 @@ export var BuyTicketsImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
150
149
|
_context4.next = 2;
|
|
151
150
|
return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
|
|
152
151
|
case 2:
|
|
153
|
-
console.log('[BuyTickets] 已销毁');
|
|
154
|
-
case 3:
|
|
155
152
|
case "end":
|
|
156
153
|
return _context4.stop();
|
|
157
154
|
}
|
|
@@ -276,9 +273,9 @@ export var BuyTicketsImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
276
273
|
// 如果外部没有阻拦,则默认调用后端的保存至购物车接口,然后通知页面 push 到购物车页面
|
|
277
274
|
// 游乐场逻辑:这里会被 hook 先拦截一次,业务层展示 add other product
|
|
278
275
|
// 然后第二次继续被拦截,业务层把这里的数据推给 native 的购物车
|
|
279
|
-
|
|
276
|
+
|
|
280
277
|
// fetch('')
|
|
281
|
-
case
|
|
278
|
+
case 6:
|
|
282
279
|
case "end":
|
|
283
280
|
return _context7.stop();
|
|
284
281
|
}
|