@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.
Files changed (147) hide show
  1. package/dist/core/index.d.ts +3 -2
  2. package/dist/core/index.js +7 -0
  3. package/dist/effects/index.d.ts +2 -2
  4. package/dist/effects/index.js +34 -81
  5. package/dist/model/strategy/adapter/promotion/evaluator.js +99 -26
  6. package/dist/model/strategy/adapter/walletPass/type.d.ts +9 -2
  7. package/dist/model/strategy/adapter/walletPass/utils.d.ts +6 -6
  8. package/dist/model/strategy/adapter/walletPass/utils.js +111 -72
  9. package/dist/modules/Customer/index.js +1 -1
  10. package/dist/modules/Discount/index.d.ts +6 -2
  11. package/dist/modules/Discount/index.js +14 -8
  12. package/dist/modules/Order/index.d.ts +1 -1
  13. package/dist/modules/Order/index.js +18 -13
  14. package/dist/modules/Payment/index.d.ts +4 -0
  15. package/dist/modules/Payment/index.js +774 -649
  16. package/dist/modules/Payment/walletpass.js +44 -17
  17. package/dist/modules/Product/index.d.ts +1 -1
  18. package/dist/modules/Product/types.d.ts +2 -0
  19. package/dist/modules/ProductList/index.d.ts +3 -0
  20. package/dist/modules/ProductList/index.js +9 -7
  21. package/dist/modules/Rules/index.d.ts +2 -2
  22. package/dist/modules/Rules/index.js +37 -31
  23. package/dist/modules/Rules/types.d.ts +2 -2
  24. package/dist/modules/Schedule/index.d.ts +9 -0
  25. package/dist/modules/Schedule/index.js +15 -2
  26. package/dist/plugins/app-types/app/app.d.ts +1 -0
  27. package/dist/plugins/request.d.ts +2 -0
  28. package/dist/server/index.d.ts +107 -2
  29. package/dist/server/index.js +1507 -279
  30. package/dist/server/modules/index.d.ts +6 -0
  31. package/dist/server/modules/index.js +7 -0
  32. package/dist/server/modules/menu/index.d.ts +19 -0
  33. package/dist/server/modules/menu/index.js +221 -71
  34. package/dist/server/modules/order/index.d.ts +87 -0
  35. package/dist/server/modules/order/index.js +916 -0
  36. package/dist/server/modules/order/types.d.ts +530 -0
  37. package/dist/server/modules/order/types.js +141 -0
  38. package/dist/server/modules/order/utils/filterBookings.d.ts +6 -0
  39. package/dist/server/modules/order/utils/filterBookings.js +350 -0
  40. package/dist/server/modules/order/utils/filterOrders.d.ts +15 -0
  41. package/dist/server/modules/order/utils/filterOrders.js +226 -0
  42. package/dist/server/modules/products/index.d.ts +117 -5
  43. package/dist/server/modules/products/index.js +1450 -240
  44. package/dist/server/modules/products/types.d.ts +25 -1
  45. package/dist/server/modules/products/types.js +3 -0
  46. package/dist/server/modules/resource/index.d.ts +86 -0
  47. package/dist/server/modules/resource/index.js +1128 -0
  48. package/dist/server/modules/resource/types.d.ts +121 -0
  49. package/dist/server/modules/resource/types.js +47 -0
  50. package/dist/server/modules/schedule/index.d.ts +19 -0
  51. package/dist/server/modules/schedule/index.js +229 -68
  52. package/dist/server/utils/product.d.ts +5 -0
  53. package/dist/server/utils/product.js +71 -31
  54. package/dist/solution/BookingTicket/index.d.ts +10 -2
  55. package/dist/solution/BookingTicket/index.js +41 -28
  56. package/dist/solution/BookingTicket/utils/scan/index.js +1 -1
  57. package/dist/solution/Checkout/index.d.ts +1 -0
  58. package/dist/solution/Checkout/index.js +286 -188
  59. package/dist/solution/Checkout/utils/index.d.ts +2 -1
  60. package/dist/solution/Checkout/utils/index.js +6 -4
  61. package/dist/solution/RegisterAndLogin/config.js +340 -1
  62. package/dist/solution/Sales/index.d.ts +96 -0
  63. package/dist/solution/Sales/index.js +566 -0
  64. package/dist/solution/Sales/types.d.ts +67 -0
  65. package/dist/solution/Sales/types.js +26 -0
  66. package/dist/solution/ShopDiscount/index.d.ts +1 -0
  67. package/dist/solution/ShopDiscount/index.js +35 -22
  68. package/dist/solution/ShopDiscount/types.d.ts +6 -0
  69. package/dist/solution/ShopDiscount/utils.d.ts +9 -0
  70. package/dist/solution/ShopDiscount/utils.js +21 -27
  71. package/dist/solution/index.d.ts +2 -1
  72. package/dist/solution/index.js +2 -1
  73. package/dist/types/index.d.ts +5 -0
  74. package/lib/core/index.d.ts +3 -2
  75. package/lib/core/index.js +4 -0
  76. package/lib/effects/index.d.ts +2 -2
  77. package/lib/effects/index.js +22 -31
  78. package/lib/model/strategy/adapter/promotion/evaluator.js +57 -8
  79. package/lib/model/strategy/adapter/walletPass/type.d.ts +9 -2
  80. package/lib/model/strategy/adapter/walletPass/utils.d.ts +6 -6
  81. package/lib/model/strategy/adapter/walletPass/utils.js +115 -48
  82. package/lib/modules/Customer/index.js +1 -1
  83. package/lib/modules/Discount/index.d.ts +6 -2
  84. package/lib/modules/Discount/index.js +3 -1
  85. package/lib/modules/Order/index.d.ts +1 -1
  86. package/lib/modules/Order/index.js +20 -18
  87. package/lib/modules/Payment/index.d.ts +4 -0
  88. package/lib/modules/Payment/index.js +134 -66
  89. package/lib/modules/Payment/walletpass.js +23 -4
  90. package/lib/modules/Product/index.d.ts +1 -1
  91. package/lib/modules/Product/types.d.ts +2 -0
  92. package/lib/modules/ProductList/index.d.ts +3 -0
  93. package/lib/modules/ProductList/index.js +2 -2
  94. package/lib/modules/Rules/index.d.ts +2 -2
  95. package/lib/modules/Rules/index.js +69 -73
  96. package/lib/modules/Rules/types.d.ts +2 -2
  97. package/lib/modules/Schedule/index.d.ts +9 -0
  98. package/lib/modules/Schedule/index.js +11 -0
  99. package/lib/plugins/app-types/app/app.d.ts +1 -0
  100. package/lib/plugins/request.d.ts +2 -0
  101. package/lib/server/index.d.ts +107 -2
  102. package/lib/server/index.js +773 -51
  103. package/lib/server/modules/index.d.ts +6 -0
  104. package/lib/server/modules/index.js +16 -2
  105. package/lib/server/modules/menu/index.d.ts +19 -0
  106. package/lib/server/modules/menu/index.js +121 -2
  107. package/lib/server/modules/order/index.d.ts +87 -0
  108. package/lib/server/modules/order/index.js +543 -0
  109. package/lib/server/modules/order/types.d.ts +530 -0
  110. package/lib/server/modules/order/types.js +34 -0
  111. package/lib/server/modules/order/utils/filterBookings.d.ts +6 -0
  112. package/lib/server/modules/order/utils/filterBookings.js +320 -0
  113. package/lib/server/modules/order/utils/filterOrders.d.ts +15 -0
  114. package/lib/server/modules/order/utils/filterOrders.js +197 -0
  115. package/lib/server/modules/products/index.d.ts +117 -5
  116. package/lib/server/modules/products/index.js +799 -62
  117. package/lib/server/modules/products/types.d.ts +25 -1
  118. package/lib/server/modules/products/types.js +1 -0
  119. package/lib/server/modules/resource/index.d.ts +86 -0
  120. package/lib/server/modules/resource/index.js +557 -0
  121. package/lib/server/modules/resource/types.d.ts +121 -0
  122. package/lib/server/modules/resource/types.js +35 -0
  123. package/lib/server/modules/schedule/index.d.ts +19 -0
  124. package/lib/server/modules/schedule/index.js +141 -12
  125. package/lib/server/utils/product.d.ts +5 -0
  126. package/lib/server/utils/product.js +56 -27
  127. package/lib/solution/BookingTicket/index.d.ts +10 -2
  128. package/lib/solution/BookingTicket/index.js +10 -2
  129. package/lib/solution/BookingTicket/utils/scan/index.js +0 -1
  130. package/lib/solution/Checkout/index.d.ts +1 -0
  131. package/lib/solution/Checkout/index.js +399 -331
  132. package/lib/solution/Checkout/utils/index.d.ts +2 -1
  133. package/lib/solution/Checkout/utils/index.js +6 -4
  134. package/lib/solution/RegisterAndLogin/config.js +266 -1
  135. package/lib/solution/Sales/index.d.ts +96 -0
  136. package/lib/solution/Sales/index.js +416 -0
  137. package/lib/solution/Sales/types.d.ts +67 -0
  138. package/lib/solution/Sales/types.js +35 -0
  139. package/lib/solution/ShopDiscount/index.d.ts +1 -0
  140. package/lib/solution/ShopDiscount/index.js +14 -6
  141. package/lib/solution/ShopDiscount/types.d.ts +6 -0
  142. package/lib/solution/ShopDiscount/utils.d.ts +9 -0
  143. package/lib/solution/ShopDiscount/utils.js +6 -10
  144. package/lib/solution/index.d.ts +2 -1
  145. package/lib/solution/index.js +4 -2
  146. package/lib/types/index.d.ts +5 -0
  147. package/package.json +1 -1
