@pisell/pisellos 2.2.257 → 2.2.259

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 (59) hide show
  1. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +17 -13
  2. package/dist/modules/Order/index.d.ts +32 -1
  3. package/dist/modules/Order/index.js +615 -288
  4. package/dist/modules/Order/types.d.ts +20 -2
  5. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  6. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  7. package/dist/modules/Order/utils.d.ts +4 -0
  8. package/dist/modules/Order/utils.js +114 -28
  9. package/dist/modules/Rules/index.d.ts +3 -3
  10. package/dist/modules/Rules/index.js +8 -3
  11. package/dist/modules/Rules/types.d.ts +2 -1
  12. package/dist/modules/SalesSummary/index.d.ts +7 -3
  13. package/dist/modules/SalesSummary/index.js +67 -39
  14. package/dist/modules/SalesSummary/types.d.ts +1 -0
  15. package/dist/modules/SalesSummary/utils.js +2 -1
  16. package/dist/modules/SurchargeList/index.d.ts +6 -4
  17. package/dist/modules/SurchargeList/index.js +62 -39
  18. package/dist/modules/SurchargeList/types.d.ts +6 -2
  19. package/dist/server/index.d.ts +3 -0
  20. package/dist/server/index.js +1136 -855
  21. package/dist/server/modules/order/index.d.ts +22 -3
  22. package/dist/server/modules/order/index.js +398 -316
  23. package/dist/solution/BaseSales/index.d.ts +22 -2
  24. package/dist/solution/BaseSales/index.js +995 -701
  25. package/dist/solution/BaseSales/types.d.ts +1 -0
  26. package/dist/solution/BaseSales/types.js +2 -1
  27. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +2 -1
  28. package/dist/solution/BookingTicket/index.d.ts +8 -0
  29. package/dist/solution/BookingTicket/index.js +153 -6
  30. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +11 -1
  31. package/lib/modules/Order/index.d.ts +32 -1
  32. package/lib/modules/Order/index.js +402 -64
  33. package/lib/modules/Order/types.d.ts +20 -2
  34. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  35. package/lib/modules/Order/utils/bundleDiscountHydration.js +139 -0
  36. package/lib/modules/Order/utils.d.ts +4 -0
  37. package/lib/modules/Order/utils.js +84 -2
  38. package/lib/modules/Rules/index.d.ts +3 -3
  39. package/lib/modules/Rules/index.js +4 -3
  40. package/lib/modules/Rules/types.d.ts +2 -1
  41. package/lib/modules/SalesSummary/index.d.ts +7 -3
  42. package/lib/modules/SalesSummary/index.js +28 -11
  43. package/lib/modules/SalesSummary/types.d.ts +1 -0
  44. package/lib/modules/SalesSummary/utils.js +2 -0
  45. package/lib/modules/SurchargeList/index.d.ts +6 -4
  46. package/lib/modules/SurchargeList/index.js +41 -21
  47. package/lib/modules/SurchargeList/types.d.ts +6 -2
  48. package/lib/server/index.d.ts +3 -0
  49. package/lib/server/index.js +215 -9
  50. package/lib/server/modules/order/index.d.ts +22 -3
  51. package/lib/server/modules/order/index.js +103 -53
  52. package/lib/solution/BaseSales/index.d.ts +22 -2
  53. package/lib/solution/BaseSales/index.js +246 -60
  54. package/lib/solution/BaseSales/types.d.ts +1 -0
  55. package/lib/solution/BaseSales/types.js +2 -1
  56. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +2 -1
  57. package/lib/solution/BookingTicket/index.d.ts +8 -0
  58. package/lib/solution/BookingTicket/index.js +101 -0
  59. package/package.json +1 -1
@@ -52,6 +52,7 @@ var import_buildNormalProductCacheItemFromOrderLine = require("../../modules/Boo
52
52
  var import_orderLineDisplay = require("../../modules/BookingContext/utils/orderLineDisplay");
53
53
  var import_bookingStatus = require("./utils/bookingStatus");
54
54
  var import_resolveBestAddTimePlan = require("./utils/resolveBestAddTimePlan");
55
+ var import_utils = require("../../modules/Order/utils");
55
56
  __reExport(BookingTicket_exports, require("./types"), module.exports);
56
57
  var OPEN_DATA_SECTION_CODES = ["sale", "reservation", "fulfillment", "menu", "workflow"];
57
58
  var OPEN_DATA_CACHE_TTL = 5 * 60 * 1e3;
@@ -1505,6 +1506,106 @@ var BookingTicketImpl = class extends import_BaseSales.BaseSalesImpl {
1505
1506
  await this.configureIdGeneratorFromOpenData();
1506
1507
  }
1507
1508
  }
