@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.
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +17 -13
- package/dist/modules/Order/index.d.ts +32 -1
- package/dist/modules/Order/index.js +615 -288
- package/dist/modules/Order/types.d.ts +20 -2
- package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
- package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
- package/dist/modules/Order/utils.d.ts +4 -0
- package/dist/modules/Order/utils.js +114 -28
- package/dist/modules/Rules/index.d.ts +3 -3
- package/dist/modules/Rules/index.js +8 -3
- package/dist/modules/Rules/types.d.ts +2 -1
- package/dist/modules/SalesSummary/index.d.ts +7 -3
- package/dist/modules/SalesSummary/index.js +67 -39
- package/dist/modules/SalesSummary/types.d.ts +1 -0
- package/dist/modules/SalesSummary/utils.js +2 -1
- package/dist/modules/SurchargeList/index.d.ts +6 -4
- package/dist/modules/SurchargeList/index.js +62 -39
- package/dist/modules/SurchargeList/types.d.ts +6 -2
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.js +1136 -855
- package/dist/server/modules/order/index.d.ts +22 -3
- package/dist/server/modules/order/index.js +398 -316
- package/dist/solution/BaseSales/index.d.ts +22 -2
- package/dist/solution/BaseSales/index.js +995 -701
- package/dist/solution/BaseSales/types.d.ts +1 -0
- package/dist/solution/BaseSales/types.js +2 -1
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +2 -1
- package/dist/solution/BookingTicket/index.d.ts +8 -0
- package/dist/solution/BookingTicket/index.js +153 -6
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +11 -1
- package/lib/modules/Order/index.d.ts +32 -1
- package/lib/modules/Order/index.js +402 -64
- package/lib/modules/Order/types.d.ts +20 -2
- package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
- package/lib/modules/Order/utils/bundleDiscountHydration.js +139 -0
- package/lib/modules/Order/utils.d.ts +4 -0
- package/lib/modules/Order/utils.js +84 -2
- package/lib/modules/Rules/index.d.ts +3 -3
- package/lib/modules/Rules/index.js +4 -3
- package/lib/modules/Rules/types.d.ts +2 -1
- package/lib/modules/SalesSummary/index.d.ts +7 -3
- package/lib/modules/SalesSummary/index.js +28 -11
- package/lib/modules/SalesSummary/types.d.ts +1 -0
- package/lib/modules/SalesSummary/utils.js +2 -0
- package/lib/modules/SurchargeList/index.d.ts +6 -4
- package/lib/modules/SurchargeList/index.js +41 -21
- package/lib/modules/SurchargeList/types.d.ts +6 -2
- package/lib/server/index.d.ts +3 -0
- package/lib/server/index.js +215 -9
- package/lib/server/modules/order/index.d.ts +22 -3
- package/lib/server/modules/order/index.js +103 -53
- package/lib/solution/BaseSales/index.d.ts +22 -2
- package/lib/solution/BaseSales/index.js +246 -60
- package/lib/solution/BaseSales/types.d.ts +1 -0
- package/lib/solution/BaseSales/types.js +2 -1
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +2 -1
- package/lib/solution/BookingTicket/index.d.ts +8 -0
- package/lib/solution/BookingTicket/index.js +101 -0
- 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 内存缓存)。
|