@pisell/pisellos 0.0.566 → 0.0.568

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 (230) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  3. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  4. package/dist/model/strategy/adapter/walletPass/utils.js +0 -3
  5. package/dist/model/strategy/strategy-example.js +5 -19
  6. package/dist/modules/Cart/index.js +0 -3
  7. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  8. package/dist/modules/Date/index.js +1 -5
  9. package/dist/modules/Discount/index.js +1 -4
  10. package/dist/modules/OpenData/index.js +0 -2
  11. package/dist/modules/Order/index.d.ts +1 -1
  12. package/dist/modules/Order/index.js +14 -41
  13. package/dist/modules/Payment/index.js +142 -270
  14. package/dist/modules/Payment/walletpass.js +4 -5
  15. package/dist/modules/Rules/index.js +0 -7
  16. package/dist/modules/SalesSummary/utils.js +4 -2
  17. package/dist/modules/Schedule/utils.js +0 -1
  18. package/dist/modules/Step/index.js +0 -1
  19. package/dist/modules/Summary/utils.js +2 -2
  20. package/dist/plugins/request.js +1 -4
  21. package/dist/plugins/window.js +2 -6
  22. package/dist/server/index.js +88 -121
  23. package/dist/server/modules/menu/index.js +32 -41
  24. package/dist/server/modules/products/index.js +29 -49
  25. package/dist/server/modules/quotation/index.js +29 -38
  26. package/dist/server/modules/resource/index.js +3 -4
  27. package/dist/server/modules/schedule/index.js +32 -40
  28. package/dist/server/utils/product.js +0 -1
  29. package/dist/solution/BookingByStep/index.d.ts +1 -1
  30. package/dist/solution/BookingByStep/index.js +7 -59
  31. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  32. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  33. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  34. package/dist/solution/BookingTicket/index.d.ts +1 -1
  35. package/dist/solution/BookingTicket/index.js +5 -7
  36. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  37. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  38. package/dist/solution/BuyTickets/index.js +9 -12
  39. package/dist/solution/Checkout/index.js +177 -246
  40. package/dist/solution/Checkout/utils/index.js +4 -16
  41. package/dist/solution/RegisterAndLogin/index.js +30 -76
  42. package/dist/solution/ScanOrder/index.js +50 -60
  43. package/dist/solution/ShopDiscount/index.js +2 -7
  44. package/dist/solution/VenueBooking/index.d.ts +5 -0
  45. package/dist/solution/VenueBooking/index.js +364 -327
  46. package/dist/utils/task.js +15 -18
  47. package/dist/utils/watch.js +0 -1
  48. package/lib/apis/picoding.js +2 -0
  49. package/lib/core/index.js +130 -131
  50. package/lib/effects/index.js +46 -57
  51. package/lib/index.js +92 -53
  52. package/lib/model/index.js +14 -21
  53. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  54. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  55. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  56. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  57. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  58. package/lib/model/strategy/adapter/index.js +100 -64
  59. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  60. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  61. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  62. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  63. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  64. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  65. package/lib/model/strategy/adapter/promotion/evaluator.js +381 -231
  66. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  67. package/lib/model/strategy/adapter/promotion/index.js +1 -0
  68. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  69. package/lib/model/strategy/adapter/type.js +4 -16
  70. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  71. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  72. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  73. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  74. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  75. package/lib/model/strategy/adapter/walletPass/utils.js +652 -402
  76. package/lib/model/strategy/engine.js +270 -168
  77. package/lib/model/strategy/index.js +49 -34
  78. package/lib/model/strategy/strategy-example.js +243 -239
  79. package/lib/model/strategy/type.js +100 -40
  80. package/lib/modules/Account/index.js +39 -53
  81. package/lib/modules/Account/types.js +20 -33
  82. package/lib/modules/AccountList/index.js +116 -154
  83. package/lib/modules/AccountList/types.js +30 -31
  84. package/lib/modules/AccountList/utils.js +18 -30
  85. package/lib/modules/BaseModule.js +22 -45
  86. package/lib/modules/Cart/index.js +170 -124
  87. package/lib/modules/Cart/types.js +46 -51
  88. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  89. package/lib/modules/Cart/utils/cartDate.js +56 -61
  90. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  91. package/lib/modules/Cart/utils/cartNote.js +27 -32
  92. package/lib/modules/Cart/utils/cartProduct.js +306 -241
  93. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  94. package/lib/modules/Cart/utils/cartResource.js +72 -78
  95. package/lib/modules/Cart/utils/changePrice.js +26 -62
  96. package/lib/modules/Cart/utils/index.js +106 -48
  97. package/lib/modules/Customer/constants.js +13 -34
  98. package/lib/modules/Customer/index.js +216 -153
  99. package/lib/modules/Customer/types.js +38 -35
  100. package/lib/modules/Date/index.js +116 -115
  101. package/lib/modules/Date/types.js +16 -28
  102. package/lib/modules/Date/utils.js +174 -123
  103. package/lib/modules/Discount/index.js +117 -113
  104. package/lib/modules/Discount/types.js +9 -31
  105. package/lib/modules/Guests/index.js +30 -56
  106. package/lib/modules/Guests/types.js +23 -33
  107. package/lib/modules/Holder/index.js +209 -189
  108. package/lib/modules/Holder/types.js +4 -16
  109. package/lib/modules/Holder/utils.js +20 -49
  110. package/lib/modules/OpenData/index.js +63 -74
  111. package/lib/modules/OpenData/types.js +4 -16
  112. package/lib/modules/OpenData/utils.js +44 -78
  113. package/lib/modules/Order/index.d.ts +1 -1
  114. package/lib/modules/Order/index.js +332 -320
  115. package/lib/modules/Order/types.js +24 -33
  116. package/lib/modules/Order/utils.js +350 -284
  117. package/lib/modules/Payment/cash.js +20 -33
  118. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  119. package/lib/modules/Payment/eftpos.js +16 -30
  120. package/lib/modules/Payment/index.js +566 -432
  121. package/lib/modules/Payment/mx51.js +1 -0
  122. package/lib/modules/Payment/types.js +216 -107
  123. package/lib/modules/Payment/utils.js +50 -47
  124. package/lib/modules/Payment/walletpass.js +221 -203
  125. package/lib/modules/Product/index.js +51 -46
  126. package/lib/modules/Product/types.js +4 -16
  127. package/lib/modules/Product/utils.js +32 -33
  128. package/lib/modules/ProductList/index.js +111 -110
  129. package/lib/modules/ProductList/types.js +9 -31
  130. package/lib/modules/Quotation/index.js +60 -82
  131. package/lib/modules/Quotation/types.js +4 -16
  132. package/lib/modules/Resource/index.js +27 -59
  133. package/lib/modules/Resource/types.js +22 -32
  134. package/lib/modules/Resource/utils.js +30 -38
  135. package/lib/modules/Rules/index.js +1172 -872
  136. package/lib/modules/Rules/types.js +17 -40
  137. package/lib/modules/SalesSummary/index.js +59 -68
  138. package/lib/modules/SalesSummary/types.js +4 -16
  139. package/lib/modules/SalesSummary/utils.js +178 -193
  140. package/lib/modules/ScanOrderLogger/index.js +59 -79
  141. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  142. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  143. package/lib/modules/ScanOrderLogger/types.js +4 -16
  144. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -167
  145. package/lib/modules/Schedule/index.js +97 -107
  146. package/lib/modules/Schedule/type.js +4 -16
  147. package/lib/modules/Schedule/types.js +4 -16
  148. package/lib/modules/Schedule/utils.js +433 -291
  149. package/lib/modules/Step/index.js +40 -52
  150. package/lib/modules/Step/tyeps.js +4 -16
  151. package/lib/modules/Summary/index.js +66 -70
  152. package/lib/modules/Summary/types.js +4 -16
  153. package/lib/modules/Summary/utils.js +782 -429
  154. package/lib/modules/index.js +212 -57
  155. package/lib/plugins/app.js +4 -16
  156. package/lib/plugins/index.js +36 -25
  157. package/lib/plugins/request.js +137 -126
  158. package/lib/plugins/shopStore.js +4 -16
  159. package/lib/plugins/user.js +4 -16
  160. package/lib/plugins/window.js +171 -179
  161. package/lib/server/index.js +882 -623
  162. package/lib/server/modules/index.js +85 -59
  163. package/lib/server/modules/menu/index.js +146 -122
  164. package/lib/server/modules/menu/types.js +18 -31
  165. package/lib/server/modules/order/index.js +195 -231
  166. package/lib/server/modules/order/types.js +107 -32
  167. package/lib/server/modules/order/utils/filterBookings.js +174 -140
  168. package/lib/server/modules/order/utils/filterOrders.js +89 -60
  169. package/lib/server/modules/products/index.js +430 -335
  170. package/lib/server/modules/products/types.js +41 -34
  171. package/lib/server/modules/quotation/index.js +76 -77
  172. package/lib/server/modules/quotation/types.js +21 -31
  173. package/lib/server/modules/resource/index.js +216 -187
  174. package/lib/server/modules/resource/types.js +42 -33
  175. package/lib/server/modules/schedule/index.js +134 -119
  176. package/lib/server/modules/schedule/types.js +14 -21
  177. package/lib/server/modules/schedule/utils.js +334 -163
  178. package/lib/server/types.js +4 -16
  179. package/lib/server/utils/index.js +25 -23
  180. package/lib/server/utils/product.js +196 -139
  181. package/lib/server/utils/schedule.js +34 -41
  182. package/lib/server/utils/time.js +40 -49
  183. package/lib/solution/BookingByStep/index.d.ts +1 -1
  184. package/lib/solution/BookingByStep/index.js +1530 -1343
  185. package/lib/solution/BookingByStep/types.js +40 -99
  186. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  187. package/lib/solution/BookingByStep/utils/products.js +42 -52
  188. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  189. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  190. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  191. package/lib/solution/BookingTicket/index.d.ts +1 -1
  192. package/lib/solution/BookingTicket/index.js +147 -122
  193. package/lib/solution/BookingTicket/types.js +38 -64
  194. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +64 -80
  195. package/lib/solution/BookingTicket/utils/scan/handleScan.js +82 -80
  196. package/lib/solution/BookingTicket/utils/scan/index.js +90 -94
  197. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  198. package/lib/solution/BuyTickets/index.js +67 -70
  199. package/lib/solution/BuyTickets/types.js +22 -38
  200. package/lib/solution/Checkout/index.js +1451 -1158
  201. package/lib/solution/Checkout/types.js +91 -61
  202. package/lib/solution/Checkout/utils/index.js +227 -158
  203. package/lib/solution/PlaceOrder/index.js +55 -0
  204. package/lib/solution/RegisterAndLogin/config.js +493 -460
  205. package/lib/solution/RegisterAndLogin/index.js +633 -630
  206. package/lib/solution/RegisterAndLogin/types.js +189 -76
  207. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  208. package/lib/solution/Sales/index.js +218 -200
  209. package/lib/solution/Sales/types.js +27 -33
  210. package/lib/solution/ScanOrder/index.js +803 -840
  211. package/lib/solution/ScanOrder/types.js +34 -34
  212. package/lib/solution/ScanOrder/utils.js +372 -331
  213. package/lib/solution/ShopDiscount/index.js +230 -236
  214. package/lib/solution/ShopDiscount/types.js +15 -37
  215. package/lib/solution/ShopDiscount/utils.js +309 -172
  216. package/lib/solution/VenueBooking/index.d.ts +5 -0
  217. package/lib/solution/VenueBooking/index.js +886 -929
  218. package/lib/solution/VenueBooking/types.js +20 -40
  219. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  220. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  221. package/lib/solution/VenueBooking/utils/slotMerge.js +88 -106
  222. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  223. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  224. package/lib/solution/VenueBooking/utils.js +130 -67
  225. package/lib/solution/index.js +102 -37
  226. package/lib/store/createStore.js +32 -29
  227. package/lib/types/index.js +4 -16
  228. package/lib/utils/task.js +36 -36
  229. package/lib/utils/watch.js +81 -47
  230. package/package.json +2 -1
