@pisell/pisellos 0.0.479 → 0.0.481
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 +3 -2
- package/dist/core/index.js +7 -0
- package/dist/effects/index.d.ts +2 -2
- package/dist/effects/index.js +34 -81
- package/dist/model/strategy/adapter/promotion/evaluator.js +99 -26
- package/dist/model/strategy/adapter/walletPass/type.d.ts +9 -2
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +6 -6
- package/dist/model/strategy/adapter/walletPass/utils.js +111 -72
- package/dist/modules/Customer/index.js +1 -1
- package/dist/modules/Discount/index.d.ts +6 -2
- package/dist/modules/Discount/index.js +14 -8
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +18 -13
- package/dist/modules/Payment/index.d.ts +4 -0
- package/dist/modules/Payment/index.js +774 -649
- package/dist/modules/Payment/walletpass.js +44 -17
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/modules/Product/types.d.ts +2 -0
- package/dist/modules/ProductList/index.d.ts +3 -0
- package/dist/modules/ProductList/index.js +9 -7
- package/dist/modules/Rules/index.d.ts +2 -2
- package/dist/modules/Rules/index.js +37 -31
- package/dist/modules/Rules/types.d.ts +2 -2
- package/dist/modules/Schedule/index.d.ts +9 -0
- package/dist/modules/Schedule/index.js +15 -2
- package/dist/plugins/app-types/app/app.d.ts +1 -0
- package/dist/plugins/request.d.ts +2 -0
- package/dist/server/index.d.ts +107 -2
- package/dist/server/index.js +1507 -279
- package/dist/server/modules/index.d.ts +6 -0
- package/dist/server/modules/index.js +7 -0
- package/dist/server/modules/menu/index.d.ts +19 -0
- package/dist/server/modules/menu/index.js +221 -71
- package/dist/server/modules/order/index.d.ts +87 -0
- package/dist/server/modules/order/index.js +916 -0
- package/dist/server/modules/order/types.d.ts +530 -0
- package/dist/server/modules/order/types.js +141 -0
- package/dist/server/modules/order/utils/filterBookings.d.ts +6 -0
- package/dist/server/modules/order/utils/filterBookings.js +350 -0
- package/dist/server/modules/order/utils/filterOrders.d.ts +15 -0
- package/dist/server/modules/order/utils/filterOrders.js +226 -0
- package/dist/server/modules/products/index.d.ts +117 -5
- package/dist/server/modules/products/index.js +1450 -240
- package/dist/server/modules/products/types.d.ts +25 -1
- package/dist/server/modules/products/types.js +3 -0
- package/dist/server/modules/resource/index.d.ts +86 -0
- package/dist/server/modules/resource/index.js +1128 -0
- package/dist/server/modules/resource/types.d.ts +121 -0
- package/dist/server/modules/resource/types.js +47 -0
- package/dist/server/modules/schedule/index.d.ts +19 -0
- package/dist/server/modules/schedule/index.js +229 -68
- package/dist/server/utils/product.d.ts +5 -0
- package/dist/server/utils/product.js +71 -31
- package/dist/solution/BookingTicket/index.d.ts +10 -2
- package/dist/solution/BookingTicket/index.js +41 -28
- package/dist/solution/BookingTicket/utils/scan/index.js +1 -1
- package/dist/solution/Checkout/index.d.ts +1 -0
- package/dist/solution/Checkout/index.js +286 -188
- package/dist/solution/Checkout/utils/index.d.ts +2 -1
- package/dist/solution/Checkout/utils/index.js +6 -4
- package/dist/solution/RegisterAndLogin/config.js +340 -1
- package/dist/solution/Sales/index.d.ts +96 -0
- package/dist/solution/Sales/index.js +566 -0
- package/dist/solution/Sales/types.d.ts +67 -0
- package/dist/solution/Sales/types.js +26 -0
- package/dist/solution/ShopDiscount/index.d.ts +1 -0
- package/dist/solution/ShopDiscount/index.js +35 -22
- package/dist/solution/ShopDiscount/types.d.ts +6 -0
- package/dist/solution/ShopDiscount/utils.d.ts +9 -0
- package/dist/solution/ShopDiscount/utils.js +21 -27
- package/dist/solution/index.d.ts +2 -1
- package/dist/solution/index.js +2 -1
- package/dist/types/index.d.ts +5 -0
- package/lib/core/index.d.ts +3 -2
- package/lib/core/index.js +4 -0
- package/lib/effects/index.d.ts +2 -2
- package/lib/effects/index.js +22 -31
- package/lib/model/strategy/adapter/promotion/evaluator.js +57 -8
- package/lib/model/strategy/adapter/walletPass/type.d.ts +9 -2
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +6 -6
- package/lib/model/strategy/adapter/walletPass/utils.js +115 -48
- package/lib/modules/Customer/index.js +1 -1
- package/lib/modules/Discount/index.d.ts +6 -2
- package/lib/modules/Discount/index.js +3 -1
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Order/index.js +20 -18
- package/lib/modules/Payment/index.d.ts +4 -0
- package/lib/modules/Payment/index.js +134 -66
- package/lib/modules/Payment/walletpass.js +23 -4
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/modules/Product/types.d.ts +2 -0
- package/lib/modules/ProductList/index.d.ts +3 -0
- package/lib/modules/ProductList/index.js +2 -2
- package/lib/modules/Rules/index.d.ts +2 -2
- package/lib/modules/Rules/index.js +69 -73
- package/lib/modules/Rules/types.d.ts +2 -2
- package/lib/modules/Schedule/index.d.ts +9 -0
- package/lib/modules/Schedule/index.js +11 -0
- package/lib/plugins/app-types/app/app.d.ts +1 -0
- package/lib/plugins/request.d.ts +2 -0
- package/lib/server/index.d.ts +107 -2
- package/lib/server/index.js +773 -51
- package/lib/server/modules/index.d.ts +6 -0
- package/lib/server/modules/index.js +16 -2
- package/lib/server/modules/menu/index.d.ts +19 -0
- package/lib/server/modules/menu/index.js +121 -2
- package/lib/server/modules/order/index.d.ts +87 -0
- package/lib/server/modules/order/index.js +543 -0
- package/lib/server/modules/order/types.d.ts +530 -0
- package/lib/server/modules/order/types.js +34 -0
- package/lib/server/modules/order/utils/filterBookings.d.ts +6 -0
- package/lib/server/modules/order/utils/filterBookings.js +320 -0
- package/lib/server/modules/order/utils/filterOrders.d.ts +15 -0
- package/lib/server/modules/order/utils/filterOrders.js +197 -0
- package/lib/server/modules/products/index.d.ts +117 -5
- package/lib/server/modules/products/index.js +799 -62
- package/lib/server/modules/products/types.d.ts +25 -1
- package/lib/server/modules/products/types.js +1 -0
- package/lib/server/modules/resource/index.d.ts +86 -0
- package/lib/server/modules/resource/index.js +557 -0
- package/lib/server/modules/resource/types.d.ts +121 -0
- package/lib/server/modules/resource/types.js +35 -0
- package/lib/server/modules/schedule/index.d.ts +19 -0
- package/lib/server/modules/schedule/index.js +141 -12
- package/lib/server/utils/product.d.ts +5 -0
- package/lib/server/utils/product.js +56 -27
- package/lib/solution/BookingTicket/index.d.ts +10 -2
- package/lib/solution/BookingTicket/index.js +10 -2
- package/lib/solution/BookingTicket/utils/scan/index.js +0 -1
- package/lib/solution/Checkout/index.d.ts +1 -0
- package/lib/solution/Checkout/index.js +399 -331
- package/lib/solution/Checkout/utils/index.d.ts +2 -1
- package/lib/solution/Checkout/utils/index.js +6 -4
- package/lib/solution/RegisterAndLogin/config.js +266 -1
- package/lib/solution/Sales/index.d.ts +96 -0
- package/lib/solution/Sales/index.js +416 -0
- package/lib/solution/Sales/types.d.ts +67 -0
- package/lib/solution/Sales/types.js +35 -0
- package/lib/solution/ShopDiscount/index.d.ts +1 -0
- package/lib/solution/ShopDiscount/index.js +14 -6
- package/lib/solution/ShopDiscount/types.d.ts +6 -0
- package/lib/solution/ShopDiscount/utils.d.ts +9 -0
- package/lib/solution/ShopDiscount/utils.js +6 -10
- package/lib/solution/index.d.ts +2 -1
- package/lib/solution/index.js +4 -2
- package/lib/types/index.d.ts +5 -0
- package/package.json +1 -1
|
@@ -28,11 +28,11 @@ export interface RulesModuleAPI {
|
|
|
28
28
|
calcDiscount: (params: {
|
|
29
29
|
discountList: any[];
|
|
30
30
|
productList: any[];
|
|
31
|
-
orderTotalAmount: number;
|
|
32
31
|
holders: {
|
|
33
32
|
form_record_id: number;
|
|
34
33
|
}[];
|
|
35
34
|
isFormSubject: boolean;
|
|
35
|
+
orderTotalAmount: number;
|
|
36
36
|
}) => DiscountResult;
|
|
37
37
|
}
|
|
38
38
|
type ProductDetail = {
|
|
@@ -51,8 +51,8 @@ type ProductDetail = {
|
|
|
51
51
|
num?: number;
|
|
52
52
|
quantity: number;
|
|
53
53
|
vouchersApplicable?: boolean;
|
|
54
|
-
startDate?: any;
|
|
55
54
|
holder_id?: number | string;
|
|
55
|
+
startDate?: any;
|
|
56
56
|
};
|
|
57
57
|
export interface RulesParamsHooks {
|
|
58
58
|
getProduct: (product: Record<string, any>) => ProductDetail;
|
|
@@ -25,6 +25,15 @@ export declare class ScheduleModule extends BaseModule implements Module, Schedu
|
|
|
25
25
|
setOtherProductsIds(ids: number[]): void;
|
|
26
26
|
getOtherProductsIds(): number[];
|
|
27
27
|
storeChange(): void;
|
|
28
|
+
/**
|
|
29
|
+
* 传入一个时间, 判断改时间是否在schedule 内
|
|
30
|
+
* @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
isInScheduleByDate({ date, schedule, }: {
|
|
34
|
+
date: string;
|
|
35
|
+
schedule: any;
|
|
36
|
+
}): boolean;
|
|
28
37
|
/**
|
|
29
38
|
* 传入一个时间, 判断改时间是否在schedule 内
|
|
30
39
|
* @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
|
|
@@ -160,6 +160,17 @@ var ScheduleModule = class extends import_BaseModule.BaseModule {
|
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* 传入一个时间, 判断改时间是否在schedule 内
|
|
165
|
+
* @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
isInScheduleByDate({
|
|
169
|
+
date,
|
|
170
|
+
schedule
|
|
171
|
+
}) {
|
|
172
|
+
return (0, import_getDateIsInSchedule.getDateIsInSchedule)(date, [schedule]);
|
|
173
|
+
}
|
|
163
174
|
/**
|
|
164
175
|
* 传入一个时间, 判断改时间是否在schedule 内
|
|
165
176
|
* @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
|
package/lib/plugins/request.d.ts
CHANGED
package/lib/server/index.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ import { ProductsModule } from './modules/products';
|
|
|
2
2
|
import { MenuModule } from './modules/menu';
|
|
3
3
|
import { QuotationModule } from './modules/quotation';
|
|
4
4
|
import { ScheduleModuleEx } from './modules/schedule';
|
|
5
|
+
import { ResourceModule } from './modules/resource';
|
|
5
6
|
import { PisellCore, ServerModuleConfig, InitializeServerOptions } from '../types';
|
|
6
7
|
import type { RouteHandler, HttpMethod, RouteDefinition, Router, ModuleRegistryConfig, RequestSetting } from './types';
|
|
8
|
+
import { OrderModule } from './modules/order';
|
|
7
9
|
export type { RouteHandler, HttpMethod, RouteDefinition, Router, ModuleRegistryConfig, };
|
|
8
10
|
/**
|
|
9
11
|
* Server 类
|
|
@@ -11,11 +13,18 @@ export type { RouteHandler, HttpMethod, RouteDefinition, Router, ModuleRegistryC
|
|
|
11
13
|
*/
|
|
12
14
|
declare class Server {
|
|
13
15
|
private core;
|
|
16
|
+
private app;
|
|
17
|
+
private logger;
|
|
14
18
|
products?: ProductsModule;
|
|
15
19
|
menu?: MenuModule;
|
|
16
20
|
quotation?: QuotationModule;
|
|
17
21
|
schedule?: ScheduleModuleEx;
|
|
22
|
+
resource?: ResourceModule;
|
|
23
|
+
order?: OrderModule;
|
|
18
24
|
router: Router;
|
|
25
|
+
private productQuerySubscribers;
|
|
26
|
+
private orderQuerySubscribers;
|
|
27
|
+
private bookingQuerySubscribers;
|
|
19
28
|
private moduleRegistry;
|
|
20
29
|
constructor(core: PisellCore);
|
|
21
30
|
/**
|
|
@@ -83,6 +92,12 @@ declare class Server {
|
|
|
83
92
|
* 获取所有已注册的模块列表
|
|
84
93
|
*/
|
|
85
94
|
getRegisteredModules(): string[];
|
|
95
|
+
/**
|
|
96
|
+
* 后台静默刷新商品数据
|
|
97
|
+
* 重新拉取全量 SSE 接口,更新本地数据后触发 onProductsSyncCompleted
|
|
98
|
+
* 不影响当前界面展示,适用于切回前台、定时刷新等场景
|
|
99
|
+
*/
|
|
100
|
+
refreshProductsInBackground(): Promise<void>;
|
|
86
101
|
/**
|
|
87
102
|
* 清空所有server模块的IndexedDB缓存
|
|
88
103
|
* @returns Promise<void>
|
|
@@ -130,10 +145,82 @@ declare class Server {
|
|
|
130
145
|
*/
|
|
131
146
|
private registerServerRoutes;
|
|
132
147
|
/**
|
|
133
|
-
*
|
|
134
|
-
|
|
148
|
+
* 根据 subscriberId 移除商品查询订阅者
|
|
149
|
+
*/
|
|
150
|
+
removeProductQuerySubscriber(subscriberId?: string): void;
|
|
151
|
+
/**
|
|
152
|
+
* 处理商品查询请求
|
|
153
|
+
* 存储订阅者信息,便于数据变更时推送最新结果
|
|
135
154
|
*/
|
|
136
155
|
private handleProductQuery;
|
|
156
|
+
/**
|
|
157
|
+
* 取消商品查询订阅(HTTP 路由入口)
|
|
158
|
+
*/
|
|
159
|
+
private handleUnsubscribeProductQuery;
|
|
160
|
+
/**
|
|
161
|
+
* 处理订单列表查询
|
|
162
|
+
* 存储订阅者信息,本地计算结果;数据变更时通过 callback 推送
|
|
163
|
+
*/
|
|
164
|
+
private handleOrderList;
|
|
165
|
+
/**
|
|
166
|
+
* 取消订单列表查询订阅(HTTP 路由入口)
|
|
167
|
+
*/
|
|
168
|
+
private handleUnsubscribeOrderQuery;
|
|
169
|
+
/**
|
|
170
|
+
* 判断预约查询的 sales_time_between 起始日期是否为今天
|
|
171
|
+
*/
|
|
172
|
+
private isBookingQueryForToday;
|
|
173
|
+
/**
|
|
174
|
+
* 非今天的预约查询:通过真实 API 获取数据,再做 flattenOrdersToBookings 拆分
|
|
175
|
+
*/
|
|
176
|
+
private fetchBookingListFromAPI;
|
|
177
|
+
/**
|
|
178
|
+
* 处理预约列表查询
|
|
179
|
+
* 今天:注册订阅者 + 本地数据筛选;非今天:清理订阅者 + 走真实 API
|
|
180
|
+
*/
|
|
181
|
+
private handleBookingList;
|
|
182
|
+
/**
|
|
183
|
+
* 处理资源列表查询
|
|
184
|
+
* 转发到资源模块去
|
|
185
|
+
*/
|
|
186
|
+
private handleResourceList;
|
|
187
|
+
/**
|
|
188
|
+
* 取消预约列表查询订阅(HTTP 路由入口)
|
|
189
|
+
*/
|
|
190
|
+
private handleUnsubscribeBookingQuery;
|
|
191
|
+
/**
|
|
192
|
+
* 订单列表本地计算(编排 Order 模块)
|
|
193
|
+
* filter 逻辑暂为 mock,仅记录参数
|
|
194
|
+
*/
|
|
195
|
+
private computeOrderQueryResult;
|
|
196
|
+
/**
|
|
197
|
+
* 预约列表本地计算(编排 Order 模块)
|
|
198
|
+
* 从订单中展开 bookings,再按条件筛选 + 分页
|
|
199
|
+
*/
|
|
200
|
+
private computeBookingQueryResult;
|
|
201
|
+
/**
|
|
202
|
+
* 商品查询的核心计算逻辑(编排 Products、Menu、Schedule 模块)
|
|
203
|
+
* 供 handleProductQuery 首次返回及 pubsub 变更推送复用
|
|
204
|
+
* @param context 查询上下文
|
|
205
|
+
* @param options 可选参数
|
|
206
|
+
* @param options.changedIds 变更的商品 IDs,用于增量更新价格缓存
|
|
207
|
+
*/
|
|
208
|
+
private computeProductQueryResult;
|
|
209
|
+
/**
|
|
210
|
+
* 数据变更后,遍历所有订阅者重新计算查询结果并通过 callback 推送
|
|
211
|
+
* 由 ProductsModule 的 onProductsSyncCompleted 事件触发
|
|
212
|
+
* @param options 可选参数
|
|
213
|
+
* @param options.changedIds 变更的商品 IDs,用于增量更新价格缓存
|
|
214
|
+
*/
|
|
215
|
+
private recomputeAndNotifyProductQuery;
|
|
216
|
+
/**
|
|
217
|
+
* 订单数据变更后,遍历订阅者重新计算并通过 callback 推送
|
|
218
|
+
*/
|
|
219
|
+
private recomputeAndNotifyOrderQuery;
|
|
220
|
+
/**
|
|
221
|
+
* 预约数据变更后,遍历订阅者重新计算并通过 callback 推送
|
|
222
|
+
*/
|
|
223
|
+
private recomputeAndNotifyBookingQuery;
|
|
137
224
|
/**
|
|
138
225
|
* 根据餐牌配置过滤商品
|
|
139
226
|
* @param products 所有商品列表
|
|
@@ -142,6 +229,24 @@ declare class Server {
|
|
|
142
229
|
* @private
|
|
143
230
|
*/
|
|
144
231
|
private filterProductsByMenuConfig;
|
|
232
|
+
/**
|
|
233
|
+
* 记录信息日志
|
|
234
|
+
* @param title 日志标题
|
|
235
|
+
* @param metadata 日志元数据
|
|
236
|
+
*/
|
|
237
|
+
private logInfo;
|
|
238
|
+
/**
|
|
239
|
+
* 记录警告日志
|
|
240
|
+
* @param title 日志标题
|
|
241
|
+
* @param metadata 日志元数据
|
|
242
|
+
*/
|
|
243
|
+
private logWarning;
|
|
244
|
+
/**
|
|
245
|
+
* 记录错误日志
|
|
246
|
+
* @param title 日志标题
|
|
247
|
+
* @param metadata 日志元数据
|
|
248
|
+
*/
|
|
249
|
+
private logError;
|
|
145
250
|
/**
|
|
146
251
|
* 处理获取日程时间段点的请求
|
|
147
252
|
* 通过餐牌ID列表获取所有相关日程的时间段点
|