@chevre/domain 24.1.0-alpha.32 → 24.1.0-alpha.33
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/lib/chevre/repo/acceptedOffer.d.ts +6 -6
- package/lib/chevre/repo/acceptedOffer.js +9 -22
- package/lib/chevre/repo/mongoose/schemas/setting.d.ts +10 -8
- package/lib/chevre/service/order/deleteOrder.js +1 -1
- package/lib/chevre/service/order/sendOrder.js +1 -1
- package/lib/chevre/service/payment/creditCard/authorize.js +4 -3
- package/lib/chevre/service/reserve/findByCode.js +1 -1
- package/lib/chevre/service/reserve/searchByOrder.js +1 -1
- package/lib/chevre/service/task/acceptCOAOffer.js +3 -2
- package/lib/chevre/service/task/confirmReserveTransaction.js +1 -1
- package/lib/chevre/service/task/payment/payByTask.js +1 -1
- package/lib/chevre/service/transaction/returnOrder/preStart.js +1 -1
- package/lib/chevre/service/validation/validateOrder.js +1 -1
- package/package.json +1 -1
|
@@ -18,8 +18,8 @@ export declare class AcceptedOfferRepo extends AcceptedOfferInReserveRepo {
|
|
|
18
18
|
/**
|
|
19
19
|
* オファー展開の注文検索
|
|
20
20
|
*/
|
|
21
|
-
searchWithUnwoundAcceptedOffers(params: factory.order.ISearchConditions, projection: IProjection4searchWithUnwoundAcceptedOffers,
|
|
22
|
-
|
|
21
|
+
searchWithUnwoundAcceptedOffers(params: factory.order.ISearchConditions, projection: IProjection4searchWithUnwoundAcceptedOffers, _options: {
|
|
22
|
+
useItemOfferedByReserve?: boolean;
|
|
23
23
|
}): Promise<(factory.order.IOrder & {
|
|
24
24
|
acceptedOffers: [IAcceptedOffer];
|
|
25
25
|
_id?: never;
|
|
@@ -67,8 +67,8 @@ export declare class AcceptedOfferRepo extends AcceptedOfferInReserveRepo {
|
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
|
-
},
|
|
71
|
-
|
|
70
|
+
}, _options: {
|
|
71
|
+
useItemOfferedByReserve?: boolean;
|
|
72
72
|
}): Promise<IAcceptedOffer[]>;
|
|
73
73
|
/**
|
|
74
74
|
* 注文オファーをsliceして検索する(2024-01-10~)
|
|
@@ -83,8 +83,8 @@ export declare class AcceptedOfferRepo extends AcceptedOfferInReserveRepo {
|
|
|
83
83
|
$eq: string;
|
|
84
84
|
};
|
|
85
85
|
};
|
|
86
|
-
},
|
|
87
|
-
|
|
86
|
+
}, _options: {
|
|
87
|
+
useItemOfferedByReserve?: boolean;
|
|
88
88
|
}): Promise<ISearchSlicedAcceptedOffersResult>;
|
|
89
89
|
countByOrderNumber(filter: {
|
|
90
90
|
orderNumber: {
|
|
@@ -19,7 +19,7 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
19
19
|
/**
|
|
20
20
|
* オファー展開の注文検索
|
|
21
21
|
*/
|
|
22
|
-
async searchWithUnwoundAcceptedOffers(params, projection,
|
|
22
|
+
async searchWithUnwoundAcceptedOffers(params, projection, _options) {
|
|
23
23
|
const conditions = order_2.OrderRepo.CREATE_MONGO_CONDITIONS(params);
|
|
24
24
|
const aggregate = this.orderModel.aggregate();
|
|
25
25
|
// unwind->matchでは遅い
|
|
@@ -53,8 +53,7 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
53
53
|
.exec();
|
|
54
54
|
// 予約取引を参照(2026-05-17~)
|
|
55
55
|
const offeredThroughIdentifier = orders.at(0)?.acceptedOffers[0].offeredThrough?.identifier;
|
|
56
|
-
const useReserveTransaction =
|
|
57
|
-
&& offeredThroughIdentifier !== factory_1.factory.service.webAPI.Identifier.COA; // COAでは予約取引を参照しない
|
|
56
|
+
const useReserveTransaction = offeredThroughIdentifier !== factory_1.factory.service.webAPI.Identifier.COA; // COAでは予約取引を参照しない
|
|
58
57
|
if (useReserveTransaction) {
|
|
59
58
|
const reservationNumbers = [...new Set(orders.map((order) => String(order.acceptedOffers[0].serialNumber)))];
|
|
60
59
|
let acceptedOffersByReserveTransaction = [];
|
|
@@ -125,7 +124,7 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
125
124
|
*/
|
|
126
125
|
async searchAcceptedOffersByOrderNumber(filter,
|
|
127
126
|
// inclusion?: (keyof IAcceptedOffer)[], // 分かりにくいので廃止(2026-05-17~)
|
|
128
|
-
|
|
127
|
+
_options) {
|
|
129
128
|
/**
|
|
130
129
|
* unwind前に1ドキュメントを特定するためのstage
|
|
131
130
|
*/
|
|
@@ -220,18 +219,12 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
220
219
|
.option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
|
|
221
220
|
.exec();
|
|
222
221
|
// 予約取引を参照(2026-05-18~)
|
|
223
|
-
|
|
224
|
-
if (useReserveTransaction) {
|
|
225
|
-
return this.addAcceptedOffersDetails(acceptedOffers);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
return acceptedOffers;
|
|
229
|
-
}
|
|
222
|
+
return this.addAcceptedOffersDetails(acceptedOffers);
|
|
230
223
|
}
|
|
231
224
|
/**
|
|
232
225
|
* 注文オファーをsliceして検索する(2024-01-10~)
|
|
233
226
|
*/
|
|
234
|
-
async searchSlicedAcceptedOffersByOrderNumber(filter,
|
|
227
|
+
async searchSlicedAcceptedOffersByOrderNumber(filter, _options) {
|
|
235
228
|
const aggregate = this.orderModel.aggregate([
|
|
236
229
|
{ $match: { orderNumber: { $eq: filter.orderNumber.$eq } } },
|
|
237
230
|
{ $match: { 'project.id': { $eq: filter.project.id.$eq } } },
|
|
@@ -252,16 +245,10 @@ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveR
|
|
|
252
245
|
}
|
|
253
246
|
const { acceptedOffers, numAcceptedOffers } = result;
|
|
254
247
|
// 予約取引を参照(2026-05-18~)
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
numAcceptedOffers
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
return result;
|
|
264
|
-
}
|
|
248
|
+
return {
|
|
249
|
+
acceptedOffers: await this.addAcceptedOffersDetails(acceptedOffers),
|
|
250
|
+
numAcceptedOffers
|
|
251
|
+
};
|
|
265
252
|
}
|
|
266
253
|
async countByOrderNumber(filter) {
|
|
267
254
|
const aggregate = this.orderModel.aggregate([
|
|
@@ -147,6 +147,14 @@ export interface IServiceOutputIdentifierSetting {
|
|
|
147
147
|
*/
|
|
148
148
|
version: string;
|
|
149
149
|
}
|
|
150
|
+
interface ICOAIntegrationSettings {
|
|
151
|
+
timeoutReserve: number;
|
|
152
|
+
timeoutMaster: number;
|
|
153
|
+
}
|
|
154
|
+
interface IGMOIntegrationSettings {
|
|
155
|
+
timeout: number;
|
|
156
|
+
timeoutBackground: number;
|
|
157
|
+
}
|
|
150
158
|
interface ISurfrockSettings {
|
|
151
159
|
/**
|
|
152
160
|
* 着券時タイムアウト
|
|
@@ -174,14 +182,8 @@ export interface IIntegrationSettings {
|
|
|
174
182
|
abortedTasksWithoutReport: string[];
|
|
175
183
|
numTryConfirmReserveTransaction: number;
|
|
176
184
|
deliverOrderLimit: number;
|
|
177
|
-
coa:
|
|
178
|
-
|
|
179
|
-
timeoutMaster: number;
|
|
180
|
-
};
|
|
181
|
-
gmo: {
|
|
182
|
-
timeout: number;
|
|
183
|
-
timeoutBackground: number;
|
|
184
|
-
};
|
|
185
|
+
coa: ICOAIntegrationSettings;
|
|
186
|
+
gmo: IGMOIntegrationSettings;
|
|
185
187
|
movieticketReserve: ISurfrockSettings;
|
|
186
188
|
useExperimentalFeature: boolean;
|
|
187
189
|
}
|
|
@@ -96,7 +96,7 @@ function deleteReservationsByOrder(order) {
|
|
|
96
96
|
acceptedOffers: {
|
|
97
97
|
// itemOffered: { typeOf: { $in: [factory.reservationType.EventReservation] } }
|
|
98
98
|
}
|
|
99
|
-
}, {
|
|
99
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
100
100
|
);
|
|
101
101
|
const reservationIds = acceptedOffers.map((o) => String(o.itemOffered.id));
|
|
102
102
|
if (reservationIds.length > 0) {
|
|
@@ -101,7 +101,7 @@ function sendOrder(params) {
|
|
|
101
101
|
$slice: [offerIndexBase, limit],
|
|
102
102
|
orderNumber: { $eq: order.orderNumber },
|
|
103
103
|
project: { id: { $eq: order.project.id } }
|
|
104
|
-
}, {
|
|
104
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
105
105
|
);
|
|
106
106
|
acceptedOffers = searchSlicedAcceptedOffersResult.acceptedOffers;
|
|
107
107
|
debug('delivering...', order.orderNumber, acceptedOffers.map((offer) => `${offer.itemOffered.id}`), // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
@@ -47,10 +47,11 @@ payTransaction, paymentServiceId, options) {
|
|
|
47
47
|
try {
|
|
48
48
|
// タスクによって実行されているかどうか
|
|
49
49
|
const executedByTask = typeof options.executor?.id === 'string' && options.executor.id !== '';
|
|
50
|
+
const gmoIntegrationSettings = await settings.getByKey('gmo');
|
|
50
51
|
// 非同期承認時に長時間対応(2024-05-18~)
|
|
51
|
-
const timeout = (executedByTask && typeof
|
|
52
|
-
?
|
|
53
|
-
:
|
|
52
|
+
const timeout = (executedByTask && typeof gmoIntegrationSettings.timeoutBackground === 'number')
|
|
53
|
+
? gmoIntegrationSettings.timeoutBackground
|
|
54
|
+
: gmoIntegrationSettings.timeout;
|
|
54
55
|
debug('processAuthorizeCreditCard processing... executor:', options.executor?.id, 'timeout:', timeout);
|
|
55
56
|
const creditCardService = new gmo_service_1.GMO.service.Credit({
|
|
56
57
|
endpoint: String(availableChannel.serviceUrl)
|
|
@@ -39,7 +39,7 @@ function findByCode(params) {
|
|
|
39
39
|
// typeOf?: { $in?: factory.order.IItemOffered['typeOf'][] };
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
}, {
|
|
42
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
43
43
|
)).shift();
|
|
44
44
|
if (acceptedOffer === undefined) {
|
|
45
45
|
throw new factory_1.factory.errors.NotFound('acceptedOffer');
|
|
@@ -16,7 +16,7 @@ function searchByOrder(params) {
|
|
|
16
16
|
// typeOf: { $in: [reservationType] }
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
}, {
|
|
19
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
20
20
|
);
|
|
21
21
|
const reservationIds = acceptedOffers.map((offer) => {
|
|
22
22
|
if (offer.itemOffered.typeOf === reservationType) {
|
|
@@ -58,14 +58,15 @@ function call(params) {
|
|
|
58
58
|
const actionRepo = new acceptCOAOffer_1.AcceptCOAOfferActionRepo(connection);
|
|
59
59
|
// const transactionProcessRepo = new TransactionProcessRepo(redisClient, { lockExpiresInSeconds: 120 });
|
|
60
60
|
try {
|
|
61
|
+
const coaIntegrationSettings = await settings.getByKey('coa');
|
|
61
62
|
const reserveService = new coa_service_1.COA.service.Reserve({
|
|
62
63
|
endpoint: coaAuthClient.options.endpoint, // same as authClient(2024-07-17~)
|
|
63
64
|
auth: coaAuthClient
|
|
64
|
-
}, { timeout:
|
|
65
|
+
}, { timeout: coaIntegrationSettings.timeoutReserve });
|
|
65
66
|
const masterService = new coa_service_1.COA.service.Master({
|
|
66
67
|
endpoint: coaAuthClient.options.endpoint, // same as authClient(2024-07-17~)
|
|
67
68
|
auth: coaAuthClient
|
|
68
|
-
}, { timeout:
|
|
69
|
+
}, { timeout: coaIntegrationSettings.timeoutMaster });
|
|
69
70
|
const { agent, object, potentialActions, purpose } = params.data;
|
|
70
71
|
// agent.idからflgMemberを自動セット(2024-12-16~)
|
|
71
72
|
const isMember = memberClients.includes(agent.id);
|
|
@@ -137,7 +137,7 @@ function fixOrderAsPurpose(params) {
|
|
|
137
137
|
const acceptedOffers = await repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
138
138
|
orderNumber: { $eq: order.orderNumber },
|
|
139
139
|
project: { id: { $eq: params.project.id } }
|
|
140
|
-
}, {
|
|
140
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
141
141
|
);
|
|
142
142
|
return {
|
|
143
143
|
...order,
|
|
@@ -144,7 +144,7 @@ function fixOrders(params) {
|
|
|
144
144
|
const acceptedOffers = await repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
145
145
|
orderNumber: { $eq: params.object.order[0].orderNumber },
|
|
146
146
|
project: { id: { $eq: params.project.id } }
|
|
147
|
-
}, {
|
|
147
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
148
148
|
);
|
|
149
149
|
return { acceptedOffers, eventIds, offerIds, orders };
|
|
150
150
|
};
|
|
@@ -22,7 +22,7 @@ function validateOrder(params) {
|
|
|
22
22
|
const acceptedOffers = await repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
23
23
|
orderNumber: { $eq: params.orderNumber },
|
|
24
24
|
project: { id: { $eq: params.project.id } }
|
|
25
|
-
}, {
|
|
25
|
+
}, {} // 予約取引参照(2026-05-18~)
|
|
26
26
|
);
|
|
27
27
|
let payTransactions = [];
|
|
28
28
|
if (order.paymentMethods.length > 0) {
|
package/package.json
CHANGED