@pisell/pisellos 2.2.294 → 2.2.296

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 (72) hide show
  1. package/dist/model/strategy/adapter/itemRule/adapter.d.ts +1 -4
  2. package/dist/model/strategy/adapter/itemRule/adapter.js +35 -135
  3. package/dist/model/strategy/adapter/itemRule/evaluator.d.ts +1 -8
  4. package/dist/model/strategy/adapter/itemRule/evaluator.js +1 -25
  5. package/dist/model/strategy/adapter/itemRule/type.d.ts +0 -44
  6. package/dist/model/strategy/adapter/itemRule/type.js +1 -19
  7. package/dist/modules/Order/index.d.ts +3 -18
  8. package/dist/modules/Order/index.js +485 -885
  9. package/dist/modules/Order/types.d.ts +5 -91
  10. package/dist/modules/Order/types.js +0 -5
  11. package/dist/modules/Order/utils.js +10 -22
  12. package/dist/modules/ProductList/index.d.ts +1 -2
  13. package/dist/modules/ProductList/index.js +20 -100
  14. package/dist/modules/ProductList/types.d.ts +0 -10
  15. package/dist/server/index.d.ts +0 -6
  16. package/dist/server/index.js +3 -43
  17. package/dist/server/utils/small-ticket.js +49 -1
  18. package/dist/solution/BaseSales/index.d.ts +1 -9
  19. package/dist/solution/BaseSales/index.js +706 -894
  20. package/dist/solution/BookingByStep/index.d.ts +2 -2
  21. package/dist/solution/BookingTicket/utils/orderCustomer.js +2 -3
  22. package/dist/solution/RegisterAndLogin/config.d.ts +3 -9
  23. package/dist/solution/RegisterAndLogin/config.js +40 -95
  24. package/dist/solution/RegisterAndLogin/index.js +1 -4
  25. package/dist/solution/ScanOrder/index.d.ts +0 -1
  26. package/dist/solution/ScanOrder/index.js +27 -31
  27. package/dist/solution/ScanOrder/utils.d.ts +0 -1
  28. package/dist/solution/ScanOrder/utils.js +0 -2
  29. package/dist/solution/UnifiedBookingSales/index.d.ts +2 -15
  30. package/dist/solution/UnifiedBookingSales/index.js +484 -752
  31. package/dist/solution/UnifiedBookingSales/types.d.ts +1 -14
  32. package/dist/solution/VenueBooking/index.d.ts +0 -1
  33. package/dist/solution/VenueBooking/index.js +4 -8
  34. package/lib/model/strategy/adapter/itemRule/adapter.d.ts +1 -4
  35. package/lib/model/strategy/adapter/itemRule/adapter.js +4 -73
  36. package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +1 -8
  37. package/lib/model/strategy/adapter/itemRule/evaluator.js +1 -23
  38. package/lib/model/strategy/adapter/itemRule/type.d.ts +0 -44
  39. package/lib/model/strategy/adapter/itemRule/type.js +1 -19
  40. package/lib/model/strategy/adapter/promotion/index.js +1 -46
  41. package/lib/modules/Order/index.d.ts +3 -18
  42. package/lib/modules/Order/index.js +28 -325
  43. package/lib/modules/Order/types.d.ts +5 -91
  44. package/lib/modules/Order/types.js +0 -4
  45. package/lib/modules/Order/utils.js +1 -13
  46. package/lib/modules/ProductList/index.d.ts +1 -2
  47. package/lib/modules/ProductList/index.js +2 -47
  48. package/lib/modules/ProductList/types.d.ts +0 -10
  49. package/lib/server/index.d.ts +0 -6
  50. package/lib/server/index.js +3 -37
  51. package/lib/server/utils/small-ticket.js +50 -1
  52. package/lib/solution/BaseSales/index.d.ts +1 -9
  53. package/lib/solution/BaseSales/index.js +1 -105
  54. package/lib/solution/BookingByStep/index.d.ts +2 -2
  55. package/lib/solution/BookingTicket/utils/orderCustomer.js +1 -2
  56. package/lib/solution/RegisterAndLogin/config.d.ts +3 -9
  57. package/lib/solution/RegisterAndLogin/config.js +8 -49
  58. package/lib/solution/RegisterAndLogin/index.js +1 -4
  59. package/lib/solution/ScanOrder/index.d.ts +0 -1
  60. package/lib/solution/ScanOrder/index.js +1 -5
  61. package/lib/solution/ScanOrder/utils.d.ts +0 -1
  62. package/lib/solution/ScanOrder/utils.js +0 -1
  63. package/lib/solution/UnifiedBookingSales/index.d.ts +2 -15
  64. package/lib/solution/UnifiedBookingSales/index.js +1 -125
  65. package/lib/solution/UnifiedBookingSales/types.d.ts +1 -14
  66. package/lib/solution/VenueBooking/index.d.ts +0 -1
  67. package/lib/solution/VenueBooking/index.js +1 -5
  68. package/package.json +1 -1
  69. package/dist/modules/Order/salesNotes.d.ts +0 -31
  70. package/dist/modules/Order/salesNotes.js +0 -492
  71. package/lib/modules/Order/salesNotes.d.ts +0 -31
  72. package/lib/modules/Order/salesNotes.js +0 -382