@@ -77,7 +77,30 @@ export declare enum ProductsHooks {
77
77
  onProductsLoaded = "products:onProductsLoaded",
78
78
  onProductsChanged = "products:onProductsChanged",
79
79
  onProductSelected = "products:onProductSelected",
80
- onProductsPriceApplied = "products:onProductsPriceApplied"
80
+ onProductsPriceApplied = "products:onProductsPriceApplied",
81
+ /** pubsub 同步批次处理完成后触发,Server 层监听此事件重新计算并推送 */
82
+ onProductsSyncCompleted = "products:onProductsSyncCompleted"
83
+ }
84
+ /** pubsub 商品同步消息结构 */
85
+ export interface ProductSyncMessage {
86
+ shop_id?: number;
87
+ module?: string;
88
+ action?: string;
89
+ id?: number;
90
+ /** 批量操作的商品 ID 列表 */
91
+ ids?: number[];
92
+ /** 完整商品数据(普通字段修改时携带) */
93
+ body?: any;
94
+ /** 操作类型(如 "delete" 表示删除) */
95
+ operation?: string;
96
+ /** 变更字段类型(如 ["price"]、["stock"]) */
97
+ change_types?: string[];
98
+ /** 关联商品 ID(product_collection / product_category / product_quotation 变更时携带) */
99
+ relation_product_ids?: number[];
100
+ message_uuid?: string;
101
+ timestamp?: string;
102
+ /** 内部标记:来源频道 key */
103
+ _channelKey?: string;
81
104
  }
