@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.
@@ -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
- return new Date(value).getTime();
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 = toTimestamp(range[0]);
43
- var end = toTimestamp(range[1]);
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
- var orderTime = order.created_at ? typeof order.created_at === 'number' ? order.created_at : new Date(String(order.created_at)).getTime() : 0;
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 = new Date(safeFilters.start_time).getTime();
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
- // end_time 为当天结束(23:59:59.999)
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, "skip" | "num">;
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
- return new Date(value).getTime();
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 = toTimestamp(range[0]);
51
- const end = toTimestamp(range[1]);
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 : new Date(String(order.created_at)).getTime() : 0;
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 = new Date(safeFilters.start_time).getTime();
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 = new Date(safeFilters.end_time).getTime() + 864e5 - 1;
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, "skip" | "num">;
139
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
140
140
  /**
141
141
  * 获取客户列表状态(包含滚动加载相关状态)
142
142
  * @returns 客户状态
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "2.2.143",
4
+ "version": "2.2.144",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",