@pisell/pisellos 0.0.278 → 0.0.280
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/Date/index.js +4 -0
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +15 -9
- package/lib/modules/Date/index.js +3 -0
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +12 -8
- package/package.json +1 -1
|
@@ -267,6 +267,10 @@ export var DateModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
267
267
|
if (!resource.times || !Array.isArray(resource.times) || !resource.start_time) {
|
|
268
268
|
return resource;
|
|
269
269
|
}
|
|
270
|
+
// 如果resource.advanced 为 null 或者 resource.advanced.unit 为 0,则不进行修正
|
|
271
|
+
if (!resource.advanced || resource.advanced.unit === 0) {
|
|
272
|
+
return resource;
|
|
273
|
+
}
|
|
270
274
|
var resourceStartTime = dayjs(resource.start_time);
|
|
271
275
|
|
|
272
276
|
// 过滤和修正时间段
|
|
@@ -326,7 +326,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
326
326
|
};
|
|
327
327
|
setOtherData(key: string, value: any): void;
|
|
328
328
|
getOtherData(key: string): any;
|
|
329
|
-
getProductTypeById(id: number): Promise<"
|
|
329
|
+
getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
|
|
330
330
|
/**
|
|
331
331
|
* 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
|
|
332
332
|
*
|
|
@@ -2783,6 +2783,9 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2783
2783
|
var hasCapacityIssue = false;
|
|
2784
2784
|
var resourceCapacityInfo = [];
|
|
2785
2785
|
|
|
2786
|
+
// 用于跟踪已处理的商品,避免重复添加
|
|
2787
|
+
var processedCartItemIds = new Set();
|
|
2788
|
+
|
|
2786
2789
|
// 先检查所有资源类型,收集可用数量信息
|
|
2787
2790
|
var _loop3 = function _loop3() {
|
|
2788
2791
|
var _resourceTypeConfig;
|
|
@@ -2912,17 +2915,21 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2912
2915
|
};
|
|
2913
2916
|
}
|
|
2914
2917
|
|
|
2915
|
-
//
|
|
2918
|
+
// 使用第一个公共可用时间段,但只处理未处理过的商品
|
|
2916
2919
|
var firstCommonSlot = commonTimeSlots[0];
|
|
2917
2920
|
console.log("\u4F7F\u7528\u516C\u5171\u65F6\u95F4\u6BB5: ".concat(firstCommonSlot.startTime, " - ").concat(firstCommonSlot.endTime));
|
|
2918
2921
|
items.forEach(function (cartItem) {
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2922
|
+
// 只处理未处理过的商品,避免重复添加
|
|
2923
|
+
if (!processedCartItemIds.has(cartItem._id)) {
|
|
2924
|
+
processedCartItemIds.add(cartItem._id);
|
|
2925
|
+
var processedItem = _objectSpread(_objectSpread({}, cartItem), {}, {
|
|
2926
|
+
start_date: dateRange[0].date,
|
|
2927
|
+
start_time: firstCommonSlot.startTime,
|
|
2928
|
+
end_time: firstCommonSlot.endTime,
|
|
2929
|
+
end_date: dateRange[0].date
|
|
2930
|
+
});
|
|
2931
|
+
processedItemsWithoutTime.push(processedItem);
|
|
2932
|
+
}
|
|
2926
2933
|
});
|
|
2927
2934
|
},
|
|
2928
2935
|
_ret3;
|
|
@@ -2970,7 +2977,6 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
2970
2977
|
}
|
|
2971
2978
|
cartItemsByTimeSlot[timeSlotKey].push(cartItem);
|
|
2972
2979
|
});
|
|
2973
|
-
|
|
2974
2980
|
// 检查每个时间段是否有足够的资源容量
|
|
2975
2981
|
var _loop4 = function _loop4() {
|
|
2976
2982
|
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
|
|
@@ -178,6 +178,9 @@ var DateModule = class extends import_BaseModule.BaseModule {
|
|
|
178
178
|
if (!resource.times || !Array.isArray(resource.times) || !resource.start_time) {
|
|
179
179
|
return resource;
|
|
180
180
|
}
|
|
181
|
+
if (!resource.advanced || resource.advanced.unit === 0) {
|
|
182
|
+
return resource;
|
|
183
|
+
}
|
|
181
184
|
const resourceStartTime = (0, import_dayjs.default)(resource.start_time);
|
|
182
185
|
const correctedTimes = resource.times.map((timeSlot) => {
|
|
183
186
|
if (!timeSlot.start_at || !timeSlot.end_at) {
|
|
@@ -326,7 +326,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
326
326
|
};
|
|
327
327
|
setOtherData(key: string, value: any): void;
|
|
328
328
|
getOtherData(key: string): any;
|
|
329
|
-
getProductTypeById(id: number): Promise<"
|
|
329
|
+
getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
|
|
330
330
|
/**
|
|
331
331
|
* 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
|
|
332
332
|
*
|
|
@@ -1950,6 +1950,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
1950
1950
|
});
|
|
1951
1951
|
let hasCapacityIssue = false;
|
|
1952
1952
|
const resourceCapacityInfo = [];
|
|
1953
|
+
const processedCartItemIds = /* @__PURE__ */ new Set();
|
|
1953
1954
|
for (const [resourceCode, items] of Object.entries(itemsByResourceType)) {
|
|
1954
1955
|
const targetFormId = resourceCodeToFormIdMap[resourceCode];
|
|
1955
1956
|
if (!targetFormId) {
|
|
@@ -2028,14 +2029,17 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
2028
2029
|
const firstCommonSlot = commonTimeSlots[0];
|
|
2029
2030
|
console.log(`使用公共时间段: ${firstCommonSlot.startTime} - ${firstCommonSlot.endTime}`);
|
|
2030
2031
|
items.forEach((cartItem) => {
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2032
|
+
if (!processedCartItemIds.has(cartItem._id)) {
|
|
2033
|
+
processedCartItemIds.add(cartItem._id);
|
|
2034
|
+
const processedItem = {
|
|
2035
|
+
...cartItem,
|
|
2036
|
+
start_date: dateRange[0].date,
|
|
2037
|
+
start_time: firstCommonSlot.startTime,
|
|
2038
|
+
end_time: firstCommonSlot.endTime,
|
|
2039
|
+
end_date: dateRange[0].date
|
|
2040
|
+
};
|
|
2041
|
+
processedItemsWithoutTime.push(processedItem);
|
|
2042
|
+
}
|
|
2039
2043
|
});
|
|
2040
2044
|
}
|
|
2041
2045
|
if (hasCapacityIssue) {
|