@pisell/pisellos 2.2.143 → 2.2.144
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/server/modules/order/utils/filterBookings.js +20 -3
- package/dist/server/modules/order/utils/filterOrders.js +6 -4
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/lib/server/modules/order/utils/filterBookings.js +30 -3
- package/lib/server/modules/order/utils/filterOrders.js +14 -3
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
10
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
11
11
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
|
+
import dayjs from 'dayjs';
|
|
12
13
|
/** 预约状态:协议 appointment_status 优先,兼容历史 status */
|
|
13
14
|
function getBookingAppointmentStatus(booking) {
|
|
14
15
|
var _ref, _booking$appointment_;
|
|
@@ -22,7 +23,23 @@ function getBookingAppointmentStatus(booking) {
|
|
|
22
23
|
function toTimestamp(value) {
|
|
23
24
|
if (value === undefined || value === null || value === '') return 0;
|
|
24
25
|
if (typeof value === 'number') return value;
|
|
25
|
-
|
|
26
|
+
// 使用 dayjs 按本地时区解析,避免 new Date("YYYY-MM-DD") 被当作 UTC 0 点
|
|
27
|
+
var d = dayjs(value);
|
|
28
|
+
return d.isValid() ? d.valueOf() : 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** 日期范围端点解析:纯日期串自动对齐到当天起止边界(本地时区) */
|
|
32
|
+
var DATE_ONLY_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
33
|
+
function toRangeBoundary(value, isEnd) {
|
|
34
|
+
if (value === undefined || value === null || value === '') return 0;
|
|
35
|
+
if (typeof value === 'number') return value;
|
|
36
|
+
var str = String(value).trim();
|
|
37
|
+
var d = dayjs(str);
|
|
38
|
+
if (!d.isValid()) return 0;
|
|
39
|
+
if (DATE_ONLY_RE.test(str)) {
|
|
40
|
+
return (isEnd ? d.endOf('day') : d.startOf('day')).valueOf();
|
|
41
|
+
}
|
|
42
|
+
return d.valueOf();
|
|
26
43
|
}
|
|
27
44
|
|
|
28
45
|
/**
|
|
@@ -39,8 +56,8 @@ function bookingDateTimeString(datePart, timePart) {
|
|
|
39
56
|
}
|
|
40
57
|
function parseDateRange(range) {
|
|
41
58
|
if (!Array.isArray(range) || range.length < 2) return null;
|
|
42
|
-
var start =
|
|
43
|
-
var end =
|
|
59
|
+
var start = toRangeBoundary(range[0], false);
|
|
60
|
+
var end = toRangeBoundary(range[1], true);
|
|
44
61
|
if (!start && !end) return null;
|
|
45
62
|
return [start, end];
|
|
46
63
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
1
2
|
/**
|
|
2
3
|
* 订单过滤函数
|
|
3
4
|
* @param orders 原始订单列表
|
|
@@ -347,9 +348,11 @@ export function filterOrders(orders, filters) {
|
|
|
347
348
|
|
|
348
349
|
// start_time / end_time - 创建时间范围
|
|
349
350
|
if (safeFilters.start_time || safeFilters.end_time) {
|
|
350
|
-
|
|
351
|
+
// 统一用 dayjs 按本地时区解析,避免 new Date("YYYY-MM-DD") 被当作 UTC 0 点
|
|
352
|
+
// 与含时分的本地时间字符串比较时产生时区错位
|
|
353
|
+
var orderTime = order.created_at ? typeof order.created_at === 'number' ? order.created_at : dayjs(String(order.created_at)).valueOf() : 0;
|
|
351
354
|
if (safeFilters.start_time) {
|
|
352
|
-
var startTs =
|
|
355
|
+
var startTs = dayjs(safeFilters.start_time).startOf('day').valueOf();
|
|
353
356
|
if (orderTime < startTs) {
|
|
354
357
|
rejected.push({
|
|
355
358
|
order_id: order.order_id,
|
|
@@ -364,8 +367,7 @@ export function filterOrders(orders, filters) {
|
|
|
364
367
|
}
|
|
365
368
|
}
|
|
366
369
|
if (safeFilters.end_time) {
|
|
367
|
-
|
|
368
|
-
var endTs = new Date(safeFilters.end_time).getTime() + 86400000 - 1;
|
|
370
|
+
var endTs = dayjs(safeFilters.end_time).endOf('day').valueOf();
|
|
369
371
|
if (orderTime > endTs) {
|
|
370
372
|
rejected.push({
|
|
371
373
|
order_id: order.order_id,
|
|
@@ -136,7 +136,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
|
|
|
136
136
|
* 获取当前的客户搜索条件
|
|
137
137
|
* @returns 当前搜索条件
|
|
138
138
|
*/
|
|
139
|
-
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "
|
|
139
|
+
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
|
|
140
140
|
/**
|
|
141
141
|
* 获取客户列表状态(包含滚动加载相关状态)
|
|
142
142
|
* @returns 客户状态
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
|
|
19
29
|
// src/server/modules/order/utils/filterBookings.ts
|
|
@@ -26,6 +36,7 @@ __export(filterBookings_exports, {
|
|
|
26
36
|
sortBookings: () => sortBookings
|
|
27
37
|
});
|
|
28
38
|
module.exports = __toCommonJS(filterBookings_exports);
|
|
39
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
29
40
|
function getBookingAppointmentStatus(booking) {
|
|
30
41
|
return String(booking.appointment_status ?? booking.status ?? "");
|
|
31
42
|
}
|
|
@@ -34,7 +45,23 @@ function toTimestamp(value) {
|
|
|
34
45
|
return 0;
|
|
35
46
|
if (typeof value === "number")
|
|
36
47
|
return value;
|
|
37
|
-
|
|
48
|
+
const d = (0, import_dayjs.default)(value);
|
|
49
|
+
return d.isValid() ? d.valueOf() : 0;
|
|
50
|
+
}
|
|
51
|
+
var DATE_ONLY_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
52
|
+
function toRangeBoundary(value, isEnd) {
|
|
53
|
+
if (value === void 0 || value === null || value === "")
|
|
54
|
+
return 0;
|
|
55
|
+
if (typeof value === "number")
|
|
56
|
+
return value;
|
|
57
|
+
const str = String(value).trim();
|
|
58
|
+
const d = (0, import_dayjs.default)(str);
|
|
59
|
+
if (!d.isValid())
|
|
60
|
+
return 0;
|
|
61
|
+
if (DATE_ONLY_RE.test(str)) {
|
|
62
|
+
return (isEnd ? d.endOf("day") : d.startOf("day")).valueOf();
|
|
63
|
+
}
|
|
64
|
+
return d.valueOf();
|
|
38
65
|
}
|
|
39
66
|
function bookingDateTimeString(datePart, timePart) {
|
|
40
67
|
const d = (datePart ?? "").trim();
|
|
@@ -47,8 +74,8 @@ function bookingDateTimeString(datePart, timePart) {
|
|
|
47
74
|
function parseDateRange(range) {
|
|
48
75
|
if (!Array.isArray(range) || range.length < 2)
|
|
49
76
|
return null;
|
|
50
|
-
const start =
|
|
51
|
-
const end =
|
|
77
|
+
const start = toRangeBoundary(range[0], false);
|
|
78
|
+
const end = toRangeBoundary(range[1], true);
|
|
52
79
|
if (!start && !end)
|
|
53
80
|
return null;
|
|
54
81
|
return [start, end];
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
|
|
19
29
|
// src/server/modules/order/utils/filterOrders.ts
|
|
@@ -22,6 +32,7 @@ __export(filterOrders_exports, {
|
|
|
22
32
|
filterOrders: () => filterOrders
|
|
23
33
|
});
|
|
24
34
|
module.exports = __toCommonJS(filterOrders_exports);
|
|
35
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
25
36
|
function filterOrders(orders, filters) {
|
|
26
37
|
const safeFilters = filters || {};
|
|
27
38
|
if (!orders || !Array.isArray(orders)) {
|
|
@@ -316,9 +327,9 @@ function filterOrders(orders, filters) {
|
|
|
316
327
|
}
|
|
317
328
|
}
|
|
318
329
|
if (safeFilters.start_time || safeFilters.end_time) {
|
|
319
|
-
const orderTime = order.created_at ? typeof order.created_at === "number" ? order.created_at :
|
|
330
|
+
const orderTime = order.created_at ? typeof order.created_at === "number" ? order.created_at : (0, import_dayjs.default)(String(order.created_at)).valueOf() : 0;
|
|
320
331
|
if (safeFilters.start_time) {
|
|
321
|
-
const startTs =
|
|
332
|
+
const startTs = (0, import_dayjs.default)(safeFilters.start_time).startOf("day").valueOf();
|
|
322
333
|
if (orderTime < startTs) {
|
|
323
334
|
rejected.push({
|
|
324
335
|
order_id: order.order_id,
|
|
@@ -333,7 +344,7 @@ function filterOrders(orders, filters) {
|
|
|
333
344
|
}
|
|
334
345
|
}
|
|
335
346
|
if (safeFilters.end_time) {
|
|
336
|
-
const endTs =
|
|
347
|
+
const endTs = (0, import_dayjs.default)(safeFilters.end_time).endOf("day").valueOf();
|
|
337
348
|
if (orderTime > endTs) {
|
|
338
349
|
rejected.push({
|
|
339
350
|
order_id: order.order_id,
|
|
@@ -136,7 +136,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
|
|
|
136
136
|
* 获取当前的客户搜索条件
|
|
137
137
|
* @returns 当前搜索条件
|
|
138
138
|
*/
|
|
139
|
-
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "
|
|
139
|
+
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
|
|
140
140
|
/**
|
|
141
141
|
* 获取客户列表状态(包含滚动加载相关状态)
|
|
142
142
|
* @returns 客户状态
|