1509
+ getDeviceTaskPlugin() {
1510
+ var _a;
1511
+ const app = this.core.getPlugin("app");
1512
+ return ((_a = app == null ? void 0 : app.getApp()) == null ? void 0 : _a.getPlugin("deviceTask")) || null;
1513
+ }
1514
+ // 打印手环,单个或批量都可以
1515
+ async handlePrintWristband(params) {
1516
+ var _a;
1517
+ const deviceTask = this.getDeviceTaskPlugin();
1518
+ if (!(deviceTask == null ? void 0 : deviceTask.dispatch)) {
1519
+ this.logger.addLog({
1520
+ type: "info",
1521
+ title: "[BookingTicket] handlePrintWristband: deviceTask.dispatch 不可用",
1522
+ metadata: {
1523
+ voucher_ids: Array.isArray(params.voucher_ids) ? params.voucher_ids : [params.voucher_ids]
1524
+ }
1525
+ });
1526
+ return;
1527
+ }
1528
+ this.logger.addLog({
1529
+ type: "info",
1530
+ title: "[BookingTicket] handlePrintWristband",
1531
+ metadata: {
1532
+ voucher_ids: Array.isArray(params.voucher_ids) ? params.voucher_ids : [params.voucher_ids]
1533
+ }
1534
+ });
1535
+ const deviceId = await this.getShortNumberOrDeviceId();
1536
+ const idempotencyKey = (0, import_utils.createUuidV4)();
1537
+ deviceTask.dispatch({
1538
+ action: "print_all",
1539
+ device_id: deviceId,
1540
+ payload: {
1541
+ type: "WRISTBAND",
1542
+ data: {
1543
+ order_id: (_a = this.getOrderIdentity()) == null ? void 0 : _a.orderId,
1544
+ voucher_ids: Array.isArray(params.voucher_ids) ? params.voucher_ids : [params.voucher_ids]
1545
+ }
1546
+ },
1547
+ idempotency_key: idempotencyKey,
1548
+ name: "PRINT_WRISTBAND",
1549
+ source: "bookingTicket",
1550
+ source_type: "handlePrintWristband",
1551
+ source_id: idempotencyKey
1552
+ });
1553
+ }
1554
+ // 触发核销
1555
+ async handleRedeem(params) {
1556
+ var _a, _b, _c;
1557
+ const voucherIds = Array.isArray(params.voucher_ids) ? params.voucher_ids : [];
1558
+ const status = params.is_checkin ? "used" : "unused";
1559
+ this.logger.addLog({
1560
+ type: "info",
1561
+ title: "[BookingTicket] handleRedeem",
1562
+ metadata: {
1563
+ voucher_ids: voucherIds,
1564
+ status
1565
+ }
1566
+ });
1567
+ const voucherIdSet = new Set(voucherIds);
1568
+ const tempOrder = (_b = (_a = this.store.order) == null ? void 0 : _a.getTempOrder) == null ? void 0 : _b.call(_a);
1569
+ const vouchers = (tempOrder == null ? void 0 : tempOrder.vouchers) || ((_c = this.store.order) == null ? void 0 : _c.getVouchers()) || [];
1570
+ let hasUpdatedVoucher = false;
1571
+ const nextVouchers = vouchers.map((voucher) => {
1572
+ if (!voucherIdSet.has(voucher.voucher_id))
1573
+ return voucher;
1574
+ hasUpdatedVoucher = true;
1575
+ return {
1576
+ ...voucher,
1577
+ status
1578
+ };
1579
+ });
1580
+ if (tempOrder && hasUpdatedVoucher) {
1581
+ await this.replaceTempOrder({
1582
+ ...tempOrder,
1583
+ vouchers: nextVouchers
1584
+ });
1585
+ }
1586
+ this.core.effects.emit(`${this.name}:onVouchersChange`, {});
1587
+ if (voucherIds.length === 0) {
1588
+ return {
1589
+ code: 200,
1590
+ status: true,
1591
+ message: "",
1592
+ data: []
1593
+ };
1594
+ }
1595
+ const identity = this.getOrderIdentity();
1596
+ const externalSaleNumber = (tempOrder == null ? void 0 : tempOrder.external_sale_number) || (identity == null ? void 0 : identity.externalSaleNumber) || void 0;
1597
+ const orderId = (tempOrder == null ? void 0 : tempOrder.order_id) ?? (identity == null ? void 0 : identity.orderId) ?? void 0;
1598
+ const orderLookup = externalSaleNumber || orderId || (identity == null ? void 0 : identity.orderNumber) || (identity == null ? void 0 : identity.shopOrderNumber) || (identity == null ? void 0 : identity.shopFullOrderNumber) || void 0;
1599
+ return this.request.post("/machinecode/batch", {
1600
+ ids: voucherIds,
1601
+ status,
1602
+ order_lookup: orderLookup,
1603
+ order_id: orderId,
1604
+ external_sale_number: externalSaleNumber
1605
+ }, {
1606
+ osServer: true
1607
+ });
1608
+ }
1508
1609
  /**
1509
1610
  * 销毁模块:先调用父类(销毁所有 store 内子模块 + emit destroy + super.destroy()),
1510
1611
  * 再清理 BookingTicket 自有资源(scan 监听 + scan 内存缓存)。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "2.2.257",
4
+ "version": "2.2.259",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",