@pisell/pisellos 2.3.62 → 2.3.63
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.d.ts +0 -7
- package/dist/core/index.js +66 -109
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/modules/Quotation/index.d.ts +0 -6
- package/dist/modules/Quotation/index.js +19 -75
- package/dist/plugins/request.d.ts +0 -1
- package/dist/server/index.d.ts +2 -6
- package/dist/server/index.js +91 -132
- package/dist/server/modules/floor-plan/index.d.ts +0 -4
- package/dist/server/modules/floor-plan/index.js +98 -240
- package/dist/server/modules/menu/index.js +23 -48
- package/dist/server/modules/order/index.d.ts +7 -12
- package/dist/server/modules/order/index.js +96 -248
- package/dist/server/modules/products/index.d.ts +2 -8
- package/dist/server/modules/products/index.js +75 -167
- package/dist/server/modules/resource/index.js +13 -21
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/lib/core/index.d.ts +0 -7
- package/lib/core/index.js +3 -20
- package/lib/modules/Quotation/index.d.ts +0 -6
- package/lib/modules/Quotation/index.js +5 -49
- package/lib/plugins/request.d.ts +0 -1
- package/lib/server/index.d.ts +2 -6
- package/lib/server/index.js +11 -33
- package/lib/server/modules/floor-plan/index.d.ts +0 -4
- package/lib/server/modules/floor-plan/index.js +6 -54
- package/lib/server/modules/menu/index.js +5 -31
- package/lib/server/modules/order/index.d.ts +7 -12
- package/lib/server/modules/order/index.js +28 -143
- package/lib/server/modules/products/index.d.ts +2 -8
- package/lib/server/modules/products/index.js +24 -97
- package/lib/server/modules/resource/index.js +2 -7
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -42,7 +42,6 @@ import { getOrderPaymentIdentityKeys, isIdentifiedPendingOrderPayment, isPending
|
|
|
42
42
|
*/
|
|
43
43
|
var INDEXDB_STORE_NAME = 'orders';
|
|
44
44
|
var ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY = 'server_order_last_full_fetch_at';
|
|
45
|
-
var ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY = 'server_order_last_full_fetch_shop_id';
|
|
46
45
|
var ORDER_SYNC_THROTTLE_MS_STORAGE_KEY = 'order_sync_throttle_ms';
|
|
47
46
|
var DEFAULT_ORDER_SYNC_THROTTLE_MS = 2000;
|
|
48
47
|
/** pubsub 回声写入去重窗口:业务 API 刚写入后,跳过同单 SQLite patch */
|
|
@@ -701,78 +700,26 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
701
700
|
key: "preload",
|
|
702
701
|
value: function () {
|
|
703
702
|
var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
704
|
-
var
|
|
703
|
+
var orders;
|
|
705
704
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
706
705
|
while (1) switch (_context4.prev = _context4.next) {
|
|
707
706
|
case 0:
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
_context4.next = 12;
|
|
712
|
-
break;
|
|
713
|
-
}
|
|
714
|
-
_context4.prev = 3;
|
|
715
|
-
_context4.next = 6;
|
|
716
|
-
return this.loadOrdersFromSQLite({
|
|
717
|
-
throwOnError: true
|
|
718
|
-
});
|
|
719
|
-
case 6:
|
|
720
|
-
cachedOrders = _context4.sent;
|
|
721
|
-
_context4.next = 12;
|
|
722
|
-
break;
|
|
723
|
-
case 9:
|
|
724
|
-
_context4.prev = 9;
|
|
725
|
-
_context4.t0 = _context4["catch"](3);
|
|
726
|
-
this.logWarning('preload-SQLite读取失败,回退远端全量拉取', {
|
|
727
|
-
error: _context4.t0 instanceof Error ? _context4.t0.message : String(_context4.t0)
|
|
728
|
-
});
|
|
729
|
-
case 12:
|
|
730
|
-
if (!(cachedOrders !== null && this.hasPulledOrdersToday())) {
|
|
731
|
-
_context4.next = 22;
|
|
732
|
-
break;
|
|
733
|
-
}
|
|
734
|
-
memoryOrders = this.normalizeOrdersForMemoryList(cachedOrders, 'preload.sqliteMemory');
|
|
735
|
-
this.store.list = cloneDeep(memoryOrders);
|
|
736
|
-
this.syncOrdersMap();
|
|
737
|
-
_context4.next = 18;
|
|
738
|
-
return this.core.effects.emit(OrderHooks.onOrdersLoaded, this.store.list);
|
|
739
|
-
case 18:
|
|
740
|
-
_context4.next = 20;
|
|
741
|
-
return this.emitOrdersChanged([], 'preload.sqlite');
|
|
742
|
-
case 20:
|
|
743
|
-
this.logInfo('预加载完成', {
|
|
744
|
-
trigger: 'preload',
|
|
745
|
-
source: 'SQLite',
|
|
746
|
-
orderCount: this.store.list.length,
|
|
747
|
-
duration: "".concat(Date.now() - preloadStartedAt, "ms")
|
|
748
|
-
});
|
|
749
|
-
return _context4.abrupt("return");
|
|
750
|
-
case 22:
|
|
751
|
-
_context4.next = 24;
|
|
752
|
-
return this.loadOrdersByServer({
|
|
753
|
-
trigger: 'preload'
|
|
754
|
-
});
|
|
755
|
-
case 24:
|
|
707
|
+
_context4.next = 2;
|
|
708
|
+
return this.loadOrdersByServer();
|
|
709
|
+
case 2:
|
|
756
710
|
orders = _context4.sent;
|
|
757
711
|
this.store.list = cloneDeep(orders);
|
|
758
712
|
this.syncOrdersMap();
|
|
759
|
-
_context4.next =
|
|
713
|
+
_context4.next = 7;
|
|
760
714
|
return this.emitOrdersChanged([], 'preload');
|
|
761
|
-
case
|
|
762
|
-
_context4.next =
|
|
715
|
+
case 7:
|
|
716
|
+
_context4.next = 9;
|
|
763
717
|
return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
|
|
764
|
-
case
|
|
765
|
-
this.logInfo('预加载完成', {
|
|
766
|
-
trigger: 'preload',
|
|
767
|
-
source: 'Server',
|
|
768
|
-
orderCount: this.store.list.length,
|
|
769
|
-
duration: "".concat(Date.now() - preloadStartedAt, "ms")
|
|
770
|
-
});
|
|
771
|
-
case 32:
|
|
718
|
+
case 9:
|
|
772
719
|
case "end":
|
|
773
720
|
return _context4.stop();
|
|
774
721
|
}
|
|
775
|
-
}, _callee4, this
|
|
722
|
+
}, _callee4, this);
|
|
776
723
|
}));
|
|
777
724
|
function preload() {
|
|
778
725
|
return _preload.apply(this, arguments);
|
|
@@ -1105,32 +1052,18 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1105
1052
|
var _loadOrdersByServer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
1106
1053
|
var _this5 = this,
|
|
1107
1054
|
_this$store;
|
|
1108
|
-
var
|
|
1109
|
-
orderList,
|
|
1110
|
-
hasFetchedRemoteSnapshot,
|
|
1111
|
-
trigger,
|
|
1112
|
-
protectedOrdersBeforeRemoteFetch,
|
|
1113
|
-
data,
|
|
1114
|
-
_yield$this$replaceOr,
|
|
1115
|
-
mergedOrders,
|
|
1116
|
-
isRemoteSnapshotPersisted,
|
|
1117
|
-
memoryOrders,
|
|
1118
|
-
_args8 = arguments;
|
|
1055
|
+
var orderList, protectedOrdersBeforeRemoteFetch, data, mergedOrders, memoryOrders;
|
|
1119
1056
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
1120
1057
|
while (1) switch (_context8.prev = _context8.next) {
|
|
1121
1058
|
case 0:
|
|
1122
|
-
options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {};
|
|
1123
1059
|
orderList = [];
|
|
1124
|
-
|
|
1125
|
-
trigger = options.trigger || 'unknown';
|
|
1126
|
-
_context8.next = 6;
|
|
1060
|
+
_context8.next = 3;
|
|
1127
1061
|
return this.loadOrdersFromSQLite();
|
|
1128
|
-
case
|
|
1062
|
+
case 3:
|
|
1129
1063
|
protectedOrdersBeforeRemoteFetch = _context8.sent.filter(function (order) {
|
|
1130
1064
|
return _this5.shouldProtectLocalOrderFromRemoteSnapshot(order);
|
|
1131
1065
|
});
|
|
1132
1066
|
this.logInfo('loadOrdersByServer-开始', {
|
|
1133
|
-
trigger: trigger,
|
|
1134
1067
|
hasOrderDataSource: !!this.orderDataSource,
|
|
1135
1068
|
query: ((_this$store = this.store) === null || _this$store === void 0 ? void 0 : _this$store.createdAtQuery) || null,
|
|
1136
1069
|
protectedLocalOrderCount: protectedOrdersBeforeRemoteFetch.length,
|
|
@@ -1139,61 +1072,51 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1139
1072
|
}, 0)
|
|
1140
1073
|
});
|
|
1141
1074
|
if (!this.orderDataSource) {
|
|
1142
|
-
_context8.next =
|
|
1075
|
+
_context8.next = 20;
|
|
1143
1076
|
break;
|
|
1144
1077
|
}
|
|
1145
|
-
_context8.prev =
|
|
1146
|
-
_context8.next =
|
|
1078
|
+
_context8.prev = 6;
|
|
1079
|
+
_context8.next = 9;
|
|
1147
1080
|
return this.orderDataSource.run({
|
|
1148
1081
|
sse: {
|
|
1149
1082
|
query: this.store.createdAtQuery
|
|
1150
1083
|
}
|
|
1151
1084
|
});
|
|
1152
|
-
case
|
|
1085
|
+
case 9:
|
|
1153
1086
|
data = _context8.sent;
|
|
1154
1087
|
orderList = data || [];
|
|
1155
1088
|
this.logInfo('loadOrdersByServer-SSE拉取成功', {
|
|
1156
|
-
trigger: trigger,
|
|
1157
1089
|
count: orderList.length
|
|
1158
1090
|
});
|
|
1159
|
-
|
|
1091
|
+
this.markOrderPulledAtNow();
|
|
1160
1092
|
this.lastServerFullFetchAtMs = Date.now();
|
|
1161
|
-
_context8.next =
|
|
1093
|
+
_context8.next = 20;
|
|
1162
1094
|
break;
|
|
1163
|
-
case
|
|
1164
|
-
_context8.prev =
|
|
1165
|
-
_context8.t0 = _context8["catch"](
|
|
1095
|
+
case 16:
|
|
1096
|
+
_context8.prev = 16;
|
|
1097
|
+
_context8.t0 = _context8["catch"](6);
|
|
1166
1098
|
this.logInfo('loadOrdersByServer-SSE拉取失败,保持当前内存订单');
|
|
1167
1099
|
return _context8.abrupt("return", this.store.list);
|
|
1168
|
-
case
|
|
1169
|
-
|
|
1170
|
-
this.clearOrderSnapshotMarker();
|
|
1171
|
-
}
|
|
1172
|
-
_context8.next = 26;
|
|
1100
|
+
case 20:
|
|
1101
|
+
_context8.next = 22;
|
|
1173
1102
|
return this.replaceOrdersSnapshotInSQLite(orderList, 'loadOrdersByServer', protectedOrdersBeforeRemoteFetch);
|
|
1174
|
-
case
|
|
1175
|
-
|
|
1176
|
-
mergedOrders = _yield$this$replaceOr.orders;
|
|
1177
|
-
isRemoteSnapshotPersisted = _yield$this$replaceOr.persisted;
|
|
1178
|
-
if (hasFetchedRemoteSnapshot && isRemoteSnapshotPersisted) {
|
|
1179
|
-
this.markOrderPulledAtNow();
|
|
1180
|
-
}
|
|
1103
|
+
case 22:
|
|
1104
|
+
mergedOrders = _context8.sent;
|
|
1181
1105
|
memoryOrders = this.normalizeOrdersForMemoryList(mergedOrders, 'loadOrdersByServer.memory');
|
|
1182
1106
|
this.logInfo('loadOrdersByServer-结束', {
|
|
1183
|
-
trigger: trigger,
|
|
1184
1107
|
count: memoryOrders.length,
|
|
1185
1108
|
persistedCount: mergedOrders.length,
|
|
1186
1109
|
sqliteOnlyDraftCount: mergedOrders.length - memoryOrders.length
|
|
1187
1110
|
});
|
|
1188
|
-
_context8.next =
|
|
1111
|
+
_context8.next = 27;
|
|
1189
1112
|
return this.core.effects.emit(OrderHooks.onOrdersLoaded, memoryOrders);
|
|
1190
|
-
case
|
|
1113
|
+
case 27:
|
|
1191
1114
|
return _context8.abrupt("return", memoryOrders);
|
|
1192
|
-
case
|
|
1115
|
+
case 28:
|
|
1193
1116
|
case "end":
|
|
1194
1117
|
return _context8.stop();
|
|
1195
1118
|
}
|
|
1196
|
-
}, _callee8, this, [[
|
|
1119
|
+
}, _callee8, this, [[6, 16]]);
|
|
1197
1120
|
}));
|
|
1198
1121
|
function loadOrdersByServer() {
|
|
1199
1122
|
return _loadOrdersByServer.apply(this, arguments);
|
|
@@ -1209,76 +1132,53 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1209
1132
|
key: "silentRefresh",
|
|
1210
1133
|
value: (function () {
|
|
1211
1134
|
var _silentRefresh = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
1212
|
-
var
|
|
1213
|
-
startTime,
|
|
1214
|
-
trigger,
|
|
1215
|
-
elapsedSinceFullFetch,
|
|
1216
|
-
orders,
|
|
1217
|
-
errorMessage,
|
|
1218
|
-
_args9 = arguments;
|
|
1135
|
+
var startTime, elapsedSinceFullFetch, orders, errorMessage;
|
|
1219
1136
|
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
1220
1137
|
while (1) switch (_context9.prev = _context9.next) {
|
|
1221
1138
|
case 0:
|
|
1222
|
-
options = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : {};
|
|
1223
1139
|
startTime = Date.now();
|
|
1224
|
-
trigger = options.trigger || 'background';
|
|
1225
1140
|
elapsedSinceFullFetch = Date.now() - this.lastServerFullFetchAtMs;
|
|
1226
1141
|
if (!(this.lastServerFullFetchAtMs > 0 && elapsedSinceFullFetch < ORDER_SILENT_REFRESH_MIN_INTERVAL_MS)) {
|
|
1227
|
-
_context9.next =
|
|
1142
|
+
_context9.next = 4;
|
|
1228
1143
|
break;
|
|
1229
1144
|
}
|
|
1230
|
-
this.logInfo('silentRefresh 跳过全量 SSE', {
|
|
1231
|
-
trigger: trigger,
|
|
1232
|
-
reason: 'within_min_interval',
|
|
1233
|
-
minIntervalMs: ORDER_SILENT_REFRESH_MIN_INTERVAL_MS,
|
|
1234
|
-
elapsedSinceFullFetchMs: elapsedSinceFullFetch,
|
|
1235
|
-
orderCount: this.store.list.length
|
|
1236
|
-
});
|
|
1237
1145
|
return _context9.abrupt("return", this.store.list);
|
|
1238
|
-
case
|
|
1239
|
-
this.logInfo('silentRefresh 开始'
|
|
1240
|
-
|
|
1241
|
-
elapsedSinceFullFetchMs: elapsedSinceFullFetch,
|
|
1242
|
-
orderCount: this.store.list.length
|
|
1243
|
-
});
|
|
1244
|
-
_context9.prev = 8;
|
|
1146
|
+
case 4:
|
|
1147
|
+
this.logInfo('silentRefresh 开始');
|
|
1148
|
+
_context9.prev = 5;
|
|
1245
1149
|
// 刷新前,需要更新当前营业日边界(store.createdAtQuery)
|
|
1246
1150
|
this.updateCreateStore();
|
|
1247
|
-
_context9.next =
|
|
1248
|
-
return this.loadOrdersByServer(
|
|
1249
|
-
|
|
1250
|
-
});
|
|
1251
|
-
case 12:
|
|
1151
|
+
_context9.next = 9;
|
|
1152
|
+
return this.loadOrdersByServer();
|
|
1153
|
+
case 9:
|
|
1252
1154
|
orders = _context9.sent;
|
|
1253
1155
|
this.store.list = cloneDeep(orders);
|
|
1254
1156
|
this.syncOrdersMap();
|
|
1255
|
-
_context9.next =
|
|
1157
|
+
_context9.next = 14;
|
|
1256
1158
|
return this.emitOrdersChanged([], 'silentRefresh');
|
|
1257
|
-
case
|
|
1258
|
-
_context9.next =
|
|
1159
|
+
case 14:
|
|
1160
|
+
_context9.next = 16;
|
|
1259
1161
|
return this.core.effects.emit(OrderHooks.onOrdersSyncCompleted, null);
|
|
1260
|
-
case
|
|
1162
|
+
case 16:
|
|
1261
1163
|
this.logInfo('silentRefresh 完成', {
|
|
1262
|
-
trigger: trigger,
|
|
1263
1164
|
orderCount: orders.length,
|
|
1264
1165
|
duration: "".concat(Date.now() - startTime, "ms")
|
|
1265
1166
|
});
|
|
1266
1167
|
return _context9.abrupt("return", this.store.list);
|
|
1267
|
-
case
|
|
1268
|
-
_context9.prev =
|
|
1269
|
-
_context9.t0 = _context9["catch"](
|
|
1168
|
+
case 20:
|
|
1169
|
+
_context9.prev = 20;
|
|
1170
|
+
_context9.t0 = _context9["catch"](5);
|
|
1270
1171
|
errorMessage = _context9.t0 instanceof Error ? _context9.t0.message : String(_context9.t0);
|
|
1271
1172
|
this.logError('silentRefresh 失败', {
|
|
1272
|
-
trigger: trigger,
|
|
1273
1173
|
duration: "".concat(Date.now() - startTime, "ms"),
|
|
1274
1174
|
error: errorMessage
|
|
1275
1175
|
});
|
|
1276
1176
|
return _context9.abrupt("return", this.store.list);
|
|
1277
|
-
case
|
|
1177
|
+
case 25:
|
|
1278
1178
|
case "end":
|
|
1279
1179
|
return _context9.stop();
|
|
1280
1180
|
}
|
|
1281
|
-
}, _callee9, this, [[
|
|
1181
|
+
}, _callee9, this, [[5, 20]]);
|
|
1282
1182
|
}));
|
|
1283
1183
|
function silentRefresh() {
|
|
1284
1184
|
return _silentRefresh.apply(this, arguments);
|
|
@@ -3293,32 +3193,25 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3293
3193
|
}
|
|
3294
3194
|
|
|
3295
3195
|
/**
|
|
3296
|
-
*
|
|
3297
|
-
*
|
|
3196
|
+
* 当前订单拉取窗口:
|
|
3197
|
+
* - 优先使用 createdAtQuery.sales_time_between(已按营业日边界初始化)
|
|
3198
|
+
* - 无法解析时退化为自然日窗口
|
|
3298
3199
|
*/
|
|
3299
3200
|
}, {
|
|
3300
|
-
key: "
|
|
3301
|
-
value: function
|
|
3201
|
+
key: "getCurrentPullWindow",
|
|
3202
|
+
value: function getCurrentPullWindow() {
|
|
3203
|
+
var _this$store2;
|
|
3302
3204
|
var now = dayjs();
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
var
|
|
3306
|
-
var
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
if (todayBoundary.isValid()) {
|
|
3313
|
-
var _startAt = now.isBefore(todayBoundary) ? todayBoundary.subtract(1, 'day') : todayBoundary;
|
|
3314
|
-
return {
|
|
3315
|
-
startAt: _startAt,
|
|
3316
|
-
endExclusiveAt: _startAt.add(1, 'day')
|
|
3317
|
-
};
|
|
3318
|
-
}
|
|
3205
|
+
var range = (_this$store2 = this.store) === null || _this$store2 === void 0 || (_this$store2 = _this$store2.createdAtQuery) === null || _this$store2 === void 0 ? void 0 : _this$store2.sales_time_between;
|
|
3206
|
+
if (Array.isArray(range) && range.length >= 2) {
|
|
3207
|
+
var _startAt = dayjs(range[0]);
|
|
3208
|
+
var endExclusiveAt = dayjs(range[1]);
|
|
3209
|
+
if (_startAt.isValid() && endExclusiveAt.isValid() && endExclusiveAt.isAfter(_startAt)) {
|
|
3210
|
+
return {
|
|
3211
|
+
startAt: _startAt,
|
|
3212
|
+
endExclusiveAt: endExclusiveAt
|
|
3213
|
+
};
|
|
3319
3214
|
}
|
|
3320
|
-
} catch (_unused6) {
|
|
3321
|
-
// 读取营业日配置失败时按自然日兜底,不影响启动。
|
|
3322
3215
|
}
|
|
3323
3216
|
var startAt = now.startOf('day');
|
|
3324
3217
|
return {
|
|
@@ -3331,47 +3224,20 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3331
3224
|
value: function hasPulledOrdersToday() {
|
|
3332
3225
|
var lastFullFetchAt = this.getStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY);
|
|
3333
3226
|
if (!lastFullFetchAt) return false;
|
|
3334
|
-
var currentShopId = this.getCurrentShopId();
|
|
3335
|
-
var lastFullFetchShopId = this.getStorageItem(ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY);
|
|
3336
|
-
if (!currentShopId || !lastFullFetchShopId || currentShopId !== lastFullFetchShopId) {
|
|
3337
|
-
return false;
|
|
3338
|
-
}
|
|
3339
3227
|
var parsed = dayjs(lastFullFetchAt);
|
|
3340
3228
|
if (!parsed.isValid()) return false;
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3229
|
+
|
|
3230
|
+
// 按当前拉取窗口判断,而不是自然日判断。
|
|
3231
|
+
// 这样在营业日跨日边界(start_time)场景下也能正确判定是否需要重新拉取。
|
|
3232
|
+
var _this$getCurrentPullW = this.getCurrentPullWindow(),
|
|
3233
|
+
startAt = _this$getCurrentPullW.startAt,
|
|
3234
|
+
endExclusiveAt = _this$getCurrentPullW.endExclusiveAt;
|
|
3344
3235
|
return (parsed.isAfter(startAt) || parsed.isSame(startAt)) && parsed.isBefore(endExclusiveAt);
|
|
3345
3236
|
}
|
|
3346
3237
|
}, {
|
|
3347
3238
|
key: "markOrderPulledAtNow",
|
|
3348
3239
|
value: function markOrderPulledAtNow() {
|
|
3349
|
-
var currentShopId = this.getCurrentShopId();
|
|
3350
|
-
if (!currentShopId) return;
|
|
3351
3240
|
this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, dayjs().format('YYYY-MM-DD HH:mm:ss'));
|
|
3352
|
-
this.setStorageItem(ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY, currentShopId);
|
|
3353
|
-
}
|
|
3354
|
-
}, {
|
|
3355
|
-
key: "clearOrderSnapshotMarker",
|
|
3356
|
-
value: function clearOrderSnapshotMarker() {
|
|
3357
|
-
this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, '');
|
|
3358
|
-
this.setStorageItem(ORDER_LAST_FULL_FETCH_SHOP_ID_STORAGE_KEY, '');
|
|
3359
|
-
}
|
|
3360
|
-
}, {
|
|
3361
|
-
key: "getCurrentShopId",
|
|
3362
|
-
value: function getCurrentShopId() {
|
|
3363
|
-
try {
|
|
3364
|
-
var _coreData$core2;
|
|
3365
|
-
var appPlugin = this.core.getPlugin('app');
|
|
3366
|
-
var app = appPlugin === null || appPlugin === void 0 ? void 0 : appPlugin.getApp();
|
|
3367
|
-
if (!app) return null;
|
|
3368
|
-
var coreData = app.data.store.getStore().getDataByModel('core');
|
|
3369
|
-
var shopId = coreData === null || coreData === void 0 || (_coreData$core2 = coreData.core) === null || _coreData$core2 === void 0 ? void 0 : _coreData$core2.id;
|
|
3370
|
-
if (shopId === undefined || shopId === null || shopId === '') return null;
|
|
3371
|
-
return String(shopId);
|
|
3372
|
-
} catch (_unused7) {
|
|
3373
|
-
return null;
|
|
3374
|
-
}
|
|
3375
3241
|
}
|
|
3376
3242
|
}, {
|
|
3377
3243
|
key: "getStorageItem",
|
|
@@ -3382,7 +3248,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3382
3248
|
if (typeof globalThis !== 'undefined' && globalThis !== null && globalThis !== void 0 && globalThis.localStorage) {
|
|
3383
3249
|
return globalThis.localStorage.getItem(key);
|
|
3384
3250
|
}
|
|
3385
|
-
} catch (
|
|
3251
|
+
} catch (_unused6) {
|
|
3386
3252
|
// 忽略存储异常,避免影响主流程
|
|
3387
3253
|
}
|
|
3388
3254
|
return null;
|
|
@@ -3399,7 +3265,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3399
3265
|
if (typeof globalThis !== 'undefined' && globalThis !== null && globalThis !== void 0 && globalThis.localStorage) {
|
|
3400
3266
|
globalThis.localStorage.setItem(key, value);
|
|
3401
3267
|
}
|
|
3402
|
-
} catch (
|
|
3268
|
+
} catch (_unused7) {
|
|
3403
3269
|
// 忽略存储异常,避免影响主流程
|
|
3404
3270
|
}
|
|
3405
3271
|
}
|
|
@@ -3408,42 +3274,33 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3408
3274
|
value: function () {
|
|
3409
3275
|
var _loadOrdersFromSQLite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20() {
|
|
3410
3276
|
var _this20 = this;
|
|
3411
|
-
var
|
|
3412
|
-
orders,
|
|
3413
|
-
_args20 = arguments;
|
|
3277
|
+
var orders;
|
|
3414
3278
|
return _regeneratorRuntime().wrap(function _callee20$(_context20) {
|
|
3415
3279
|
while (1) switch (_context20.prev = _context20.next) {
|
|
3416
3280
|
case 0:
|
|
3417
|
-
options = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : {};
|
|
3418
3281
|
if (this.dbManager) {
|
|
3419
|
-
_context20.next =
|
|
3282
|
+
_context20.next = 2;
|
|
3420
3283
|
break;
|
|
3421
3284
|
}
|
|
3422
3285
|
return _context20.abrupt("return", []);
|
|
3423
|
-
case
|
|
3424
|
-
_context20.prev =
|
|
3425
|
-
_context20.next =
|
|
3286
|
+
case 2:
|
|
3287
|
+
_context20.prev = 2;
|
|
3288
|
+
_context20.next = 5;
|
|
3426
3289
|
return this.dbManager.getAll(INDEXDB_STORE_NAME);
|
|
3427
|
-
case
|
|
3290
|
+
case 5:
|
|
3428
3291
|
orders = _context20.sent;
|
|
3429
3292
|
return _context20.abrupt("return", (orders || []).map(function (order) {
|
|
3430
3293
|
return _this20.normalizeOrderCollectionsForIngress(order, 'loadOrdersFromSQLite');
|
|
3431
3294
|
}));
|
|
3432
|
-
case
|
|
3433
|
-
_context20.prev =
|
|
3434
|
-
_context20.t0 = _context20["catch"](
|
|
3435
|
-
if (!options.throwOnError) {
|
|
3436
|
-
_context20.next = 14;
|
|
3437
|
-
break;
|
|
3438
|
-
}
|
|
3439
|
-
throw _context20.t0;
|
|
3440
|
-
case 14:
|
|
3295
|
+
case 9:
|
|
3296
|
+
_context20.prev = 9;
|
|
3297
|
+
_context20.t0 = _context20["catch"](2);
|
|
3441
3298
|
return _context20.abrupt("return", []);
|
|
3442
|
-
case
|
|
3299
|
+
case 12:
|
|
3443
3300
|
case "end":
|
|
3444
3301
|
return _context20.stop();
|
|
3445
3302
|
}
|
|
3446
|
-
}, _callee20, this, [[
|
|
3303
|
+
}, _callee20, this, [[2, 9]]);
|
|
3447
3304
|
}));
|
|
3448
3305
|
function loadOrdersFromSQLite() {
|
|
3449
3306
|
return _loadOrdersFromSQLite.apply(this, arguments);
|
|
@@ -3883,7 +3740,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3883
3740
|
* 用于 SSE 全量拉取与营业日窗口裁剪。
|
|
3884
3741
|
*
|
|
3885
3742
|
* @example
|
|
3886
|
-
*
|
|
3743
|
+
* await this.replaceOrdersSnapshotInSQLite(orderList)
|
|
3887
3744
|
*/
|
|
3888
3745
|
)
|
|
3889
3746
|
}, {
|
|
@@ -3894,7 +3751,6 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3894
3751
|
var protectedOrdersBeforeRemoteFetch,
|
|
3895
3752
|
remoteSnapshot,
|
|
3896
3753
|
mergedSnapshot,
|
|
3897
|
-
persisted,
|
|
3898
3754
|
_args27 = arguments;
|
|
3899
3755
|
return _regeneratorRuntime().wrap(function _callee27$(_context27) {
|
|
3900
3756
|
while (1) switch (_context27.prev = _context27.next) {
|
|
@@ -3904,12 +3760,9 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3904
3760
|
_context27.next = 3;
|
|
3905
3761
|
break;
|
|
3906
3762
|
}
|
|
3907
|
-
return _context27.abrupt("return", {
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
}), "".concat(source, ".snapshotNoDb")).list,
|
|
3911
|
-
persisted: false
|
|
3912
|
-
});
|
|
3763
|
+
return _context27.abrupt("return", this.compactOrderListByIdentity(orderList.map(function (order) {
|
|
3764
|
+
return _this24.normalizeRemoteSyncedOrder(order);
|
|
3765
|
+
}), "".concat(source, ".snapshotNoDb")).list);
|
|
3913
3766
|
case 3:
|
|
3914
3767
|
remoteSnapshot = cloneDeep(orderList).map(function (order) {
|
|
3915
3768
|
return _this24.normalizeOrderCollectionsForIngress(order, "".concat(source, ".remoteIngress"));
|
|
@@ -3917,9 +3770,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
3917
3770
|
mergedSnapshot = this.compactOrderListByIdentity(remoteSnapshot.map(function (order) {
|
|
3918
3771
|
return _this24.normalizeRemoteSyncedOrder(order);
|
|
3919
3772
|
}), "".concat(source, ".remoteSnapshot")).list;
|
|
3920
|
-
|
|
3921
|
-
_context27.
|
|
3922
|
-
_context27.next = 9;
|
|
3773
|
+
_context27.prev = 5;
|
|
3774
|
+
_context27.next = 8;
|
|
3923
3775
|
return this.runInOrderSQLiteSaveQueue( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26() {
|
|
3924
3776
|
var existingOrders, protectedLocalOrders, _iterator33, _step33, rawCurrentOrder, currentOrder, protectedIndex, currentNeedsProtection, orderListSnapshot;
|
|
3925
3777
|
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
@@ -4032,27 +3884,23 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4032
3884
|
}
|
|
4033
3885
|
}, _callee26, null, [[10, 25, 28, 31]]);
|
|
4034
3886
|
})));
|
|
4035
|
-
case
|
|
4036
|
-
|
|
4037
|
-
_context27.next = 15;
|
|
3887
|
+
case 8:
|
|
3888
|
+
_context27.next = 13;
|
|
4038
3889
|
break;
|
|
4039
|
-
case
|
|
4040
|
-
_context27.prev =
|
|
4041
|
-
_context27.t0 = _context27["catch"](
|
|
3890
|
+
case 10:
|
|
3891
|
+
_context27.prev = 10;
|
|
3892
|
+
_context27.t0 = _context27["catch"](5);
|
|
4042
3893
|
this.logError('全量保存订单到 SQLite 失败', {
|
|
4043
3894
|
error: _context27.t0 instanceof Error ? _context27.t0.message : String(_context27.t0),
|
|
4044
3895
|
orderList: remoteSnapshot.length
|
|
4045
3896
|
});
|
|
4046
|
-
case
|
|
4047
|
-
return _context27.abrupt("return",
|
|
4048
|
-
|
|
4049
|
-
persisted: persisted
|
|
4050
|
-
});
|
|
4051
|
-
case 16:
|
|
3897
|
+
case 13:
|
|
3898
|
+
return _context27.abrupt("return", mergedSnapshot);
|
|
3899
|
+
case 14:
|
|
4052
3900
|
case "end":
|
|
4053
3901
|
return _context27.stop();
|
|
4054
3902
|
}
|
|
4055
|
-
}, _callee27, this, [[
|
|
3903
|
+
}, _callee27, this, [[5, 10]]);
|
|
4056
3904
|
}));
|
|
4057
3905
|
function replaceOrdersSnapshotInSQLite(_x20, _x21) {
|
|
4058
3906
|
return _replaceOrdersSnapshotInSQLite.apply(this, arguments);
|
|
@@ -4094,7 +3942,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
4094
3942
|
}, _callee28);
|
|
4095
3943
|
})));
|
|
4096
3944
|
case 5:
|
|
4097
|
-
this.
|
|
3945
|
+
this.setStorageItem(ORDER_LAST_FULL_FETCH_AT_STORAGE_KEY, '');
|
|
4098
3946
|
this.emitOrdersChanged([], 'clear');
|
|
4099
3947
|
case 7:
|
|
4100
3948
|
case "end":
|
|
@@ -25,7 +25,6 @@ export declare class ProductsModule extends BaseModule implements Module {
|
|
|
25
25
|
private quotationBridgeLoadedKey?;
|
|
26
26
|
private quotationBridgeRefreshPromise?;
|
|
27
27
|
private quotationBridgeRefreshKey?;
|
|
28
|
-
private quotationBridgeUpdatedCallback?;
|
|
29
28
|
private quotationScheduleCache;
|
|
30
29
|
private quotationScheduleCacheSource;
|
|
31
30
|
private quotationScheduleCacheLoaded;
|
|
@@ -73,7 +72,6 @@ export declare class ProductsModule extends BaseModule implements Module {
|
|
|
73
72
|
scheduleModule?: any;
|
|
74
73
|
channel?: string;
|
|
75
74
|
customer_id?: number | string;
|
|
76
|
-
onQuotationUpdated?: () => void;
|
|
77
75
|
}): Promise<void>;
|
|
78
76
|
/**
|
|
79
77
|
* 刷新桥接器内的报价单列表。
|
|
@@ -183,9 +181,7 @@ export declare class ProductsModule extends BaseModule implements Module {
|
|
|
183
181
|
/**
|
|
184
182
|
* 通过 ProductDataSource SSE 加载完整商品列表
|
|
185
183
|
*/
|
|
186
|
-
loadProductsByServer(
|
|
187
|
-
trigger?: string;
|
|
188
|
-
}): Promise<any>;
|
|
184
|
+
loadProductsByServer(): Promise<any>;
|
|
189
185
|
/**
|
|
190
186
|
* 纯请求方法:通过 HTTP 接口获取商品列表(无副作用,不触发事件、不写 IndexDB)
|
|
191
187
|
* @param params 查询参数
|
|
@@ -335,9 +331,7 @@ export declare class ProductsModule extends BaseModule implements Module {
|
|
|
335
331
|
* 拿到完整数据后一次性替换 store,清除价格缓存,触发 onProductsSyncCompleted
|
|
336
332
|
* @returns 刷新后的商品列表
|
|
337
333
|
*/
|
|
338
|
-
silentRefresh(
|
|
339
|
-
trigger?: string;
|
|
340
|
-
}): Promise<ProductData[]>;
|
|
334
|
+
silentRefresh(): Promise<ProductData[]>;
|
|
341
335
|
/**
|
|
342
336
|
* 销毁同步资源(取消 pubsub 订阅、清除定时器)
|
|
343
337
|
*/
|