@@ -30,6 +30,8 @@ var LABELS = {
30
30
  pickUpTime: 'Pick-up time',
31
31
  asap: 'ASAP',
32
32
  cash: 'Cash',
33
+ cashReceived: 'Cash received',
34
+ changeDue: 'Change due',
33
35
  eftpos: 'Eftpos',
34
36
  wallet: 'Wallet',
35
37
  giftCard: 'Gift card',
@@ -57,6 +59,8 @@ var LABELS = {
57
59
  pickUpTime: '取餐时间',
58
60
  asap: '尽快',
59
61
  cash: '现金支付',
62
+ cashReceived: '收取现金',
63
+ changeDue: '找零',
60
64
  eftpos: '刷卡支付',
61
65
  wallet: '钱包支付',
62
66
  giftCard: '礼品卡',
@@ -84,6 +88,8 @@ var LABELS = {
84
88
  pickUpTime: '取餐時間',
85
89
  asap: '盡快',
86
90
  cash: '現金支付',
91
+ cashReceived: '收取現金',
92
+ changeDue: '找零',
87
93
  eftpos: '刷卡支付',
88
94
  wallet: '錢包支付',
89
95
  giftCard: '禮品卡',
@@ -98,6 +104,14 @@ var LABELS = {
98
104
  rounding: '抹零',
99
105
  gross: '重量',
100
106
  tare: '去皮'
107
+ },
108
+ ja: {
109
+ cashReceived: 'お預かり',
110
+ changeDue: 'お釣り'
111
+ },
112
+ pt: {
113
+ cashReceived: 'Dinheiro recebido',
114
+ changeDue: 'Troco'
101
115
  }
102
116
  };
103
117
  export function buildSmallTicketData(params) {
@@ -174,7 +188,7 @@ function buildBaseData(params) {
174
188
  order_number: orderNumber,
175
189
  shop_tax_number: stringify(shopInfo.tax_number || order.shop_tax_number),
176
190
  shop_phone: stringify(shopInfo.phone || order.shop_phone),
177
- shop_address: stringify(shopInfo.address || buildShopAddress(shopInfo) || order.shop_address),
191
+ shop_address: stringify(shopInfo.receipt_address || shopInfo.address || buildShopAddress(shopInfo) || order.shop_address),
178
192
  original_payment_status: stringify(order.payment_status),
179
193
  is_repeat: 0,
180
194
  buzzer: stringify(order.buzzer || order.pickup_number || ((_order$metadata = order.metadata) === null || _order$metadata === void 0 ? void 0 : _order$metadata.buzzer)),
@@ -839,6 +853,11 @@ function buildPaymentItems(params) {
839
853
  item: paymentMethodName(payment, locale),
840
854
  value: formatMoney(resolveReceiptPaymentAmount(payment, serviceFee), currencySymbol)
841
855
  }];
856
+ items.push.apply(items, _toConsumableArray(buildCashChangePaymentItems({
857
+ payment: payment,
858
+ locale: locale,
859
+ currencySymbol: currencySymbol
860
+ })));
842
861
  if (serviceFee.gt(0)) {
843
862
  items.push({
844
863
  item: label(locale, 'surchargeIncluded'),
@@ -882,6 +901,35 @@ function resolveReceiptPaymentAmount(payment, serviceFee) {
882
901
  var originAmount = new Decimal(toMoneyNumber(payment.origin_amount));
883
902
  return amount.eq(originAmount) ? amount.plus(serviceFee) : amount;
884
903
  }
904
+ function buildCashChangePaymentItems(params) {
905
+ var payment = params.payment,
906
+ locale = params.locale,
907
+ currencySymbol = params.currencySymbol;
908
+ if (!shouldDisplayCashChange(payment)) return [];
909
+ return [{
910
+ item: label(locale, 'cashReceived'),
911
+ value: formatMoney(payment.metadata.actual_paid_amount, currencySymbol)
912
+ }, {
913
+ item: label(locale, 'changeDue'),
914
+ value: formatMoney(payment.metadata.change_given_amount, currencySymbol)
915
+ }];
916
+ }
917
+ function shouldDisplayCashChange(payment) {
918
+ var _payment$code, _payment$metadata2, _payment$metadata3;
919
+ if (stringify(payment.status).toLowerCase() !== 'paid') return false;
920
+ var paymentMethod = stringify((_payment$code = payment.code) !== null && _payment$code !== void 0 ? _payment$code : payment.payment_method).toUpperCase();
921
+ if (paymentMethod !== 'CASHMANUAL') return false;
922
+ var actualPaidAmount = (_payment$metadata2 = payment.metadata) === null || _payment$metadata2 === void 0 ? void 0 : _payment$metadata2.actual_paid_amount;
923
+ var changeGivenAmount = (_payment$metadata3 = payment.metadata) === null || _payment$metadata3 === void 0 ? void 0 : _payment$metadata3.change_given_amount;
924
+ if (!isNumericAmount(actualPaidAmount) || !isNumericAmount(changeGivenAmount)) return false;
925
+ return new Decimal(changeGivenAmount).toDecimalPlaces(2).gt(0);
926
+ }
927
+ function isNumericAmount(value) {
928
+ if (typeof value === 'number') return Number.isFinite(value);
929
+ if (typeof value !== 'string') return false;
930
+ var normalized = value.trim();
931
+ return normalized !== '' && /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(normalized);
932
+ }
885
933
  function buildFundRecordPaymentItems(params) {
886
934
  var payment = params.payment,
887
935
  fundRecord = params.fundRecord,
@@ -2,7 +2,7 @@ import { Module, ModuleOptions, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
3
  import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesPriceRecalculationContextChange, BaseSalesProductBookingPriceResult, BaseSalesQuotationCustomerScopeInfo, BaseSalesScanCodeResult, BaseSalesCashPaymentConfig, BaseSalesPayCashParams, BaseSalesPayCashResult, BaseSalesCommitPaymentMethodParams, BaseSalesCommitPaymentMethodResult, BaseSalesConfirmWalletPaymentResult } from './types';
4
4
  import { OrderModule } from '../../modules/Order';
5
- import type { AddProductBookingInput, AddProductToOrderOptions, LoadSalesDetailParams, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderSummary, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions, RemoveProductsFromOrderOptions, ReplaceTempOrderOptions, SalesNote, SalesNotesMutationSnapshot, SetSalesNoteInput, PickupReferenceMode, ShopServiceData, ShopServiceType } from '../../modules/Order/types';
5
+ import type { AddProductBookingInput, AddProductToOrderOptions, LoadSalesDetailParams, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderSummary, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions, RemoveProductsFromOrderOptions, ReplaceTempOrderOptions } from '../../modules/Order/types';
6
6
  import type { SubmitPayloadEnhancer } from '../../modules/Order/utils';
7
7
  import type { Discount } from '../../modules/Discount/types';
8
8
  import { RequestPlugin, WindowPlugin } from '../../plugins';
@@ -225,20 +225,12 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
225
225
  getOrderSyncState(): import("../../modules/Order/types").OrderSyncState;
226
226
  getOrderAmountSnapshot(): import("../../modules/Order/types").OrderAmountSnapshot | null;
227
227
  getTempOrderNote(): string;
228
- getSalesNotes(): SalesNote[];
229
- createSalesNotesMutationSnapshot(): SalesNotesMutationSnapshot;
230
- restoreSalesNotesMutationSnapshot(snapshot: SalesNotesMutationSnapshot): void;
231
- setSalesNote(input: SetSalesNoteInput): Promise<SalesNote>;
232
- removeSalesNote(uuid: string): Promise<void>;
233
- clearSalesNotes(): Promise<void>;
234
228
  updateTempOrderNote(note: string): string;
235
229
  updateTempOrderNote(note: string, sync: true): Promise<string>;
236
230
  updateTempOrderNote(note: string, sync: boolean): string | Promise<string>;
237
231
  updateRemoteOrderNote(orderId: number | string, note: string): void;
238
232
  updateTempOrderShopDiscount(amount: string | number): string;
239
233
  updateTempOrderDepositAmount(amount: string | number): OrderSummary;
240
- setPickupReferenceMode(mode: PickupReferenceMode): ShopServiceData;
241
- setServiceType(serviceType: ShopServiceType): ShopServiceData;
242
234
  updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
243
235
  /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
244
236
  setEnableTempOrderPersist(enabled: boolean): void;