@@ -309,7 +309,6 @@ export var WalletPassPaymentImpl = /*#__PURE__*/function () {
309
309
  vouchers: allList
310
310
  });
311
311
  recommended = res.recommended, transformList = res.transformList, noApplicableVoucher = res.noApplicableVoucher, recommendedAmount = res.recommendedAmount;
312
- console.log(res, 'resres12');
313
312
  this.walletRecommendList = recommended;
314
313
 
315
314
  // 存储初始化数据到内存中,供 useWalletPass 使用
@@ -329,19 +328,19 @@ export var WalletPassPaymentImpl = /*#__PURE__*/function () {
329
328
  noApplicableVoucher: noApplicableVoucher,
330
329
  products: products || []
331
330
  });
332
- case 20:
333
- _context3.prev = 20;
331
+ case 19:
332
+ _context3.prev = 19;
334
333
  _context3.t0 = _context3["catch"](0);
335
334
  this.paymentModule.logError('[WalletPass] 初始化钱包数据失败', _context3.t0, {
336
335
  customer_id: baseParams.customer_id,
337
336
  order_expect_amount: baseParams.order_expect_amount
338
337
  });
339
338
  throw _context3.t0;
340
- case 24:
339
+ case 23:
341
340
  case "end":
342
341
  return _context3.stop();
