@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,34 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
var __create = Object.create;
|
|
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
28
|
|
|
3
|
-
|
|
4
|
-
|
|
29
|
+
// src/server/modules/order/utils/filterOrders.ts
|
|
30
|
+
var filterOrders_exports = {};
|
|
31
|
+
__export(filterOrders_exports, {
|
|
32
|
+
filterOrders: () => filterOrders
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
/** 从订单 payments 提取支付方式 code,与 UI 筛选选项及 filterBookings 一致 */
|
|
34
|
+
module.exports = __toCommonJS(filterOrders_exports);
|
|
35
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
10
36
|
function getOrderPaymentCodes(order) {
|
|
11
37
|
const payments = order.payments;
|
|
12
38
|
if (!Array.isArray(payments) || payments.length === 0) {
|
|
13
39
|
return [];
|
|
14
40
|
}
|
|
15
|
-
return payments.map(item => item
|
|
41
|
+
return payments.map((item) => item == null ? void 0 : item.code).filter((code) => typeof code === "string" && code.length > 0);
|
|
16
42
|
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* 订单过滤函数
|
|
20
|
-
* @param orders 原始订单列表
|
|
21
|
-
* @param filters 过滤条件
|
|
22
|
-
* @returns 过滤 + 排序 + 分页后的结果
|
|
23
|
-
*
|
|
24
|
-
* @优化口子 性能优化预留:
|
|
25
|
-
* - 可在此函数入口加缓存(按 filters 签名缓存结果)
|
|
26
|
-
* - 可对枚举字段建倒排索引(status/payment_status/shipping_status/customer_id)
|
|
27
|
-
* - 可对文本字段加前缀树或分词索引
|
|
28
|
-
* - 可做增量过滤而非全量遍历
|
|
29
|
-
*/
|
|
30
43
|
function filterOrders(orders, filters) {
|
|
31
|
-
// Bug 1 修复:防护 filters 为 null/undefined
|
|
32
44
|
const safeFilters = filters || {};
|
|
33
45
|
if (!orders || !Array.isArray(orders)) {
|
|
34
46
|
return {
|
|
@@ -39,37 +51,31 @@ function filterOrders(orders, filters) {
|
|
|
39
51
|
rejected: []
|
|
40
52
|
};
|
|
41
53
|
}
|
|
42
|
-
|
|
43
|
-
// 默认分页参数
|
|
44
54
|
const size = safeFilters.num || 20;
|
|
45
55
|
const page = safeFilters.skip || 1;
|
|
46
56
|
const rejected = [];
|
|
47
|
-
|
|
48
|
-
// 1. 过滤
|
|
49
|
-
let filteredList = orders.filter(order => {
|
|
57
|
+
let filteredList = orders.filter((order) => {
|
|
50
58
|
if (safeFilters.keyword) {
|
|
51
59
|
if (!JSON.stringify(order).toLowerCase().includes(safeFilters.keyword.toLowerCase())) {
|
|
52
60
|
rejected.push({
|
|
53
61
|
order_id: order.order_id,
|
|
54
62
|
order_number: order.order_number,
|
|
55
63
|
reason: {
|
|
56
|
-
field:
|
|
57
|
-
actual:
|
|
64
|
+
field: "keyword",
|
|
65
|
+
actual: "",
|
|
58
66
|
expected: safeFilters.keyword
|
|
59
67
|
}
|
|
60
68
|
});
|
|
61
69
|
return false;
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
|
-
|
|
65
|
-
// status - 订单状态
|
|
66
72
|
if (safeFilters.status && safeFilters.status.length > 0) {
|
|
67
73
|
if (!order.status || !safeFilters.status.includes(order.status)) {
|
|
68
74
|
rejected.push({
|
|
69
75
|
order_id: order.order_id,
|
|
70
76
|
order_number: order.order_number,
|
|
71
77
|
reason: {
|
|
72
|
-
field:
|
|
78
|
+
field: "status",
|
|
73
79
|
actual: order.status,
|
|
74
80
|
expected: safeFilters.status
|
|
75
81
|
}
|
|
@@ -77,15 +83,13 @@ function filterOrders(orders, filters) {
|
|
|
77
83
|
return false;
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
|
-
|
|
81
|
-
// payment_status - 支付状态
|
|
82
86
|
if (safeFilters.payment_status && safeFilters.payment_status.length > 0) {
|
|
83
87
|
if (!order.payment_status || !safeFilters.payment_status.includes(order.payment_status)) {
|
|
84
88
|
rejected.push({
|
|
85
89
|
order_id: order.order_id,
|
|
86
90
|
order_number: order.order_number,
|
|
87
91
|
reason: {
|
|
88
|
-
field:
|
|
92
|
+
field: "payment_status",
|
|
89
93
|
actual: order.payment_status,
|
|
90
94
|
expected: safeFilters.payment_status
|
|
91
95
|
}
|
|
@@ -93,15 +97,13 @@ function filterOrders(orders, filters) {
|
|
|
93
97
|
return false;
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
|
-
|
|
97
|
-
// shipping_status - 处理状态
|
|
98
100
|
if (safeFilters.shipping_status && safeFilters.shipping_status.length > 0) {
|
|
99
101
|
if (!order.shipping_status || !safeFilters.shipping_status.includes(order.shipping_status)) {
|
|
100
102
|
rejected.push({
|
|
101
103
|
order_id: order.order_id,
|
|
102
104
|
order_number: order.order_number,
|
|
103
105
|
reason: {
|
|
104
|
-
field:
|
|
106
|
+
field: "shipping_status",
|
|
105
107
|
actual: order.shipping_status,
|
|
106
108
|
expected: safeFilters.shipping_status
|
|
107
109
|
}
|
|
@@ -109,15 +111,13 @@ function filterOrders(orders, filters) {
|
|
|
109
111
|
return false;
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
|
-
|
|
113
|
-
// customer_id - 客户ID(精确匹配)
|
|
114
|
-
if (safeFilters.customer_id !== undefined && safeFilters.customer_id !== null) {
|
|
114
|
+
if (safeFilters.customer_id !== void 0 && safeFilters.customer_id !== null) {
|
|
115
115
|
if (String(order.customer_id) !== String(safeFilters.customer_id)) {
|
|
116
116
|
rejected.push({
|
|
117
117
|
order_id: order.order_id,
|
|
118
118
|
order_number: order.order_number,
|
|
119
119
|
reason: {
|
|
120
|
-
field:
|
|
120
|
+
field: "customer_id",
|
|
121
121
|
actual: order.customer_id,
|
|
122
122
|
expected: safeFilters.customer_id
|
|
123
123
|
}
|
|
@@ -125,15 +125,13 @@ function filterOrders(orders, filters) {
|
|
|
125
125
|
return false;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
|
|
129
|
-
// order_sales_channel - 销售渠道
|
|
130
128
|
if (safeFilters.order_sales_channel && safeFilters.order_sales_channel.length > 0) {
|
|
131
129
|
if (!order.order_sales_channel || !safeFilters.order_sales_channel.includes(order.order_sales_channel)) {
|
|
132
130
|
rejected.push({
|
|
133
131
|
order_id: order.order_id,
|
|
134
132
|
order_number: order.order_number,
|
|
135
133
|
reason: {
|
|
136
|
-
field:
|
|
134
|
+
field: "order_sales_channel",
|
|
137
135
|
actual: order.order_sales_channel,
|
|
138
136
|
expected: safeFilters.order_sales_channel
|
|
139
137
|
}
|
|
@@ -141,8 +139,6 @@ function filterOrders(orders, filters) {
|
|
|
141
139
|
return false;
|
|
142
140
|
}
|
|
143
141
|
}
|
|
144
|
-
|
|
145
|
-
// payment_methods - 支付方式(按 payments[].code 匹配,不再使用 order.payment_methods)
|
|
146
142
|
if (safeFilters.payment_methods && safeFilters.payment_methods.length > 0) {
|
|
147
143
|
const orderPaymentCodes = getOrderPaymentCodes(order);
|
|
148
144
|
if (orderPaymentCodes.length === 0) {
|
|
@@ -150,20 +146,20 @@ function filterOrders(orders, filters) {
|
|
|
150
146
|
order_id: order.order_id,
|
|
151
147
|
order_number: order.order_number,
|
|
152
148
|
reason: {
|
|
153
|
-
field:
|
|
149
|
+
field: "payment_methods",
|
|
154
150
|
actual: order.payments,
|
|
155
151
|
expected: safeFilters.payment_methods
|
|
156
152
|
}
|
|
157
153
|
});
|
|
158
154
|
return false;
|
|
159
155
|
}
|
|
160
|
-
const hasMatch = orderPaymentCodes.some(code => safeFilters.payment_methods.includes(code));
|
|
156
|
+
const hasMatch = orderPaymentCodes.some((code) => safeFilters.payment_methods.includes(code));
|
|
161
157
|
if (!hasMatch) {
|
|
162
158
|
rejected.push({
|
|
163
159
|
order_id: order.order_id,
|
|
164
160
|
order_number: order.order_number,
|
|
165
161
|
reason: {
|
|
166
|
-
field:
|
|
162
|
+
field: "payment_methods",
|
|
167
163
|
actual: orderPaymentCodes,
|
|
168
164
|
expected: safeFilters.payment_methods
|
|
169
165
|
}
|
|
@@ -171,28 +167,26 @@ function filterOrders(orders, filters) {
|
|
|
171
167
|
return false;
|
|
172
168
|
}
|
|
173
169
|
}
|
|
174
|
-
|
|
175
|
-
// min_total_amount / max_total_amount - 订单金额范围
|
|
176
|
-
if (safeFilters.min_total_amount !== undefined || safeFilters.max_total_amount !== undefined) {
|
|
170
|
+
if (safeFilters.min_total_amount !== void 0 || safeFilters.max_total_amount !== void 0) {
|
|
177
171
|
const orderAmount = parseFloat(String(order.total_amount || 0));
|
|
178
|
-
if (safeFilters.min_total_amount !==
|
|
172
|
+
if (safeFilters.min_total_amount !== void 0 && orderAmount < safeFilters.min_total_amount) {
|
|
179
173
|
rejected.push({
|
|
180
174
|
order_id: order.order_id,
|
|
181
175
|
order_number: order.order_number,
|
|
182
176
|
reason: {
|
|
183
|
-
field:
|
|
177
|
+
field: "min_total_amount",
|
|
184
178
|
actual: order.total_amount,
|
|
185
179
|
expected: safeFilters.min_total_amount
|
|
186
180
|
}
|
|
187
181
|
});
|
|
188
182
|
return false;
|
|
189
183
|
}
|
|
190
|
-
if (safeFilters.max_total_amount !==
|
|
184
|
+
if (safeFilters.max_total_amount !== void 0 && orderAmount > safeFilters.max_total_amount) {
|
|
191
185
|
rejected.push({
|
|
192
186
|
order_id: order.order_id,
|
|
193
187
|
order_number: order.order_number,
|
|
194
188
|
reason: {
|
|
195
|
-
field:
|
|
189
|
+
field: "max_total_amount",
|
|
196
190
|
actual: order.total_amount,
|
|
197
191
|
expected: safeFilters.max_total_amount
|
|
198
192
|
}
|
|
@@ -200,15 +194,13 @@ function filterOrders(orders, filters) {
|
|
|
200
194
|
return false;
|
|
201
195
|
}
|
|
202
196
|
}
|
|
203
|
-
|
|
204
|
-
// tag_ids - 标签(统一 String 比较,兼容 number/string)
|
|
205
197
|
if (safeFilters.tag_ids && safeFilters.tag_ids.length > 0) {
|
|
206
198
|
if (!order.tag_ids || !Array.isArray(order.tag_ids) || order.tag_ids.length === 0) {
|
|
207
199
|
rejected.push({
|
|
208
200
|
order_id: order.order_id,
|
|
209
201
|
order_number: order.order_number,
|
|
210
202
|
reason: {
|
|
211
|
-
field:
|
|
203
|
+
field: "tag_ids",
|
|
212
204
|
actual: order.tag_ids,
|
|
213
205
|
expected: safeFilters.tag_ids
|
|
214
206
|
}
|
|
@@ -216,13 +208,13 @@ function filterOrders(orders, filters) {
|
|
|
216
208
|
return false;
|
|
217
209
|
}
|
|
218
210
|
const filterTagSet = new Set(safeFilters.tag_ids.map(String));
|
|
219
|
-
const hasMatch = order.tag_ids.some(tag => filterTagSet.has(String(tag)));
|
|
211
|
+
const hasMatch = order.tag_ids.some((tag) => filterTagSet.has(String(tag)));
|
|
220
212
|
if (!hasMatch) {
|
|
221
213
|
rejected.push({
|
|
222
214
|
order_id: order.order_id,
|
|
223
215
|
order_number: order.order_number,
|
|
224
216
|
reason: {
|
|
225
|
-
field:
|
|
217
|
+
field: "tag_ids",
|
|
226
218
|
actual: order.tag_ids,
|
|
227
219
|
expected: safeFilters.tag_ids
|
|
228
220
|
}
|
|
@@ -230,15 +222,13 @@ function filterOrders(orders, filters) {
|
|
|
230
222
|
return false;
|
|
231
223
|
}
|
|
232
224
|
}
|
|
233
|
-
|
|
234
|
-
// shipping_type - 配送方式
|
|
235
225
|
if (safeFilters.shipping_type && safeFilters.shipping_type.length > 0) {
|
|
236
226
|
if (!order.shipping_type || !safeFilters.shipping_type.includes(order.shipping_type)) {
|
|
237
227
|
rejected.push({
|
|
238
228
|
order_id: order.order_id,
|
|
239
229
|
order_number: order.order_number,
|
|
240
230
|
reason: {
|
|
241
|
-
field:
|
|
231
|
+
field: "shipping_type",
|
|
242
232
|
actual: order.shipping_type,
|
|
243
233
|
expected: safeFilters.shipping_type
|
|
244
234
|
}
|
|
@@ -246,15 +236,13 @@ function filterOrders(orders, filters) {
|
|
|
246
236
|
return false;
|
|
247
237
|
}
|
|
248
238
|
}
|
|
249
|
-
|
|
250
|
-
// delivery_zone_name - 配送区域(模糊匹配)
|
|
251
|
-
if (safeFilters.delivery_zone_name !== undefined && safeFilters.delivery_zone_name !== null && safeFilters.delivery_zone_name !== '') {
|
|
239
|
+
if (safeFilters.delivery_zone_name !== void 0 && safeFilters.delivery_zone_name !== null && safeFilters.delivery_zone_name !== "") {
|
|
252
240
|
if (!order.delivery_zone_name || !order.delivery_zone_name.toLowerCase().includes(safeFilters.delivery_zone_name.toLowerCase())) {
|
|
253
241
|
rejected.push({
|
|
254
242
|
order_id: order.order_id,
|
|
255
243
|
order_number: order.order_number,
|
|
256
244
|
reason: {
|
|
257
|
-
field:
|
|
245
|
+
field: "delivery_zone_name",
|
|
258
246
|
actual: order.delivery_zone_name,
|
|
259
247
|
expected: safeFilters.delivery_zone_name
|
|
260
248
|
}
|
|
@@ -262,15 +250,13 @@ function filterOrders(orders, filters) {
|
|
|
262
250
|
return false;
|
|
263
251
|
}
|
|
264
252
|
}
|
|
265
|
-
|
|
266
|
-
// location_id - 取货地点(精确匹配)
|
|
267
|
-
if (safeFilters.location_id !== undefined && safeFilters.location_id !== null) {
|
|
253
|
+
if (safeFilters.location_id !== void 0 && safeFilters.location_id !== null) {
|
|
268
254
|
if (String(order.location_id) !== String(safeFilters.location_id)) {
|
|
269
255
|
rejected.push({
|
|
270
256
|
order_id: order.order_id,
|
|
271
257
|
order_number: order.order_number,
|
|
272
258
|
reason: {
|
|
273
|
-
field:
|
|
259
|
+
field: "location_id",
|
|
274
260
|
actual: order.location_id,
|
|
275
261
|
expected: safeFilters.location_id
|
|
276
262
|
}
|
|
@@ -278,15 +264,13 @@ function filterOrders(orders, filters) {
|
|
|
278
264
|
return false;
|
|
279
265
|
}
|
|
280
266
|
}
|
|
281
|
-
|
|
282
|
-
// shipping_order_number - 物流单号(模糊匹配)
|
|
283
|
-
if (safeFilters.shipping_order_number !== undefined && safeFilters.shipping_order_number !== null && safeFilters.shipping_order_number !== '') {
|
|
267
|
+
if (safeFilters.shipping_order_number !== void 0 && safeFilters.shipping_order_number !== null && safeFilters.shipping_order_number !== "") {
|
|
284
268
|
if (!order.shipping_order_number || !order.shipping_order_number.toLowerCase().includes(safeFilters.shipping_order_number.toLowerCase())) {
|
|
285
269
|
rejected.push({
|
|
286
270
|
order_id: order.order_id,
|
|
287
271
|
order_number: order.order_number,
|
|
288
272
|
reason: {
|
|
289
|
-
field:
|
|
273
|
+
field: "shipping_order_number",
|
|
290
274
|
actual: order.shipping_order_number,
|
|
291
275
|
expected: safeFilters.shipping_order_number
|
|
292
276
|
}
|
|
@@ -294,15 +278,13 @@ function filterOrders(orders, filters) {
|
|
|
294
278
|
return false;
|
|
295
279
|
}
|
|
296
280
|
}
|
|
297
|
-
|
|
298
|
-
// logistics_company_id - 物流公司
|
|
299
281
|
if (safeFilters.logistics_company_id && safeFilters.logistics_company_id.length > 0) {
|
|
300
282
|
if (!order.logistics_company_id) {
|
|
301
283
|
rejected.push({
|
|
302
284
|
order_id: order.order_id,
|
|
303
285
|
order_number: order.order_number,
|
|
304
286
|
reason: {
|
|
305
|
-
field:
|
|
287
|
+
field: "logistics_company_id",
|
|
306
288
|
actual: order.logistics_company_id,
|
|
307
289
|
expected: safeFilters.logistics_company_id
|
|
308
290
|
}
|
|
@@ -310,13 +292,13 @@ function filterOrders(orders, filters) {
|
|
|
310
292
|
return false;
|
|
311
293
|
}
|
|
312
294
|
const orderLogisticsId = String(order.logistics_company_id);
|
|
313
|
-
const hasMatch = safeFilters.logistics_company_id.some(id => String(id) === orderLogisticsId);
|
|
295
|
+
const hasMatch = safeFilters.logistics_company_id.some((id) => String(id) === orderLogisticsId);
|
|
314
296
|
if (!hasMatch) {
|
|
315
297
|
rejected.push({
|
|
316
298
|
order_id: order.order_id,
|
|
317
299
|
order_number: order.order_number,
|
|
318
300
|
reason: {
|
|
319
|
-
field:
|
|
301
|
+
field: "logistics_company_id",
|
|
320
302
|
actual: order.logistics_company_id,
|
|
321
303
|
expected: safeFilters.logistics_company_id
|
|
322
304
|
}
|
|
@@ -324,15 +306,13 @@ function filterOrders(orders, filters) {
|
|
|
324
306
|
return false;
|
|
325
307
|
}
|
|
326
308
|
}
|
|
327
|
-
|
|
328
|
-
// zip - 邮编(模糊匹配)
|
|
329
|
-
if (safeFilters.zip !== undefined && safeFilters.zip !== null && safeFilters.zip !== '') {
|
|
309
|
+
if (safeFilters.zip !== void 0 && safeFilters.zip !== null && safeFilters.zip !== "") {
|
|
330
310
|
if (!order.zip || !order.zip.toLowerCase().includes(safeFilters.zip.toLowerCase())) {
|
|
331
311
|
rejected.push({
|
|
332
312
|
order_id: order.order_id,
|
|
333
313
|
order_number: order.order_number,
|
|
334
314
|
reason: {
|
|
335
|
-
field:
|
|
315
|
+
field: "zip",
|
|
336
316
|
actual: order.zip,
|
|
337
317
|
expected: safeFilters.zip
|
|
338
318
|
}
|
|
@@ -340,15 +320,13 @@ function filterOrders(orders, filters) {
|
|
|
340
320
|
return false;
|
|
341
321
|
}
|
|
342
322
|
}
|
|
343
|
-
|
|
344
|
-
// business_code - 业务类型(精确匹配)
|
|
345
323
|
if (safeFilters.business_code) {
|
|
346
324
|
if (!order.business_code || order.business_code !== safeFilters.business_code) {
|
|
347
325
|
rejected.push({
|
|
348
326
|
order_id: order.order_id,
|
|
349
327
|
order_number: order.order_number,
|
|
350
328
|
reason: {
|
|
351
|
-
field:
|
|
329
|
+
field: "business_code",
|
|
352
330
|
actual: order.business_code,
|
|
353
331
|
expected: safeFilters.business_code
|
|
354
332
|
}
|
|
@@ -356,21 +334,17 @@ function filterOrders(orders, filters) {
|
|
|
356
334
|
return false;
|
|
357
335
|
}
|
|
358
336
|
}
|
|
359
|
-
|
|
360
|
-
// start_time / end_time - 创建时间范围
|
|
361
337
|
if (safeFilters.start_time || safeFilters.end_time) {
|
|
362
|
-
const isCreatedIsUndefined = order.created_at ===
|
|
363
|
-
|
|
364
|
-
// 与含时分的本地时间字符串比较时产生时区错位
|
|
365
|
-
const orderTime = order.created_at ? typeof order.created_at === 'number' ? order.created_at : (0, _dayjs.default)(String(order.created_at)).valueOf() : 0;
|
|
338
|
+
const isCreatedIsUndefined = order.created_at === void 0;
|
|
339
|
+
const orderTime = order.created_at ? typeof order.created_at === "number" ? order.created_at : (0, import_dayjs.default)(String(order.created_at)).valueOf() : 0;
|
|
366
340
|
if (safeFilters.start_time && !isCreatedIsUndefined) {
|
|
367
|
-
const startTs = (0,
|
|
341
|
+
const startTs = (0, import_dayjs.default)(safeFilters.start_time).startOf("day").valueOf();
|
|
368
342
|
if (orderTime < startTs) {
|
|
369
343
|
rejected.push({
|
|
370
344
|
order_id: order.order_id,
|
|
371
345
|
order_number: order.order_number,
|
|
372
346
|
reason: {
|
|
373
|
-
field:
|
|
347
|
+
field: "start_time",
|
|
374
348
|
actual: order.created_at,
|
|
375
349
|
expected: safeFilters.start_time
|
|
376
350
|
}
|
|
@@ -379,13 +353,13 @@ function filterOrders(orders, filters) {
|
|
|
379
353
|
}
|
|
380
354
|
}
|
|
381
355
|
if (safeFilters.end_time && !isCreatedIsUndefined) {
|
|
382
|
-
const endTs = (0,
|
|
356
|
+
const endTs = (0, import_dayjs.default)(safeFilters.end_time).endOf("day").valueOf();
|
|
383
357
|
if (orderTime > endTs) {
|
|
384
358
|
rejected.push({
|
|
385
359
|
order_id: order.order_id,
|
|
386
360
|
order_number: order.order_number,
|
|
387
361
|
reason: {
|
|
388
|
-
field:
|
|
362
|
+
field: "end_time",
|
|
389
363
|
actual: order.created_at,
|
|
390
364
|
expected: safeFilters.end_time
|
|
391
365
|
}
|
|
@@ -396,47 +370,43 @@ function filterOrders(orders, filters) {
|
|
|
396
370
|
}
|
|
397
371
|
return true;
|
|
398
372
|
});
|
|
399
|
-
|
|
400
|
-
// 2. 排序
|
|
401
373
|
if (safeFilters.order_by) {
|
|
402
374
|
const sortField = safeFilters.order_by;
|
|
403
|
-
const sortOrder = safeFilters.sort ||
|
|
375
|
+
const sortOrder = safeFilters.sort || "desc";
|
|
404
376
|
filteredList.sort((a, b) => {
|
|
405
377
|
let aVal;
|
|
406
378
|
let bVal;
|
|
407
379
|
switch (sortField) {
|
|
408
|
-
case
|
|
409
|
-
aVal = a.created_at ? typeof a.created_at ===
|
|
410
|
-
bVal = b.created_at ? typeof b.created_at ===
|
|
380
|
+
case "created_at":
|
|
381
|
+
aVal = a.created_at ? typeof a.created_at === "number" ? a.created_at : new Date(String(a.created_at)).getTime() : 0;
|
|
382
|
+
bVal = b.created_at ? typeof b.created_at === "number" ? b.created_at : new Date(String(b.created_at)).getTime() : 0;
|
|
411
383
|
break;
|
|
412
|
-
case
|
|
413
|
-
aVal = a.updated_at ? typeof a.updated_at ===
|
|
414
|
-
bVal = b.updated_at ? typeof b.updated_at ===
|
|
384
|
+
case "updated_at":
|
|
385
|
+
aVal = a.updated_at ? typeof a.updated_at === "number" ? a.updated_at : new Date(String(a.updated_at)).getTime() : 0;
|
|
386
|
+
bVal = b.updated_at ? typeof b.updated_at === "number" ? b.updated_at : new Date(String(b.updated_at)).getTime() : 0;
|
|
415
387
|
break;
|
|
416
|
-
case
|
|
388
|
+
case "total_amount":
|
|
417
389
|
aVal = parseFloat(String(a.total_amount || 0));
|
|
418
390
|
bVal = parseFloat(String(b.total_amount || 0));
|
|
419
391
|
break;
|
|
420
|
-
case
|
|
421
|
-
aVal = (a.customer_name ||
|
|
422
|
-
bVal = (b.customer_name ||
|
|
392
|
+
case "customer_name":
|
|
393
|
+
aVal = (a.customer_name || "").toLowerCase();
|
|
394
|
+
bVal = (b.customer_name || "").toLowerCase();
|
|
423
395
|
break;
|
|
424
|
-
case
|
|
396
|
+
case "amount_gap":
|
|
425
397
|
return 0;
|
|
426
398
|
default:
|
|
427
399
|
return 0;
|
|
428
400
|
}
|
|
429
401
|
if (aVal < bVal) {
|
|
430
|
-
return sortOrder ===
|
|
402
|
+
return sortOrder === "asc" ? -1 : 1;
|
|
431
403
|
}
|
|
432
404
|
if (aVal > bVal) {
|
|
433
|
-
return sortOrder ===
|
|
405
|
+
return sortOrder === "asc" ? 1 : -1;
|
|
434
406
|
}
|
|
435
407
|
return 0;
|
|
436
408
|
});
|
|
437
409
|
}
|
|
438
|
-
|
|
439
|
-
// 3. 分页(skip 为页码,从 1 开始)
|
|
440
410
|
const totalCount = filteredList.length;
|
|
441
411
|
const startIndex = (page - 1) * size;
|
|
442
412
|
const endIndex = startIndex + size;
|
|
@@ -448,4 +418,8 @@ function filterOrders(orders, filters) {
|
|
|
448
418
|
skip: page,
|
|
449
419
|
rejected
|
|
450
420
|
};
|
|
451
|
-
}
|
|
421
|
+
}
|
|
422
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
423
|
+
0 && (module.exports = {
|
|
424
|
+
filterOrders
|
|
425
|
+
});
|