82
105
  /**
83
106
  * 商品格式化器上下文
@@ -86,6 +109,7 @@ export interface ProductFormatterContext {
86
109
  schedule_date: string;
87
110
  priceData?: LoadProductsPriceData[];
88
111
  scheduleModule?: any;
112
+ locale?: string;
89
113
  }
90
114
  /**
91
115
  * 商品格式化器类型
@@ -30,9 +30,12 @@ export var ProductsHooks = /*#__PURE__*/function (ProductsHooks) {
30
30
  ProductsHooks["onProductsChanged"] = "products:onProductsChanged";
31
31
  ProductsHooks["onProductSelected"] = "products:onProductSelected";
32
32
  ProductsHooks["onProductsPriceApplied"] = "products:onProductsPriceApplied";
33
+ ProductsHooks["onProductsSyncCompleted"] = "products:onProductsSyncCompleted";
33
34
  return ProductsHooks;
34
35
  }({});
35
36
 
37
+ /** pubsub 商品同步消息结构 */
38
+
36
39
  /**
37
40
  * 商品格式化器上下文
38
41
  */
@@ -0,0 +1,86 @@
1
+ import { Module, ModuleOptions, PisellCore } from '../../../types';
2
+ import { BaseModule } from '../../../modules/BaseModule';
3
+ import { type ResourceBooking, type ResourceData, type ResourceId, type QueryOptions } from './types';
4
+ /**
5
+ * Resource 模块
6
+ */
7
+ export declare class ResourceModule extends BaseModule implements Module {
8
+ protected defaultName: string;
9
+ protected defaultVersion: string;
10
+ private store;
11
+ private dbManager;
12
+ private logger;
13
+ private resourceDataSource;
14
+ /** 倒排索引: resourceId -> ResourceBooking[] */
15
+ private resourceIdIndex;
16
+ /** 待处理的同步消息队列 */
17
+ private pendingSyncMessages;
18
+ private syncTimer?;
19
+ constructor(name?: string, version?: string);
20
+ initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
21
+ private logInfo;
22
+ private logError;
23
+ preload(): Promise<void>;
24
+ getRoutes(): never[];
25
+ destroy(): void;
26
+ /**
27
+ * 获取所有资源(支持 includeBookings 附加预订信息)
28
+ */
29
+ getResources(queryOptions?: QueryOptions): ResourceData[];
30
+ /**
31
+ * 根据 ID 获取单个资源
32
+ */
33
+ getResourceById(id: ResourceId, queryOptions?: QueryOptions): ResourceData | undefined;
34
+ /**
35
+ * 创建资源
36
+ */
37
+ createResource(data: Partial<ResourceData>): ResourceData;
38
+ /**
39
+ * 更新资源
40
+ */
41
+ updateResource(id: ResourceId, data: Partial<ResourceData>): ResourceData | undefined;
42
+ /**
43
+ * 删除资源
44
+ */
45
+ deleteResource(id: ResourceId): boolean;
46
+ /**
47
+ * 根据资源 ID 获取预订列表
48
+ */
49
+ getBookingsByResourceId(resourceId: ResourceId): ResourceBooking[];
50
+ /**
51
+ * 创建预订
52
+ */
53
+ createBooking(booking: Partial<ResourceBooking>): ResourceBooking;
54
+ /**
55
+ * 更新预订
56
+ */
57
+ updateBooking(id: ResourceId, data: Partial<ResourceBooking>): ResourceBooking | undefined;
58
+ /**
59
+ * 删除预订
60
+ */
61
+ deleteBooking(id: ResourceId): boolean;
62
+ /**
63
+ * 清空缓存
64
+ */
65
+ clear(): Promise<void>;
66
+ private attachBookingsToResource;
67
+ private normalizeResource;
68
+ private safeEmit;
69
+ private syncResourcesMap;
70
+ private syncBookingsIndex;
71
+ private rebuildBookingsIndex;
72
+ private getIdKey;
73
+ private loadResourcesByServer;
74
+ private loadResourcesFromSQLite;
75
+ private saveResourcesToSQLite;
76
+ private initResourceDataSource;
77
+ private setupResourceSync;
78
+ private processSyncMessages;
79
+ private fetchResourcesBySSE;
80
+ private removeResourcesByIds;
81
+ private mergeResourcesToStore;
82
+ private uniqueResourceIds;
83
+ }
84
+ export declare const resourceModule: ResourceModule;
85
+ export type { ResourceData, ResourceBooking, ResourceState, ResourceId, ResourcePageQuery, ResourcePageResult, QueryOptions, ScheduleEventResource, } from './types';
86
+ export { ResourceHooks } from './types';