343
342
  }
344
- }, _callee3, this, [[0, 20]]);
343
+ }, _callee3, this, [[0, 19]]);
345
344
  }));
346
345
  function initializeWalletDataAsync(_x3) {
347
346
  return _initializeWalletDataAsync.apply(this, arguments);
@@ -784,8 +784,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
784
784
  }
785
785
  }
786
786
  });
787
- console.log('occupiedItems', occupiedItems, 'orderLevelDiscountApplicableItems', orderLevelDiscountApplicableItems);
788
-
789
787
  // 🔥 第三步:识别 order_level 折扣卡并预计算分摊(排除被其他专属折扣卡占用的商品)
790
788
  sortedDiscountList.forEach(function (discount) {
791
789
  if (!isOrderLevelFixedAmountDiscount(discount)) {
@@ -2329,7 +2327,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
2329
2327
  appliedProductDetails: []
2330
2328
  });
2331
2329
  });
2332
- console.log(processedProductList, 'processedProductList');
2333
2330
  return {
2334
2331
  productList: processedProductList,
2335
2332
  discountList: [].concat(editModeDiscount, _toConsumableArray(updatedDiscountList))
@@ -2550,8 +2547,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
2550
2547
  _context3.next = 3;
2551
2548
  return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
2552
2549
  case 3:
2553
- console.log('[Rules] 已销毁');
2554
- case 4:
2555
2550
  case "end":
2556
2551
  return _context3.stop();
2557
2552
  }
