@pisell/pisellos 2.2.249 → 2.2.251
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +97 -91
- package/dist/modules/Order/types.d.ts +5 -0
- package/dist/server/index.d.ts +21 -0
- package/dist/server/index.js +32 -3
- package/dist/server/modules/order/index.d.ts +1 -1
- package/dist/server/modules/order/index.js +76 -51
- package/dist/server/modules/order/types.d.ts +3 -0
- package/dist/server/modules/order/utils/filterBookings.js +8 -1
- package/dist/server/utils/small-ticket.d.ts +0 -1
- package/dist/server/utils/small-ticket.js +12 -15
- package/dist/solution/BaseSales/index.js +47 -29
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +13 -1
- package/dist/solution/BookingTicket/index.js +3 -4
- package/lib/model/strategy/adapter/promotion/index.js +49 -0
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Order/index.js +10 -8
- package/lib/modules/Order/types.d.ts +5 -0
- package/lib/server/index.d.ts +21 -0
- package/lib/server/index.js +24 -1
- package/lib/server/modules/order/index.d.ts +1 -1
- package/lib/server/modules/order/index.js +24 -13
- package/lib/server/modules/order/types.d.ts +3 -0
- package/lib/server/modules/order/utils/filterBookings.js +6 -1
- package/lib/server/utils/small-ticket.d.ts +0 -1
- package/lib/server/utils/small-ticket.js +3 -6
- package/lib/solution/BaseSales/index.js +14 -7
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +13 -1
- package/lib/solution/BookingTicket/index.js +0 -1
- package/package.json +1 -1
package/dist/server/index.js
CHANGED
|
@@ -49,6 +49,8 @@ import { buildSmallTicketData, hasSmallTicketData } from "./utils/small-ticket";
|
|
|
49
49
|
|
|
50
50
|
/** 非当天(远端)预约查询订阅者 */
|
|
51
51
|
|
|
52
|
+
/** Server 运行时诊断快照,用于排查订阅者是否持续增长。 */
|
|
53
|
+
|
|
52
54
|
/** 平面图 GET 查询订阅者(列表 / id 详情 / code 详情) */
|
|
53
55
|
|
|
54
56
|
var PRODUCT_TITLE_SNAPSHOT_KEYS = ['en', 'ja', 'pt', 'auto', 'zh-CN', 'zh-HK', 'kitchen', 'original'];
|
|
@@ -1236,7 +1238,7 @@ var Server = /*#__PURE__*/function () {
|
|
|
1236
1238
|
url = _ref44.url, data = _ref44.data, config = _ref44.config, routePath = _ref44.path;
|
|
1237
1239
|
base = '/shop/schedule/floor-plan';
|
|
1238
1240
|
path = _this.parseRequestPath(url, routePath);
|
|
1239
|
-
if (!(path === "".concat(base, "/unsubscribe"))) {
|
|
1241
|
+
if (!(path === "".concat(base, "/unsubscribe") || path === "".concat(base, "/code/unsubscribe"))) {
|
|
1240
1242
|
_context18.next = 7;
|
|
1241
1243
|
break;
|
|
1242
1244
|
}
|
|
@@ -1477,10 +1479,34 @@ var Server = /*#__PURE__*/function () {
|
|
|
1477
1479
|
}
|
|
1478
1480
|
|
|
1479
1481
|
/**
|
|
1480
|
-
*
|
|
1481
|
-
*
|
|
1482
|
+
* 获取 Server 内部订阅者和缓存数量快照。
|
|
1483
|
+
*
|
|
1484
|
+
* @example
|
|
1485
|
+
* const snapshot = pisellos.server?.getDiagnosticsSnapshot?.();
|
|
1482
1486
|
*/
|
|
1483
1487
|
_createClass(Server, [{
|
|
1488
|
+
key: "getDiagnosticsSnapshot",
|
|
1489
|
+
value: function getDiagnosticsSnapshot() {
|
|
1490
|
+
return {
|
|
1491
|
+
subscribers: {
|
|
1492
|
+
productQuerySubscribers: this.productQuerySubscribers.size,
|
|
1493
|
+
orderQuerySubscribers: this.orderQuerySubscribers.size,
|
|
1494
|
+
bookingQuerySubscribers: this.bookingQuerySubscribers.size,
|
|
1495
|
+
bookingRemoteQuerySubscribers: this.bookingRemoteQuerySubscribers.size,
|
|
1496
|
+
salesSearchSubscribers: this.salesSearchSubscribers.size,
|
|
1497
|
+
floorPlanQuerySubscribers: this.floorPlanQuerySubscribers.size
|
|
1498
|
+
},
|
|
1499
|
+
caches: {
|
|
1500
|
+
bookingRemoteCache: this.bookingRemoteCache.size
|
|
1501
|
+
}
|
|
1502
|
+
};
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
/**
|
|
1506
|
+
* 注册路由
|
|
1507
|
+
* @param routes 路由定义数组
|
|
1508
|
+
*/
|
|
1509
|
+
}, {
|
|
1484
1510
|
key: "registerRoutes",
|
|
1485
1511
|
value: function registerRoutes(routes) {
|
|
1486
1512
|
var _this2 = this;
|
|
@@ -6392,6 +6418,9 @@ var Server = /*#__PURE__*/function () {
|
|
|
6392
6418
|
if (changedOrders.length === 0) {
|
|
6393
6419
|
return;
|
|
6394
6420
|
}
|
|
6421
|
+
// 如果当前开启了 checkout 弹窗,先不进行刷新,下面的代码会导致在全局搜索页调用 bookingTicket.destroy()
|
|
6422
|
+
// 导致模块被销毁 ,checkout 弹窗永远无法关闭
|
|
6423
|
+
if (window.isPaymentModalPluginOpen) return;
|
|
6395
6424
|
var _iterator20 = _createForOfIteratorHelper(this.salesSearchSubscribers.entries()),
|
|
6396
6425
|
_step20;
|
|
6397
6426
|
try {
|
|
@@ -193,7 +193,7 @@ export declare class OrderModule extends BaseModule implements Module {
|
|
|
193
193
|
private findOrderIndexByIdentity;
|
|
194
194
|
private getOrderCompletenessScore;
|
|
195
195
|
private pickPreferredOrder;
|
|
196
|
-
private
|
|
196
|
+
private getProductIdentityKeys;
|
|
197
197
|
private mergeOrderProductLists;
|
|
198
198
|
private getPaymentMergeKey;
|
|
199
199
|
private mergeOrderPaymentLists;
|
|
@@ -1899,20 +1899,21 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1899
1899
|
return left;
|
|
1900
1900
|
}
|
|
1901
1901
|
}, {
|
|
1902
|
-
key: "
|
|
1903
|
-
value: function
|
|
1902
|
+
key: "getProductIdentityKeys",
|
|
1903
|
+
value: function getProductIdentityKeys(product) {
|
|
1904
1904
|
var _record$metadata;
|
|
1905
1905
|
var record = product;
|
|
1906
|
-
if (!record) return
|
|
1906
|
+
if (!record) return [];
|
|
1907
|
+
var keys = [];
|
|
1907
1908
|
var metadataUid = (_record$metadata = record.metadata) === null || _record$metadata === void 0 ? void 0 : _record$metadata.unique_identification_number;
|
|
1908
|
-
if (!this.isBlankIdentityValue(metadataUid))
|
|
1909
|
+
if (!this.isBlankIdentityValue(metadataUid)) keys.push("uid:".concat(String(metadataUid)));
|
|
1909
1910
|
var topLevelUid = record.unique_identification_number;
|
|
1910
|
-
if (!this.isBlankIdentityValue(topLevelUid))
|
|
1911
|
+
if (!this.isBlankIdentityValue(topLevelUid)) keys.push("uid:".concat(String(topLevelUid)));
|
|
1911
1912
|
var orderDetailId = record.order_detail_id;
|
|
1912
|
-
if (!this.isBlankIdentityValue(orderDetailId))
|
|
1913
|
+
if (!this.isBlankIdentityValue(orderDetailId)) keys.push("detail:".concat(String(orderDetailId)));
|
|
1913
1914
|
var bookingUid = record.booking_uid;
|
|
1914
|
-
if (!this.isBlankIdentityValue(bookingUid))
|
|
1915
|
-
return
|
|
1915
|
+
if (!this.isBlankIdentityValue(bookingUid)) keys.push("booking:".concat(String(bookingUid)));
|
|
1916
|
+
return keys;
|
|
1916
1917
|
}
|
|
1917
1918
|
}, {
|
|
1918
1919
|
key: "mergeOrderProductLists",
|
|
@@ -1927,8 +1928,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1927
1928
|
try {
|
|
1928
1929
|
for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
|
|
1929
1930
|
var item = _step13.value;
|
|
1930
|
-
var
|
|
1931
|
-
|
|
1931
|
+
var keys = this.getProductIdentityKeys(item);
|
|
1932
|
+
var _iterator15 = _createForOfIteratorHelper(keys),
|
|
1933
|
+
_step15;
|
|
1934
|
+
try {
|
|
1935
|
+
for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
|
|
1936
|
+
var key = _step15.value;
|
|
1937
|
+
seenKeys.add(key);
|
|
1938
|
+
}
|
|
1939
|
+
} catch (err) {
|
|
1940
|
+
_iterator15.e(err);
|
|
1941
|
+
} finally {
|
|
1942
|
+
_iterator15.f();
|
|
1943
|
+
}
|
|
1932
1944
|
}
|
|
1933
1945
|
} catch (err) {
|
|
1934
1946
|
_iterator13.e(err);
|
|
@@ -1941,9 +1953,22 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1941
1953
|
try {
|
|
1942
1954
|
for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
|
|
1943
1955
|
var _item = _step14.value;
|
|
1944
|
-
var
|
|
1945
|
-
if (
|
|
1946
|
-
|
|
1956
|
+
var _keys = this.getProductIdentityKeys(_item);
|
|
1957
|
+
if (_keys.length === 0 || _keys.some(function (key) {
|
|
1958
|
+
return seenKeys.has(key);
|
|
1959
|
+
})) continue;
|
|
1960
|
+
var _iterator16 = _createForOfIteratorHelper(_keys),
|
|
1961
|
+
_step16;
|
|
1962
|
+
try {
|
|
1963
|
+
for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
|
|
1964
|
+
var _key = _step16.value;
|
|
1965
|
+
seenKeys.add(_key);
|
|
1966
|
+
}
|
|
1967
|
+
} catch (err) {
|
|
1968
|
+
_iterator16.e(err);
|
|
1969
|
+
} finally {
|
|
1970
|
+
_iterator16.f();
|
|
1971
|
+
}
|
|
1947
1972
|
result.push(cloneDeep(_item));
|
|
1948
1973
|
}
|
|
1949
1974
|
} catch (err) {
|
|
@@ -1981,19 +2006,19 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1981
2006
|
if (incomingList.length === 0) return cloneDeep(existingList);
|
|
1982
2007
|
if (existingList.length === 0) return cloneDeep(incomingList);
|
|
1983
2008
|
var existingByKey = new Map();
|
|
1984
|
-
var
|
|
1985
|
-
|
|
2009
|
+
var _iterator17 = _createForOfIteratorHelper(existingList),
|
|
2010
|
+
_step17;
|
|
1986
2011
|
try {
|
|
1987
|
-
for (
|
|
1988
|
-
var payment =
|
|
2012
|
+
for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
|
|
2013
|
+
var payment = _step17.value;
|
|
1989
2014
|
var key = this.getPaymentMergeKey(payment);
|
|
1990
2015
|
if (!key) continue;
|
|
1991
2016
|
existingByKey.set(key, payment);
|
|
1992
2017
|
}
|
|
1993
2018
|
} catch (err) {
|
|
1994
|
-
|
|
2019
|
+
_iterator17.e(err);
|
|
1995
2020
|
} finally {
|
|
1996
|
-
|
|
2021
|
+
_iterator17.f();
|
|
1997
2022
|
}
|
|
1998
2023
|
return incomingList.map(function (payment) {
|
|
1999
2024
|
var incomingPayment = payment;
|
|
@@ -2012,7 +2037,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2012
2037
|
var secondary = preferred === existing ? incoming : existing;
|
|
2013
2038
|
var merged = _objectSpread(_objectSpread({}, secondary), preferred);
|
|
2014
2039
|
var fieldsToPreserve = ['order_id', 'external_sale_number', 'order_number', 'shop_order_number', 'shop_full_order_number'];
|
|
2015
|
-
var incomingPatchFields = ['payment_status', 'status', 'shipping_status', 'updated_at', 'shop_discount', 'summary', 'products', 'bookings'];
|
|
2040
|
+
var incomingPatchFields = ['payment_status', 'status', 'shipping_status', 'updated_at', 'shop_discount', 'summary', 'products', 'bookings', 'note', 'customer_id', 'customer_name', 'customer', 'holder', 'contacts_info', 'phone', 'email', 'relation_forms'];
|
|
2016
2041
|
var mergedRecord = merged;
|
|
2017
2042
|
var preferredRecord = preferred;
|
|
2018
2043
|
var secondaryRecord = secondary;
|
|
@@ -2054,30 +2079,30 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2054
2079
|
key: "summarizeDuplicateOrders",
|
|
2055
2080
|
value: function summarizeDuplicateOrders(orders) {
|
|
2056
2081
|
var groups = new Map();
|
|
2057
|
-
var
|
|
2058
|
-
|
|
2082
|
+
var _iterator18 = _createForOfIteratorHelper(orders),
|
|
2083
|
+
_step18;
|
|
2059
2084
|
try {
|
|
2060
|
-
for (
|
|
2061
|
-
var order =
|
|
2062
|
-
var
|
|
2063
|
-
|
|
2085
|
+
for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
|
|
2086
|
+
var order = _step18.value;
|
|
2087
|
+
var _iterator19 = _createForOfIteratorHelper(this.getOrderIdentityMatchKeys(order)),
|
|
2088
|
+
_step19;
|
|
2064
2089
|
try {
|
|
2065
|
-
for (
|
|
2066
|
-
var key =
|
|
2090
|
+
for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
|
|
2091
|
+
var key = _step19.value;
|
|
2067
2092
|
var group = groups.get(key) || [];
|
|
2068
2093
|
group.push(order);
|
|
2069
2094
|
groups.set(key, group);
|
|
2070
2095
|
}
|
|
2071
2096
|
} catch (err) {
|
|
2072
|
-
|
|
2097
|
+
_iterator19.e(err);
|
|
2073
2098
|
} finally {
|
|
2074
|
-
|
|
2099
|
+
_iterator19.f();
|
|
2075
2100
|
}
|
|
2076
2101
|
}
|
|
2077
2102
|
} catch (err) {
|
|
2078
|
-
|
|
2103
|
+
_iterator18.e(err);
|
|
2079
2104
|
} finally {
|
|
2080
|
-
|
|
2105
|
+
_iterator18.f();
|
|
2081
2106
|
}
|
|
2082
2107
|
return _toConsumableArray(groups.entries()).filter(function (_ref2) {
|
|
2083
2108
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
@@ -2119,11 +2144,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2119
2144
|
value: function compactOrderListByIdentity(orders, source) {
|
|
2120
2145
|
var list = [];
|
|
2121
2146
|
var removedCount = 0;
|
|
2122
|
-
var
|
|
2123
|
-
|
|
2147
|
+
var _iterator20 = _createForOfIteratorHelper(orders),
|
|
2148
|
+
_step20;
|
|
2124
2149
|
try {
|
|
2125
|
-
for (
|
|
2126
|
-
var order =
|
|
2150
|
+
for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
|
|
2151
|
+
var order = _step20.value;
|
|
2127
2152
|
var matchIndex = this.findOrderIndexByIdentity(list, order);
|
|
2128
2153
|
if (matchIndex < 0) {
|
|
2129
2154
|
list.push(order);
|
|
@@ -2133,9 +2158,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2133
2158
|
removedCount += 1;
|
|
2134
2159
|
}
|
|
2135
2160
|
} catch (err) {
|
|
2136
|
-
|
|
2161
|
+
_iterator20.e(err);
|
|
2137
2162
|
} finally {
|
|
2138
|
-
|
|
2163
|
+
_iterator20.f();
|
|
2139
2164
|
}
|
|
2140
2165
|
if (removedCount > 0) {
|
|
2141
2166
|
this.logWarning('订单列表重复项已压缩', {
|
|
@@ -2285,11 +2310,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2285
2310
|
var merged = remoteOrders.map(function (order) {
|
|
2286
2311
|
return _this19.normalizeRemoteSyncedOrder(order);
|
|
2287
2312
|
});
|
|
2288
|
-
var
|
|
2289
|
-
|
|
2313
|
+
var _iterator21 = _createForOfIteratorHelper(existingOrders),
|
|
2314
|
+
_step21;
|
|
2290
2315
|
try {
|
|
2291
|
-
for (
|
|
2292
|
-
var order =
|
|
2316
|
+
for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
|
|
2317
|
+
var order = _step21.value;
|
|
2293
2318
|
if (!this.isPendingSyncOrder(order)) continue;
|
|
2294
2319
|
var matchIndex = this.findOrderIndexByIdentity(merged, order);
|
|
2295
2320
|
if (matchIndex >= 0) {
|
|
@@ -2300,9 +2325,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2300
2325
|
merged.push(order);
|
|
2301
2326
|
}
|
|
2302
2327
|
} catch (err) {
|
|
2303
|
-
|
|
2328
|
+
_iterator21.e(err);
|
|
2304
2329
|
} finally {
|
|
2305
|
-
|
|
2330
|
+
_iterator21.f();
|
|
2306
2331
|
}
|
|
2307
2332
|
return this.compactOrderListByIdentity(merged, 'mergeRemoteSnapshotWithPendingOrders').list;
|
|
2308
2333
|
}
|
|
@@ -2396,7 +2421,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2396
2421
|
_context20.prev = 12;
|
|
2397
2422
|
_context20.next = 15;
|
|
2398
2423
|
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
|
|
2399
|
-
var writeMethod,
|
|
2424
|
+
var writeMethod, _iterator22, _step22, order;
|
|
2400
2425
|
return _regeneratorRuntime().wrap(function _callee19$(_context19) {
|
|
2401
2426
|
while (1) switch (_context19.prev = _context19.next) {
|
|
2402
2427
|
case 0:
|
|
@@ -2433,15 +2458,15 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2433
2458
|
break;
|
|
2434
2459
|
}
|
|
2435
2460
|
writeMethod = 'update';
|
|
2436
|
-
|
|
2461
|
+
_iterator22 = _createForOfIteratorHelper(compactedToWrite);
|
|
2437
2462
|
_context19.prev = 17;
|
|
2438
|
-
|
|
2463
|
+
_iterator22.s();
|
|
2439
2464
|
case 19:
|
|
2440
|
-
if ((
|
|
2465
|
+
if ((_step22 = _iterator22.n()).done) {
|
|
2441
2466
|
_context19.next = 25;
|
|
2442
2467
|
break;
|
|
2443
2468
|
}
|
|
2444
|
-
order =
|
|
2469
|
+
order = _step22.value;
|
|
2445
2470
|
_context19.next = 23;
|
|
2446
2471
|
return _this20.dbManager.update(INDEXDB_STORE_NAME, order);
|
|
2447
2472
|
case 23:
|
|
@@ -2453,10 +2478,10 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
2453
2478
|
case 27:
|
|
2454
2479
|
_context19.prev = 27;
|
|
2455
2480
|
_context19.t0 = _context19["catch"](17);
|
|
2456
|
-
|
|
2481
|
+
_iterator22.e(_context19.t0);
|
|
2457
2482
|
case 30:
|
|
2458
2483
|
_context19.prev = 30;
|
|
2459
|
-
|
|
2484
|
+
_iterator22.f();
|
|
2460
2485
|
return _context19.finish(30);
|
|
2461
2486
|
case 33:
|
|
2462
2487
|
_this20.recordRecentSqliteWrite(source, compactedToWrite);
|
|
@@ -458,7 +458,10 @@ export interface OrderFilters {
|
|
|
458
458
|
* 预约展开列表筛选条件(订单级条件匹配 booking.order.*,预约级匹配 booking 自身)
|
|
459
459
|
*/
|
|
460
460
|
export interface BookingFilters {
|
|
461
|
+
/** RecordBoard 通用搜索字段(单数),用于本地预约过滤 */
|
|
461
462
|
keyword?: string;
|
|
463
|
+
/** `/shop/schedule/booking` 后端协议搜索字段(复数),OS Server 需兼容 */
|
|
464
|
+
keywords?: string;
|
|
462
465
|
order_by?: string;
|
|
463
466
|
order_payment_status?: string[];
|
|
464
467
|
order_status?: string[];
|
|
@@ -97,9 +97,16 @@ function parseNumberRange(range) {
|
|
|
97
97
|
// 供 matchOrder、matchBooking 复用,避免重复计算
|
|
98
98
|
// ─────────────────────────────────────────────────────────────────
|
|
99
99
|
|
|
100
|
+
/** 预约列表搜索兼容前端通用 `keyword` 与后端协议 `keywords` 两种字段 */
|
|
101
|
+
function resolveBookingKeyword(f) {
|
|
102
|
+
var _f$keyword;
|
|
103
|
+
var keyword = (_f$keyword = f.keyword) !== null && _f$keyword !== void 0 ? _f$keyword : f.keywords;
|
|
104
|
+
return typeof keyword === 'string' ? keyword.trim() : '';
|
|
105
|
+
}
|
|
100
106
|
function prepareFilters(f) {
|
|
101
107
|
var _f$order_payment_stat, _f$order_status, _f$order_sales_channe, _f$payment_method, _f$appointment_status, _f$form_record_ids;
|
|
102
108
|
var hasCustomerId = f.customer_id !== undefined && f.customer_id !== null;
|
|
109
|
+
var keyword = resolveBookingKeyword(f);
|
|
103
110
|
return {
|
|
104
111
|
orderPaymentStatusSet: (_f$order_payment_stat = f.order_payment_status) !== null && _f$order_payment_stat !== void 0 && _f$order_payment_stat.length ? new Set(f.order_payment_status) : null,
|
|
105
112
|
orderStatusSet: (_f$order_status = f.order_status) !== null && _f$order_status !== void 0 && _f$order_status.length ? new Set(f.order_status) : null,
|
|
@@ -116,7 +123,7 @@ function prepareFilters(f) {
|
|
|
116
123
|
updatedAtRange: parseDateRange(f.updated_at_between),
|
|
117
124
|
numberRange: parseNumberRange(f.number_between),
|
|
118
125
|
totalAmountRange: Array.isArray(f.total_amount_between) && f.total_amount_between.length === 2 ? f.total_amount_between : null,
|
|
119
|
-
keywordLower:
|
|
126
|
+
keywordLower: keyword ? keyword.toLowerCase() : '',
|
|
120
127
|
afterExecutionTimeMs: function () {
|
|
121
128
|
var raw = f.after_execution_time;
|
|
122
129
|
if (raw === undefined || raw === null || raw === '') return null;
|
|
@@ -213,22 +213,14 @@ function buildProducts(order, locale, productMap) {
|
|
|
213
213
|
quantity: quantity,
|
|
214
214
|
originalPrice: originalPrice
|
|
215
215
|
});
|
|
216
|
-
|
|
217
|
-
product: product,
|
|
218
|
-
locale: locale,
|
|
219
|
-
currencySymbol: currencySymbol,
|
|
220
|
-
quantity: quantity
|
|
221
|
-
});
|
|
222
|
-
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
216
|
+
return _objectSpread(_objectSpread(_objectSpread({
|
|
223
217
|
product_title: productTitle,
|
|
224
218
|
product_quantity: quantity,
|
|
225
219
|
selling_price: formatMoney(sellingPrice, currencySymbol),
|
|
226
220
|
original_price: formatMoney(originalPrice, currencySymbol),
|
|
227
221
|
total_original_price: formatMoney(new Decimal(toMoneyNumber(originalPrice)).mul(quantity), currencySymbol),
|
|
228
222
|
extension_list: extensionList
|
|
229
|
-
},
|
|
230
|
-
discount_list: discountList
|
|
231
|
-
} : {}), options.length ? {
|
|
223
|
+
}, options.length ? {
|
|
232
224
|
options: options
|
|
233
225
|
} : {}), resolvedVariant ? {
|
|
234
226
|
variant: resolvedVariant
|
|
@@ -249,12 +241,10 @@ function normalizeProductDiscounts(params) {
|
|
|
249
241
|
var title = resolveDiscountTitleWithPercent(discount, locale);
|
|
250
242
|
var amount = (_ref8 = (_discount$amount = discount.amount) !== null && _discount$amount !== void 0 ? _discount$amount : discount.value) !== null && _ref8 !== void 0 ? _ref8 : discount.discount_amount;
|
|
251
243
|
var formattedAmount = formatNegativeMoney(new Decimal(toMoneyNumber(amount)).mul(quantity), currencySymbol);
|
|
252
|
-
return
|
|
244
|
+
return {
|
|
253
245
|
item: title,
|
|
254
|
-
name: title,
|
|
255
|
-
title: title,
|
|
256
246
|
value: formattedAmount
|
|
257
|
-
}
|
|
247
|
+
};
|
|
258
248
|
});
|
|
259
249
|
}
|
|
260
250
|
function buildProductExtensionList(params) {
|
|
@@ -263,6 +253,12 @@ function buildProductExtensionList(params) {
|
|
|
263
253
|
currencySymbol = params.currencySymbol,
|
|
264
254
|
quantity = params.quantity,
|
|
265
255
|
originalPrice = params.originalPrice;
|
|
256
|
+
var discountList = normalizeProductDiscounts({
|
|
257
|
+
product: product,
|
|
258
|
+
locale: locale,
|
|
259
|
+
currencySymbol: currencySymbol,
|
|
260
|
+
quantity: quantity
|
|
261
|
+
});
|
|
266
262
|
var extensionList = [].concat(_toConsumableArray(buildProductOpenWeightRows({
|
|
267
263
|
product: product,
|
|
268
264
|
locale: locale,
|
|
@@ -275,7 +271,8 @@ function buildProductExtensionList(params) {
|
|
|
275
271
|
}),
|
|
276
272
|
value: ''
|
|
277
273
|
}] : []));
|
|
278
|
-
|
|
274
|
+
var productExtensionList = extensionList.length ? extensionList : normalizeArray(product.extension_list);
|
|
275
|
+
return [].concat(_toConsumableArray(productExtensionList), _toConsumableArray(discountList));
|
|
279
276
|
}
|
|
280
277
|
function buildProductOpenWeightRows(params) {
|
|
281
278
|
var _productSku$unit, _productSku$net_weigh, _productSku$unit_pric;
|
|
@@ -786,8 +786,8 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
786
786
|
key: "loadSalesDetail",
|
|
787
787
|
value: (function () {
|
|
788
788
|
var _loadSalesDetail = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(orderIdOrParams) {
|
|
789
|
-
var _ref11, _params$orderId;
|
|
790
|
-
var params, externalSaleNumber, lookup,
|
|
789
|
+
var _ref11, _ref12, _ref13, _ref14, _params$orderId;
|
|
790
|
+
var params, externalSaleNumber, preloadedSalesDetail, lookup, loadedRecord, message, remoteRecord, currentTempOrder, record, sales;
|
|
791
791
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
792
792
|
while (1) switch (_context7.prev = _context7.next) {
|
|
793
793
|
case 0:
|
|
@@ -801,43 +801,55 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
801
801
|
orderId: orderIdOrParams
|
|
802
802
|
};
|
|
803
803
|
externalSaleNumber = params.externalSaleNumber || params.external_sale_number;
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
804
|
+
preloadedSalesDetail = params.preloadedSalesDetail;
|
|
805
|
+
lookup = (_ref11 = (_ref12 = (_ref13 = (_ref14 = (_params$orderId = params.orderId) !== null && _params$orderId !== void 0 ? _params$orderId : externalSaleNumber) !== null && _ref14 !== void 0 ? _ref14 : params.orderNumber) !== null && _ref13 !== void 0 ? _ref13 : preloadedSalesDetail === null || preloadedSalesDetail === void 0 ? void 0 : preloadedSalesDetail.order_id) !== null && _ref12 !== void 0 ? _ref12 : preloadedSalesDetail === null || preloadedSalesDetail === void 0 ? void 0 : preloadedSalesDetail.external_sale_number) !== null && _ref11 !== void 0 ? _ref11 : preloadedSalesDetail === null || preloadedSalesDetail === void 0 ? void 0 : preloadedSalesDetail.order_number;
|
|
806
|
+
if (!(!preloadedSalesDetail && (lookup === undefined || lookup === null || lookup === ''))) {
|
|
807
|
+
_context7.next = 8;
|
|
807
808
|
break;
|
|
808
809
|
}
|
|
809
810
|
throw new Error('加载销售详情需要 orderId、externalSaleNumber 或 orderNumber');
|
|
810
|
-
case
|
|
811
|
-
|
|
811
|
+
case 8:
|
|
812
|
+
if (!(preloadedSalesDetail !== null && preloadedSalesDetail !== void 0)) {
|
|
813
|
+
_context7.next = 12;
|
|
814
|
+
break;
|
|
815
|
+
}
|
|
816
|
+
_context7.t0 = preloadedSalesDetail;
|
|
817
|
+
_context7.next = 15;
|
|
818
|
+
break;
|
|
819
|
+
case 12:
|
|
820
|
+
_context7.next = 14;
|
|
812
821
|
return this.store.order.getSalesOrderByLookup({
|
|
813
822
|
lookup: lookup,
|
|
814
823
|
forceRemote: params.forceRemote
|
|
815
824
|
});
|
|
816
|
-
case
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
825
|
+
case 14:
|
|
826
|
+
_context7.t0 = _context7.sent;
|
|
827
|
+
case 15:
|
|
828
|
+
loadedRecord = _context7.t0;
|
|
829
|
+
if (!(!preloadedSalesDetail && (!loadedRecord || loadedRecord.code !== 200))) {
|
|
830
|
+
_context7.next = 19;
|
|
820
831
|
break;
|
|
821
832
|
}
|
|
822
|
-
message =
|
|
833
|
+
message = loadedRecord && (loadedRecord.message || loadedRecord.msg) || "\u52A0\u8F7D\u9500\u552E\u8BE6\u60C5\u5931\u8D25: ".concat(lookup);
|
|
823
834
|
throw new Error(message);
|
|
824
|
-
case
|
|
835
|
+
case 19:
|
|
836
|
+
remoteRecord = preloadedSalesDetail !== null && preloadedSalesDetail !== void 0 ? preloadedSalesDetail : loadedRecord.data;
|
|
825
837
|
currentTempOrder = params.merge ? this.store.order.getTempOrder() : null;
|
|
826
|
-
record = params.merge ? mergeSalesDetailRecordWithTempOrder(currentTempOrder,
|
|
827
|
-
_context7.next =
|
|
838
|
+
record = params.merge ? mergeSalesDetailRecordWithTempOrder(currentTempOrder, remoteRecord) : remoteRecord;
|
|
839
|
+
_context7.next = 24;
|
|
828
840
|
return this.store.order.hydrateTempOrderFromRecord(record, {
|
|
829
841
|
recalcOnHydrate: false
|
|
830
842
|
});
|
|
831
|
-
case
|
|
843
|
+
case 24:
|
|
832
844
|
sales = _context7.sent;
|
|
833
845
|
this.currentSalesDetail = sales;
|
|
834
|
-
_context7.next =
|
|
846
|
+
_context7.next = 28;
|
|
835
847
|
return this.core.effects.emit("".concat(this.name, ":onSalesOrderLoaded"), {
|
|
836
848
|
sales: sales
|
|
837
849
|
});
|
|
838
|
-
case
|
|
850
|
+
case 28:
|
|
839
851
|
return _context7.abrupt("return", sales);
|
|
840
|
-
case
|
|
852
|
+
case 29:
|
|
841
853
|
case "end":
|
|
842
854
|
return _context7.stop();
|
|
843
855
|
}
|
|
@@ -2149,7 +2161,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2149
2161
|
key: "syncPaymentsToOrder",
|
|
2150
2162
|
value: function () {
|
|
2151
2163
|
var _syncPaymentsToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23(params) {
|
|
2152
|
-
var
|
|
2164
|
+
var _ref15, _params$businessCode, _this$otherParams18, _this$otherParams19, _params$channel;
|
|
2153
2165
|
var businessCode, channel, syncParams, syncState, payments, syncResult;
|
|
2154
2166
|
return _regeneratorRuntime().wrap(function _callee23$(_context23) {
|
|
2155
2167
|
while (1) switch (_context23.prev = _context23.next) {
|
|
@@ -2160,7 +2172,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2160
2172
|
}
|
|
2161
2173
|
throw new Error('order 模块未初始化');
|
|
2162
2174
|
case 2:
|
|
2163
|
-
businessCode = (
|
|
2175
|
+
businessCode = (_ref15 = (_params$businessCode = params.businessCode) !== null && _params$businessCode !== void 0 ? _params$businessCode : (_this$otherParams18 = this.otherParams) === null || _this$otherParams18 === void 0 ? void 0 : _this$otherParams18.businessCode) !== null && _ref15 !== void 0 ? _ref15 : (_this$otherParams19 = this.otherParams) === null || _this$otherParams19 === void 0 ? void 0 : _this$otherParams19.business_code;
|
|
2164
2176
|
channel = (_params$channel = params.channel) !== null && _params$channel !== void 0 ? _params$channel : this.getSubmitOrderSalesChannel();
|
|
2165
2177
|
syncParams = _objectSpread(_objectSpread(_objectSpread({}, params), businessCode !== undefined ? {
|
|
2166
2178
|
businessCode: businessCode
|
|
@@ -2247,6 +2259,8 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2247
2259
|
var _this$otherParams20,
|
|
2248
2260
|
_paymentRecord$paymen,
|
|
2249
2261
|
_paymentRecord$create,
|
|
2262
|
+
_ref16,
|
|
2263
|
+
_paymentRecord$origin,
|
|
2250
2264
|
_this7 = this;
|
|
2251
2265
|
if (!this.store.order) throw new Error('order 模块未初始化');
|
|
2252
2266
|
var paymentRecord = payment;
|
|
@@ -2268,7 +2282,11 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2268
2282
|
var paymentTimestamp = dayjs().format('YYYY-MM-DD HH:mm:ss');
|
|
2269
2283
|
var paymentTime = (_paymentRecord$paymen = paymentRecord.payment_time) !== null && _paymentRecord$paymen !== void 0 ? _paymentRecord$paymen : paymentTimestamp;
|
|
2270
2284
|
var createdAt = (_paymentRecord$create = paymentRecord.created_at) !== null && _paymentRecord$create !== void 0 ? _paymentRecord$create : paymentTimestamp;
|
|
2271
|
-
var
|
|
2285
|
+
var serviceCharge = paymentRecord.service_charge && _typeof(paymentRecord.service_charge) === 'object' ? paymentRecord.service_charge : null;
|
|
2286
|
+
var calculatedServiceFee = serviceCharge ? new Decimal((_ref16 = (_paymentRecord$origin = paymentRecord.origin_amount) !== null && _paymentRecord$origin !== void 0 ? _paymentRecord$origin : paymentRecord.amount) !== null && _ref16 !== void 0 ? _ref16 : 0).times(serviceCharge.percentage || 0).plus(serviceCharge.amount || 0).toDecimalPlaces(2).toFixed(2) : undefined;
|
|
2287
|
+
var payments = this.store.order.addOrderPayment(_objectSpread(_objectSpread(_objectSpread({}, paymentRecord), calculatedServiceFee !== undefined ? {
|
|
2288
|
+
service_fee: calculatedServiceFee
|
|
2289
|
+
} : {}), {}, {
|
|
2272
2290
|
metadata: metadata,
|
|
2273
2291
|
payment_time: paymentTime,
|
|
2274
2292
|
created_at: createdAt
|
|
@@ -2376,7 +2394,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2376
2394
|
key: "initWalletData",
|
|
2377
2395
|
value: function () {
|
|
2378
2396
|
var _initWalletData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24(params) {
|
|
2379
|
-
var _params$order_wait_pa,
|
|
2397
|
+
var _params$order_wait_pa, _ref17, _tempOrder$is_price_i;
|
|
2380
2398
|
var snapshot, tempOrder, amount, walletBusinessData, result;
|
|
2381
2399
|
return _regeneratorRuntime().wrap(function _callee24$(_context24) {
|
|
2382
2400
|
while (1) switch (_context24.prev = _context24.next) {
|
|
@@ -2419,7 +2437,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2419
2437
|
},
|
|
2420
2438
|
products: this.getWalletProductList(),
|
|
2421
2439
|
order_wait_pay_amount: (_params$order_wait_pa = params === null || params === void 0 ? void 0 : params.order_wait_pay_amount) !== null && _params$order_wait_pa !== void 0 ? _params$order_wait_pa : Number(amount.amountGap || 0),
|
|
2422
|
-
is_price_include_tax: (
|
|
2440
|
+
is_price_include_tax: (_ref17 = (_tempOrder$is_price_i = tempOrder.is_price_include_tax) !== null && _tempOrder$is_price_i !== void 0 ? _tempOrder$is_price_i : this.otherParams.is_price_include_tax) !== null && _ref17 !== void 0 ? _ref17 : 1
|
|
2423
2441
|
}, snapshot.identity.orderId ? {
|
|
2424
2442
|
payment_order_id: String(snapshot.identity.orderId)
|
|
2425
2443
|
} : {});
|
|
@@ -2550,7 +2568,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2550
2568
|
key: "sendCustomerPayLink",
|
|
2551
2569
|
value: (function () {
|
|
2552
2570
|
var _sendCustomerPayLink = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26(params) {
|
|
2553
|
-
var orderIds,
|
|
2571
|
+
var orderIds, _ref18, _ref19, _submitResult$data$or, _submitResult$data, _submitResult$data2, submitResult, orderId;
|
|
2554
2572
|
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
2555
2573
|
while (1) switch (_context26.prev = _context26.next) {
|
|
2556
2574
|
case 0:
|
|
@@ -2571,7 +2589,7 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2571
2589
|
});
|
|
2572
2590
|
case 6:
|
|
2573
2591
|
submitResult = _context26.sent;
|
|
2574
|
-
orderId = (
|
|
2592
|
+
orderId = (_ref18 = (_ref19 = (_submitResult$data$or = submitResult === null || submitResult === void 0 || (_submitResult$data = submitResult.data) === null || _submitResult$data === void 0 ? void 0 : _submitResult$data.order_id) !== null && _submitResult$data$or !== void 0 ? _submitResult$data$or : submitResult === null || submitResult === void 0 ? void 0 : submitResult.order_id) !== null && _ref19 !== void 0 ? _ref19 : submitResult === null || submitResult === void 0 || (_submitResult$data2 = submitResult.data) === null || _submitResult$data2 === void 0 ? void 0 : _submitResult$data2.id) !== null && _ref18 !== void 0 ? _ref18 : submitResult === null || submitResult === void 0 ? void 0 : submitResult.id;
|
|
2575
2593
|
if (orderId) {
|
|
2576
2594
|
_context26.next = 10;
|
|
2577
2595
|
break;
|
|
@@ -2997,14 +3015,14 @@ export var BaseSalesImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2997
3015
|
value: function () {
|
|
2998
3016
|
var _setOtherParams = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(params) {
|
|
2999
3017
|
var _this$otherParams22;
|
|
3000
|
-
var
|
|
3001
|
-
|
|
3018
|
+
var _ref20,
|
|
3019
|
+
_ref20$cover,
|
|
3002
3020
|
cover,
|
|
3003
3021
|
_args36 = arguments;
|
|
3004
3022
|
return _regeneratorRuntime().wrap(function _callee36$(_context36) {
|
|
3005
3023
|
while (1) switch (_context36.prev = _context36.next) {
|
|
3006
3024
|
case 0:
|
|
3007
|
-
|
|
3025
|
+
_ref20 = _args36.length > 1 && _args36[1] !== undefined ? _args36[1] : {}, _ref20$cover = _ref20.cover, cover = _ref20$cover === void 0 ? false : _ref20$cover;
|
|
3008
3026
|
if (cover) {
|
|
3009
3027
|
this.otherParams = _objectSpread({}, params);
|
|
3010
3028
|
} else {
|
|
@@ -311,7 +311,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
311
311
|
date: string;
|
|
312
312
|
status: string;
|
|
313
313
|
week: string;
|
|
314
|
-
weekNum: 0 | 2 | 1 |
|
|
314
|
+
weekNum: 0 | 2 | 1 | 5 | 3 | 4 | 6;
|
|
315
315
|
}[]>;
|
|
316
316
|
submitTimeSlot(timeSlots: TimeSliceItem): void;
|
|
317
317
|
private getScheduleDataByIds;
|
|
@@ -441,7 +441,19 @@ export declare class BookingTicketImpl extends BaseSalesImpl implements Module {
|
|
|
441
441
|
* 加车两阶段主决策(规格弹窗 / 资源编辑 / 直接加车)。
|
|
442
442
|
* 与 ticketBooking `handleSelectProduct` + `handleBooking4Service` 等价。
|
|
443
443
|
*/
|
|
444
|
-
decideAddProduct(item: any, options?: Partial<AddProductDecideContext>):
|
|
444
|
+
decideAddProduct(item: any, options?: Partial<AddProductDecideContext>): {
|
|
445
|
+
action: "reloadCatalog";
|
|
446
|
+
} | {
|
|
447
|
+
action: "add";
|
|
448
|
+
cacheItem: any;
|
|
449
|
+
} | {
|
|
450
|
+
action: "requiresDetail";
|
|
451
|
+
payload: AddProductRequiresDetailPayload;
|
|
452
|
+
} | {
|
|
453
|
+
action: "requiresBookingEdit";
|
|
454
|
+
cacheItem: any;
|
|
455
|
+
payload: import("./utils/addProductDecision").AddProductRequiresBookingEditPayload;
|
|
456
|
+
};
|
|
445
457
|
/** 规格弹窗 callback 后的第二段决策。 */
|
|
446
458
|
decideAfterDetail(cacheItem: any, options?: Partial<AddProductDecideContext>): import("./utils/addProductDecision").AddProductDecision;
|
|
447
459
|
/**
|