@@ -2569,8 +2564,6 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
2569
2564
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
2570
2565
  while (1) switch (_context4.prev = _context4.next) {
2571
2566
  case 0:
2572
- console.log('[Rules] clear');
2573
- case 1:
2574
2567
  case "end":
2575
2568
  return _context4.stop();
2576
2569
  }
@@ -271,7 +271,8 @@ function calculateProductsTax(products, taxRate, isPriceIncludeTax) {
271
271
 
272
272
  // --- 主商品折后税费 ---
273
273
  var mainTotal = getMainProductPaymentTotal(product);
274
- var surchargeFee = toDecimal(product.surcharge_fee);
274
+ var surchargeRoundingRemainder = toDecimal(product.surcharge_rounding_remainder);
275
+ var surchargeFee = toDecimal(product.surcharge_fee).plus(quantity.gt(0) ? surchargeRoundingRemainder.div(quantity) : 0);
275
276
  var mainTaxableBase = mainTotal.lte(0) ? surchargeFee : mainTotal.plus(surchargeFee);
276
277
  var mainTaxPrecise = calculateSingleItemTax({
277
278
  price: mainTaxableBase,
@@ -440,8 +441,9 @@ export function calculateSalesSummary(params) {
440
441
  isEdit: false
441
442
  }) || 0);
442
443
  for (var i = 0; i < products.length; i++) {
443
- var _surchargeServiceItem;
444
+ var _surchargeServiceItem, _surchargeServiceItem2;
444
445
  products[i].surcharge_fee = ((_surchargeServiceItem = surchargeServiceItems[i]) === null || _surchargeServiceItem === void 0 ? void 0 : _surchargeServiceItem.surcharge_fee) || 0;
446
+ products[i].surcharge_rounding_remainder = ((_surchargeServiceItem2 = surchargeServiceItems[i]) === null || _surchargeServiceItem2 === void 0 ? void 0 : _surchargeServiceItem2.surcharge_rounding_remainder) || 0;
445
447
  }
446
448
  var hasTaxRate = taxRate !== undefined && taxRate !== null && taxRate > 0;
447
449
  var productTaxFee;
@@ -721,7 +721,6 @@ export function getAllSortedDateRanges(schedules) {
721
721
 
722
722
  // 如果没有找到任何 dateRange,返回空数组
723
723
  if (allDateRanges.length === 0) {
724
- console.log('No dateRanges found in schedules:', schedules);
725
724
  return [];
726
725
  }
727
726
 
@@ -166,7 +166,6 @@ export var StepModule = /*#__PURE__*/function (_BaseModule) {
166
166
  return n.key === step.key;
167
167
  });
168
168
  if (index !== -1) {
169
- console.log('[StepModule] 步骤已存在,添加失败');
170
169
  return;
171
170
  }
172
171
  if (key) {
@@ -1174,7 +1174,7 @@ export var getSurcharge = function getSurcharge(_ref14, options) {
1174
1174
  var _item2$item;
1175
1175
  var originSurchargeFee = new Decimal(_item2.item.surcharge_fee || 0);
1176
1176
  // 保留两位小数
1177
- var surchargeFee = originSurchargeFee.plus(itemSurcharge).plus(fixedSurcharge).toDecimalPlaces(2, Decimal.ROUND_HALF_UP).toNumber();
1177
+ var surchargeFee = originSurchargeFee.plus(itemSurcharge).plus(fixedSurcharge).toDecimalPlaces(2, Decimal.ROUND_DOWN).toNumber();
1178
1178
  productTotalSurcharge = productTotalSurcharge.plus(new Decimal(surchargeFee).times(itemQuantity).toNumber());
1179
1179
  _item2.item.surcharge_fee = surchargeFee;
1180
1180
  _item2.item.relation_surcharge_ids = [].concat(_toConsumableArray(((_item2$item = _item2.item) === null || _item2$item === void 0 ? void 0 : _item2$item.relation_surcharge_ids) || []), [id]);
@@ -1182,7 +1182,7 @@ export var getSurcharge = function getSurcharge(_ref14, options) {
1182
1182
  var _item2$item2;
1183
1183
  var _originSurchargeFee = new Decimal(_item2.item.surcharge_fee || 0);
1184
1184
  // 保留两位小数
1185
- var _surchargeFee = _originSurchargeFee.plus(itemSurcharge).plus(fixedSurcharge).toDecimalPlaces(2, Decimal.ROUND_HALF_UP).toNumber();
1185
+ var _surchargeFee = _originSurchargeFee.plus(itemSurcharge).plus(fixedSurcharge).toDecimalPlaces(2, Decimal.ROUND_DOWN).toNumber();
1186
1186
  productTotalSurcharge = productTotalSurcharge.plus(new Decimal(_surchargeFee).times(itemQuantity).toNumber());
1187
1187
  _item2.item.surcharge_fee = _surchargeFee;
1188
1188
  _item2.item.relation_surcharge_ids = [].concat(_toConsumableArray(((_item2$item2 = _item2.item) === null || _item2$item2 === void 0 ? void 0 : _item2$item2.relation_surcharge_ids) || []), [id]);
@@ -107,15 +107,12 @@ var RequestPluginImpl = /*#__PURE__*/function () {
107
107
  // 初始化方法
108
108
  function initialize() {
109
109
  this.core = globalThis.pisellOS;
110
- console.log('[RequestPlugin] 初始化完成');
111
110
  }
112
111
 
113
112
  // 销毁方法
114
113
  }, {
115
114
  key: "destroy",
116
- value: function destroy() {
117
- console.log('[RequestPlugin] 已销毁');
118
- }
115
+ value: function destroy() {}
119
116
 
120
117
  /**
121
118
  * 添加请求拦截器
@@ -312,16 +312,12 @@ var WindowPluginImpl = /*#__PURE__*/function () {
312
312
  key: "initialize",
313
313
  value:
314
314
  // 初始化方法
315
- function initialize() {
316
- console.log('[WindowPlugin] 初始化完成');
317
- }
315
+ function initialize() {}
318
316
 
319
317
  // 销毁方法
320
318
  }, {
321
319
  key: "destroy",
322
- value: function destroy() {
323
- console.log('[WindowPlugin] 已销毁');
324
- }
320
+ value: function destroy() {}
325
321
  }]);
326
322
  return WindowPluginImpl;
327
323
  }();