@chevre/domain 21.25.0-alpha.8 → 21.25.0
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/example/src/chevre/migrateDeleteTransactionTasks.ts +2 -2
- package/example/src/chevre/migrateScreeningEventSeriesOffers.ts +87 -0
- package/example/src/chevre/searchScreeningEventSeries.ts +35 -0
- package/example/src/chevre/unsetUnnecessaryFields.ts +7 -8
- package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +0 -2
- package/lib/chevre/emailMessageBuilder.d.ts +0 -1
- package/lib/chevre/factory/event.js +7 -4
- package/lib/chevre/factory/order.d.ts +0 -8
- package/lib/chevre/factory/order.js +1 -26
- package/lib/chevre/repo/event.d.ts +3 -3
- package/lib/chevre/repo/mongoose/schemas/event.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/event.js +18 -15
- package/lib/chevre/service/aggregation/event/findEventOffers.d.ts +1 -1
- package/lib/chevre/service/aggregation/event/findEventOffers.js +1 -1
- package/lib/chevre/service/assetTransaction/reserve/factory/price.js +1 -1
- package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +1 -1
- package/lib/chevre/service/assetTransaction/reserve.js +1 -6
- package/lib/chevre/service/delivery.js +9 -18
- package/lib/chevre/service/event/createEvent.js +2 -1
- package/lib/chevre/service/event.js +33 -24
- package/lib/chevre/service/offer/event/authorize.d.ts +3 -2
- package/lib/chevre/service/offer/event/authorize.js +10 -20
- package/lib/chevre/service/offer/event/cancel.d.ts +1 -1
- package/lib/chevre/service/offer/event/cancel.js +1 -1
- package/lib/chevre/service/offer/event/factory.d.ts +6 -5
- package/lib/chevre/service/offer/event/factory.js +22 -36
- package/lib/chevre/service/offer/event/processStartReserve4chevre.d.ts +3 -3
- package/lib/chevre/service/offer/event/processStartReserve4chevre.js +6 -13
- package/lib/chevre/service/offer/event/voidTransaction.d.ts +1 -1
- package/lib/chevre/service/offer/event/voidTransaction.js +1 -1
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +1 -0
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +7 -4
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +1 -0
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +3 -2
- package/lib/chevre/service/offer/eventServiceByCOA/factory.d.ts +2 -1
- package/lib/chevre/service/offer/eventServiceByCOA/factory.js +19 -10
- package/lib/chevre/service/offer/product/factory.js +11 -13
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +8 -8
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +8 -8
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +8 -8
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +18 -116
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -8
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +8 -8
- package/lib/chevre/service/order/placeOrder.js +14 -15
- package/lib/chevre/service/order/returnOrder.js +7 -7
- package/lib/chevre/service/order/sendOrder.js +8 -8
- package/lib/chevre/service/payment/any/factory.js +11 -10
- package/lib/chevre/service/task/createAccountingReport.js +6 -6
- package/lib/chevre/service/task/returnPayTransaction.js +7 -7
- package/lib/chevre/service/task/returnReserveTransaction.js +3 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +13 -8
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +8 -8
- package/lib/chevre/service/transaction/placeOrderInProgress/result/orderedItem.d.ts +10 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result/orderedItem.js +112 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -16
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +41 -26
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +10 -11
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +7 -7
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +7 -7
- package/lib/chevre/settings.d.ts +0 -1
- package/lib/chevre/settings.js +1 -2
- package/package.json +4 -4
- package/example/src/chevre/migrateMovieAvailabilityStarts.ts +0 -83
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +0 -16
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +0 -144
|
@@ -17,11 +17,12 @@ const processStartReserve4chevre_1 = require("./processStartReserve4chevre");
|
|
|
17
17
|
const searchEventTicketOffers_1 = require("./searchEventTicketOffers");
|
|
18
18
|
const factory_1 = require("./factory");
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* 興行オファー承認
|
|
21
21
|
*/
|
|
22
22
|
function authorize(params) {
|
|
23
23
|
// tslint:disable-next-line:max-func-body-length
|
|
24
24
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
var _a;
|
|
25
26
|
const noOfferSpecified = params.noOfferSpecified === true;
|
|
26
27
|
const { transaction, event, bookingServiceIdentifire } = yield validateCreateRequest(params)({ event: repos.event, transaction: repos.transaction });
|
|
27
28
|
const { acceptedOffers, ticketOffers, unitPriceOffers } = yield validateAcceptedOffers({
|
|
@@ -41,33 +42,22 @@ function authorize(params) {
|
|
|
41
42
|
event: event,
|
|
42
43
|
transaction: transaction,
|
|
43
44
|
pendingTransaction: { typeOf: factory.assetTransactionType.Reserve, transactionNumber },
|
|
44
|
-
broker: params.object.broker
|
|
45
|
+
broker: params.object.broker,
|
|
46
|
+
useResultAcceptedOffers: params.options.useResultAcceptedOffers
|
|
45
47
|
});
|
|
46
48
|
const action = yield repos.action.start(actionAttributes);
|
|
47
49
|
try {
|
|
48
50
|
switch (bookingServiceIdentifire) {
|
|
49
51
|
// 実質使用する予定なしなので廃止(2022-05-12~)
|
|
50
52
|
// case factory.service.webAPI.Identifier.COA:
|
|
51
|
-
// const processStartReserve4coaResult = await processStartReserve4coa({ event, object: params.object });
|
|
52
|
-
// requestBody = processStartReserve4coaResult.requestBody;
|
|
53
|
-
// responseBody = processStartReserve4coaResult.responseBody;
|
|
54
53
|
// break;
|
|
55
54
|
case factory.service.webAPI.Identifier.Chevre:
|
|
56
|
-
const processStartReserveResult = yield (0, processStartReserve4chevre_1.processStartReserve4chevre)({
|
|
57
|
-
action,
|
|
58
|
-
event,
|
|
55
|
+
const processStartReserveResult = yield (0, processStartReserve4chevre_1.processStartReserve4chevre)(Object.assign({
|
|
56
|
+
// action,
|
|
57
|
+
acceptedOffer: acceptedOffers, event,
|
|
59
58
|
transactionNumber,
|
|
60
|
-
transaction,
|
|
61
|
-
|
|
62
|
-
ticketOffers,
|
|
63
|
-
unitPriceOffers,
|
|
64
|
-
validateEvent: params.validateEvent === true,
|
|
65
|
-
validateEventOfferPeriod: params.validateEventOfferPeriod === true,
|
|
66
|
-
// 完全廃止(2023-07-19~)
|
|
67
|
-
// disablePendingReservations: params.disablePendingReservations,
|
|
68
|
-
useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber,
|
|
69
|
-
stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd
|
|
70
|
-
})(repos);
|
|
59
|
+
transaction, availableAtOrFrom: { id: params.store.id }, ticketOffers,
|
|
60
|
+
unitPriceOffers, validateEvent: params.validateEvent === true, validateEventOfferPeriod: params.validateEventOfferPeriod === true, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined))(repos);
|
|
71
61
|
acceptedOffers4result = processStartReserveResult.acceptedOffers4result;
|
|
72
62
|
// add orderInTransaction(2024-01-15~)
|
|
73
63
|
if (!noOfferSpecified) {
|
|
@@ -105,7 +95,7 @@ function authorize(params) {
|
|
|
105
95
|
const result = Object.assign({ priceCurrency: acceptedOffers[0].priceCurrency, amount: [], requestBody: {}, responseBody: {} }, (!noOfferSpecified) // オファー指定の場合のみ金額計算(2023-11-27~)
|
|
106
96
|
? {
|
|
107
97
|
price: (0, factory_1.acceptedOffers2amount)({ acceptedOffers: acceptedOffers4result }),
|
|
108
|
-
acceptedOffers: acceptedOffers4result
|
|
98
|
+
acceptedOffers: (params.options.useResultAcceptedOffers === true) ? acceptedOffers4result : []
|
|
109
99
|
}
|
|
110
100
|
: undefined);
|
|
111
101
|
return yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
|
|
@@ -14,7 +14,7 @@ const factory = require("../../../factory");
|
|
|
14
14
|
const ReserveTransactionService = require("../../assetTransaction/reserve");
|
|
15
15
|
const any_1 = require("../any");
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* 興行オファー承認取消(apiから実行)
|
|
18
18
|
* 特定の承認アクションについて処理する
|
|
19
19
|
*/
|
|
20
20
|
function cancel(params) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as COA from '@motionpicture/coa-service';
|
|
2
2
|
import * as factory from '../../../factory';
|
|
3
3
|
import { IMinimizedIndividualEvent } from '../../../factory/event';
|
|
4
|
-
export type IReservationFor = factory.reservation.IReservationFor<factory.reservationType.EventReservation>;
|
|
5
|
-
export type IUnitPriceSpecification = factory.priceSpecification.IPriceSpecification<factory.priceSpecificationType.UnitPriceSpecification>;
|
|
6
|
-
export type IObjectWithoutDetail = factory.action.authorize.offer.eventService.IObjectWithoutDetail4chevre;
|
|
7
|
-
export type IObjectWithDetail = factory.action.authorize.offer.eventService.IObject<factory.service.webAPI.Identifier.Chevre>;
|
|
8
4
|
export declare function createReserveTransactionStartParams(params: {
|
|
9
5
|
project: {
|
|
10
6
|
id: string;
|
|
11
7
|
};
|
|
12
|
-
|
|
8
|
+
acceptedOffer: factory.action.authorize.offer.eventService.IAcceptedOffer<factory.service.webAPI.Identifier.Chevre>[];
|
|
9
|
+
event: {
|
|
10
|
+
id: string;
|
|
11
|
+
};
|
|
12
|
+
broker?: factory.reservation.IBroker<factory.reservationType>;
|
|
13
13
|
transaction: factory.transaction.ITransaction<factory.transactionType>;
|
|
14
14
|
transactionNumber: string;
|
|
15
15
|
}): factory.assetTransaction.reserve.IStartParamsWithoutDetail;
|
|
@@ -19,6 +19,7 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
|
|
|
19
19
|
pendingTransaction: factory.action.authorize.offer.eventService.IChevrePendingTransaction;
|
|
20
20
|
transaction: factory.transaction.ITransaction<factory.transactionType.PlaceOrder>;
|
|
21
21
|
broker?: factory.reservation.IBroker<factory.reservationType.EventReservation>;
|
|
22
|
+
useResultAcceptedOffers: boolean;
|
|
22
23
|
}): factory.action.authorize.offer.eventService.IAttributes<factory.service.webAPI.Identifier.Chevre>;
|
|
23
24
|
export declare function acceptedOffers2amount(params: {
|
|
24
25
|
acceptedOffers: IResultAcceptedOffer[];
|
|
@@ -5,11 +5,10 @@ const COA = require("@motionpicture/coa-service");
|
|
|
5
5
|
const moment = require("moment");
|
|
6
6
|
const util_1 = require("util");
|
|
7
7
|
const factory = require("../../../factory");
|
|
8
|
-
const settings_1 = require("../../../settings");
|
|
9
8
|
function createReserveTransactionStartParams(params) {
|
|
10
|
-
var _a
|
|
11
|
-
const acceptedTicketOffersWithoutDetail = (Array.isArray(params.
|
|
12
|
-
? params.
|
|
9
|
+
var _a;
|
|
10
|
+
const acceptedTicketOffersWithoutDetail = (Array.isArray(params.acceptedOffer))
|
|
11
|
+
? params.acceptedOffer.map((o) => {
|
|
13
12
|
var _a, _b, _c, _d, _e;
|
|
14
13
|
const issuedBy = {
|
|
15
14
|
typeOf: params.transaction.seller.typeOf,
|
|
@@ -24,9 +23,6 @@ function createReserveTransactionStartParams(params) {
|
|
|
24
23
|
}
|
|
25
24
|
else if (typeof ((_b = o.priceSpecification.appliesToMovieTicket) === null || _b === void 0 ? void 0 : _b.identifier) === 'string') {
|
|
26
25
|
appliesToMovieTicket = { identifier: o.priceSpecification.appliesToMovieTicket.identifier };
|
|
27
|
-
// movieTicketIdentifire参照は廃止(2022-09-09~)
|
|
28
|
-
// } else if (typeof o.movieTicketIdentifire === 'string') {
|
|
29
|
-
// appliesToMovieTicket = { identifier: o.movieTicketIdentifire };
|
|
30
26
|
}
|
|
31
27
|
return Object.assign(Object.assign({
|
|
32
28
|
// 必要な属性のみ指定する
|
|
@@ -42,22 +38,22 @@ function createReserveTransactionStartParams(params) {
|
|
|
42
38
|
typeOf: factory.assetTransactionType.Reserve,
|
|
43
39
|
transactionNumber: params.transactionNumber,
|
|
44
40
|
agent: {
|
|
45
|
-
// Sellerに変更(2022-05-30~)
|
|
46
41
|
typeOf: params.transaction.seller.typeOf,
|
|
47
|
-
id:
|
|
42
|
+
id: params.transaction.seller.id,
|
|
48
43
|
name: (typeof params.transaction.seller.name === 'string')
|
|
49
44
|
? params.transaction.seller.name
|
|
50
|
-
: String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja)
|
|
51
|
-
identifier
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
: String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja)
|
|
46
|
+
// identifierを廃止(2024-03-05~)
|
|
47
|
+
// identifier: [
|
|
48
|
+
// { name: 'transaction', value: params.transaction.id },
|
|
49
|
+
// {
|
|
50
|
+
// name: 'transactionExpires',
|
|
51
|
+
// value: moment(params.transaction.expires)
|
|
52
|
+
// .toISOString()
|
|
53
|
+
// }
|
|
54
|
+
// ]
|
|
59
55
|
},
|
|
60
|
-
object: Object.assign({ acceptedOffer: acceptedTicketOffersWithoutDetail, reservationFor: { id:
|
|
56
|
+
object: Object.assign({ acceptedOffer: acceptedTicketOffersWithoutDetail, reservationFor: { id: params.event.id } }, (params.broker !== undefined) ? { broker: params.broker } : undefined),
|
|
61
57
|
expires: moment(params.transaction.expires)
|
|
62
58
|
.add(1, 'month')
|
|
63
59
|
.toDate() // 余裕を持って
|
|
@@ -95,7 +91,7 @@ function createAuthorizeSeatReservationActionAttributes(params) {
|
|
|
95
91
|
return {
|
|
96
92
|
project: transaction.project,
|
|
97
93
|
typeOf: factory.actionType.AuthorizeAction,
|
|
98
|
-
object: Object.assign({ typeOf: factory.action.authorize.offer.eventService.ObjectType.SeatReservation, event: authorizeObjectEvent, acceptedOffer: acceptedOffers, pendingTransaction: params.pendingTransaction }, (params.broker !== undefined) ? { broker: params.broker } : undefined),
|
|
94
|
+
object: Object.assign(Object.assign({ typeOf: factory.action.authorize.offer.eventService.ObjectType.SeatReservation, event: authorizeObjectEvent, acceptedOffer: acceptedOffers, pendingTransaction: params.pendingTransaction }, (params.broker !== undefined) ? { broker: params.broker } : undefined), { useResultAcceptedOffers: params.useResultAcceptedOffers }),
|
|
99
95
|
agent: {
|
|
100
96
|
id: transaction.seller.id,
|
|
101
97
|
typeOf: transaction.seller.typeOf,
|
|
@@ -109,7 +105,8 @@ function createAuthorizeSeatReservationActionAttributes(params) {
|
|
|
109
105
|
},
|
|
110
106
|
purpose: { typeOf: transaction.typeOf, id: transaction.id },
|
|
111
107
|
instrument: {
|
|
112
|
-
typeOf: 'WebAPI',
|
|
108
|
+
// typeOf: 'WebAPI',
|
|
109
|
+
typeOf: factory.assetTransactionType.Reserve,
|
|
113
110
|
identifier: factory.service.webAPI.Identifier.Chevre,
|
|
114
111
|
transactionNumber: params.pendingTransaction.transactionNumber
|
|
115
112
|
}
|
|
@@ -172,7 +169,6 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
172
169
|
: undefined), (typeof ((_a = accounting.operatingRevenue) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
|
|
173
170
|
? {
|
|
174
171
|
operatingRevenue: {
|
|
175
|
-
// project: accounting.operatingRevenue.project, // 削除(2023-12-13~)
|
|
176
172
|
typeOf: accounting.operatingRevenue.typeOf,
|
|
177
173
|
codeValue: accounting.operatingRevenue.codeValue
|
|
178
174
|
}
|
|
@@ -238,16 +234,12 @@ function createReservation(params) {
|
|
|
238
234
|
startDate: moment(event.startDate)
|
|
239
235
|
.toDate(),
|
|
240
236
|
// 最適化(2022-05-31~)
|
|
241
|
-
superEvent: Object.assign(Object.assign(
|
|
242
|
-
)
|
|
237
|
+
superEvent: Object.assign(Object.assign({ typeOf: event.superEvent.typeOf, id: event.superEvent.id, location: event.superEvent.location, name: event.superEvent.name, soundFormat: event.superEvent.soundFormat, videoFormat: event.superEvent.videoFormat, workPerformed }, (typeof event.superEvent.duration === 'string') ? { duration: event.superEvent.duration } : undefined), (event.superEvent.headline !== undefined) ? { headline: event.superEvent.headline } : undefined)
|
|
243
238
|
};
|
|
244
239
|
if (params.issuedThrough.typeOf !== factory.product.ProductType.EventService) {
|
|
245
240
|
throw new factory.errors.Argument('issuedThrough', `issuedThrough.typeOf must be ${factory.product.ProductType.EventService}`);
|
|
246
241
|
}
|
|
247
|
-
reservationItem = Object.assign({
|
|
248
|
-
// 不要なので廃止(2023-07-01~)
|
|
249
|
-
// project: itemOffered.project,
|
|
250
|
-
typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
|
|
242
|
+
reservationItem = Object.assign({ typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
|
|
251
243
|
reservedTicket }, (typeof ((_a = itemOffered.programMembershipUsed) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
|
|
252
244
|
? { programMembershipUsed: itemOffered.programMembershipUsed }
|
|
253
245
|
: undefined);
|
|
@@ -275,10 +267,7 @@ function createReservation(params) {
|
|
|
275
267
|
if (params.issuedThrough.typeOf !== factory.product.ProductType.Transportation) {
|
|
276
268
|
throw new factory.errors.Argument('issuedThrough', `issuedThrough.typeOf must be ${factory.product.ProductType.Transportation}`);
|
|
277
269
|
}
|
|
278
|
-
reservationItem = Object.assign({
|
|
279
|
-
// 不要なので廃止(2023-07-01~)
|
|
280
|
-
// project: itemOffered.project,
|
|
281
|
-
typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
|
|
270
|
+
reservationItem = Object.assign({ typeOf: itemOffered.typeOf, additionalProperty: itemOffered.additionalProperty, additionalTicketText: itemOffered.additionalTicketText, id: itemOffered.id, issuedThrough: params.issuedThrough, reservationNumber: itemOffered.reservationNumber, reservationFor,
|
|
282
271
|
reservedTicket }, (typeof ((_d = itemOffered.programMembershipUsed) === null || _d === void 0 ? void 0 : _d.typeOf) === 'string')
|
|
283
272
|
? { programMembershipUsed: itemOffered.programMembershipUsed }
|
|
284
273
|
: undefined);
|
|
@@ -304,7 +293,6 @@ function coaTicket2offer(params) {
|
|
|
304
293
|
const eligibleMembershipType = (params.ticketResult.flgMember === COA.factory.master.FlgMember.Member
|
|
305
294
|
&& typeof ((_b = params.defaultMembershipType) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string')
|
|
306
295
|
? [{
|
|
307
|
-
// project: params.defaultMembershipType.project,
|
|
308
296
|
typeOf: params.defaultMembershipType.typeOf,
|
|
309
297
|
id: params.defaultMembershipType.id,
|
|
310
298
|
codeValue: params.defaultMembershipType.codeValue,
|
|
@@ -329,9 +317,7 @@ function coaTicket2offer(params) {
|
|
|
329
317
|
? params.ticketResult.ticketNameEng
|
|
330
318
|
: ''
|
|
331
319
|
};
|
|
332
|
-
return Object.assign(Object.assign(Object.assign({
|
|
333
|
-
// project: { typeOf: factory.organizationType.Project, id: params.project.id },
|
|
334
|
-
typeOf: factory.offerType.Offer, priceCurrency: factory.priceCurrency.JPY,
|
|
320
|
+
return Object.assign(Object.assign(Object.assign({ typeOf: factory.offerType.Offer, priceCurrency: factory.priceCurrency.JPY,
|
|
335
321
|
// id: '',
|
|
336
322
|
identifier: identifier, name: offerName, description: {
|
|
337
323
|
ja: '',
|
|
@@ -15,10 +15,10 @@ import type { RedisRepository as OfferRateLimitRepo } from '../../../repo/rateLi
|
|
|
15
15
|
import type { MongoRepository as ReservationRepo } from '../../../repo/reservation';
|
|
16
16
|
import type { StockHolderRepository as StockHolderRepo } from '../../../repo/stockHolder';
|
|
17
17
|
import type { MongoRepository as TaskRepo } from '../../../repo/task';
|
|
18
|
-
type IAuthorizeOfferAction = factory.action.authorize.offer.eventService.IAction<factory.service.webAPI.Identifier>;
|
|
19
18
|
declare function processStartReserve4chevre(params: {
|
|
20
|
-
|
|
19
|
+
acceptedOffer: factory.action.authorize.offer.eventService.IAcceptedOffer<factory.service.webAPI.Identifier.Chevre>[];
|
|
21
20
|
event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>;
|
|
21
|
+
broker?: factory.reservation.IBroker<factory.reservationType>;
|
|
22
22
|
transactionNumber?: string;
|
|
23
23
|
transaction: factory.transaction.ITransaction<factory.transactionType.PlaceOrder>;
|
|
24
24
|
availableAtOrFrom: {
|
|
@@ -48,6 +48,6 @@ declare function processStartReserve4chevre(params: {
|
|
|
48
48
|
task: TaskRepo;
|
|
49
49
|
assetTransaction: AssetTransactionRepo;
|
|
50
50
|
}) => Promise<{
|
|
51
|
-
acceptedOffers4result:
|
|
51
|
+
acceptedOffers4result: factory.action.authorize.offer.eventService.IResultAcceptedOffer[];
|
|
52
52
|
}>;
|
|
53
53
|
export { processStartReserve4chevre };
|
|
@@ -16,11 +16,10 @@ const CodeService = require("../../code");
|
|
|
16
16
|
const factory_1 = require("./factory");
|
|
17
17
|
function processStartReserve4chevre(params) {
|
|
18
18
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
const action = params.action;
|
|
19
|
+
// const action = params.action;
|
|
20
20
|
const event = params.event;
|
|
21
21
|
const transactionNumber = params.transactionNumber;
|
|
22
22
|
const transaction = params.transaction;
|
|
23
|
-
// let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
|
|
24
23
|
let responseBody;
|
|
25
24
|
let acceptedOffers4result = [];
|
|
26
25
|
if (typeof transactionNumber !== 'string') {
|
|
@@ -28,19 +27,13 @@ function processStartReserve4chevre(params) {
|
|
|
28
27
|
throw new factory.errors.ServiceUnavailable('Unexpected error occurred: reserve transactionNumber not found');
|
|
29
28
|
}
|
|
30
29
|
// 予約取引開始
|
|
31
|
-
const startParams = (0, factory_1.createReserveTransactionStartParams)({
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
transactionNumber
|
|
36
|
-
});
|
|
37
|
-
// requestBody = startParams;
|
|
30
|
+
const startParams = (0, factory_1.createReserveTransactionStartParams)(Object.assign({ project: transaction.project,
|
|
31
|
+
// object: <IObjectWithDetail>action.object,
|
|
32
|
+
acceptedOffer: params.acceptedOffer, event: { id: event.id }, transaction,
|
|
33
|
+
transactionNumber }, (params.broker !== undefined) ? { broker: params.broker } : undefined));
|
|
38
34
|
const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
|
|
39
35
|
// 予約取引開始
|
|
40
|
-
const startReserveTransactionResult = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true,
|
|
41
|
-
// 完全廃止(2023-07-19~)
|
|
42
|
-
// disablePendingReservations: params.disablePendingReservations,
|
|
43
|
-
useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }))(repos);
|
|
36
|
+
const startReserveTransactionResult = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, preSearchedEvent: event, preSearchedTicketOffers: params.ticketOffers, preSearchedUnitPriceOffers: params.unitPriceOffers, availableAtOrFrom: { id: params.availableAtOrFrom.id }, validateEvent: params.validateEvent, validateEventOfferPeriod: params.validateEventOfferPeriod, validateAppliesToMovieTicket: true, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, stockHoldUntilDaysAfterEventEnd: params.stockHoldUntilDaysAfterEventEnd }))(repos);
|
|
44
37
|
responseBody = startReserveTransactionResult.transaction;
|
|
45
38
|
// 予約取引からオファー情報を生成する
|
|
46
39
|
acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
|
|
@@ -19,7 +19,7 @@ interface IVoidTransactionRepos {
|
|
|
19
19
|
transaction: TransactionRepo;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* 興行オファー承認取消(タスクから実行)
|
|
23
23
|
* 取引中の承認アクション全てについて処理する
|
|
24
24
|
*/
|
|
25
25
|
export declare function voidTransaction(params: factory.task.IData<factory.taskName.VoidReserveTransaction>): (repos: IVoidTransactionRepos) => Promise<void>;
|
|
@@ -79,7 +79,8 @@ function authorize(params) {
|
|
|
79
79
|
acceptedOffers: [],
|
|
80
80
|
event: { id: params.object.event.id, typeOf: factory.eventType.ScreeningEvent },
|
|
81
81
|
transaction,
|
|
82
|
-
pendingTransaction
|
|
82
|
+
pendingTransaction,
|
|
83
|
+
useResultAcceptedOffers: params.options.useResultAcceptedOffers
|
|
83
84
|
});
|
|
84
85
|
const failedAction = yield repos.action.start(failedActionAttributes);
|
|
85
86
|
yield repos.action.giveUp({ typeOf: failedAction.typeOf, id: failedAction.id, error });
|
|
@@ -91,7 +92,8 @@ function authorize(params) {
|
|
|
91
92
|
acceptedOffers,
|
|
92
93
|
event: screeningEvent,
|
|
93
94
|
transaction,
|
|
94
|
-
pendingTransaction
|
|
95
|
+
pendingTransaction,
|
|
96
|
+
useResultAcceptedOffers: params.options.useResultAcceptedOffers
|
|
95
97
|
});
|
|
96
98
|
const action = yield repos.action.start(actionAttributes);
|
|
97
99
|
try {
|
|
@@ -99,7 +101,8 @@ function authorize(params) {
|
|
|
99
101
|
const { price, eligibleMonetaryAmount } = (0, factory_1.offers2resultPrice)(acceptedOffers);
|
|
100
102
|
const acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
|
|
101
103
|
responseBody: params.result.responseBody,
|
|
102
|
-
object: action.object,
|
|
104
|
+
// object: action.object,
|
|
105
|
+
acceptedOffer: acceptedOffers,
|
|
103
106
|
event: screeningEvent,
|
|
104
107
|
seller: transaction.seller,
|
|
105
108
|
bookingTime: moment(action.startDate)
|
|
@@ -112,7 +115,7 @@ function authorize(params) {
|
|
|
112
115
|
amount: eligibleMonetaryAmount,
|
|
113
116
|
requestBody: params.result.requestBody,
|
|
114
117
|
responseBody: params.result.responseBody,
|
|
115
|
-
acceptedOffers: acceptedOffers4result
|
|
118
|
+
acceptedOffers: (params.options.useResultAcceptedOffers === true) ? acceptedOffers4result : []
|
|
116
119
|
};
|
|
117
120
|
// add orderInTransaction(2024-01-15~)
|
|
118
121
|
if (params.options.useCreateOrderOnOfferAccepted) {
|
|
@@ -84,14 +84,15 @@ function changeOffers(params) {
|
|
|
84
84
|
const { price, eligibleMonetaryAmount } = (0, factory_1.offers2resultPrice)(acceptedOffers);
|
|
85
85
|
const acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
|
|
86
86
|
responseBody: updTmpReserveSeatResult,
|
|
87
|
-
object: authorizeAction.object,
|
|
87
|
+
// object: authorizeAction.object,
|
|
88
|
+
acceptedOffer: acceptedOffers,
|
|
88
89
|
event: screeningEvent,
|
|
89
90
|
seller: transaction.seller,
|
|
90
91
|
bookingTime: moment(authorizeAction.startDate)
|
|
91
92
|
.toDate(),
|
|
92
93
|
totalPrice: price
|
|
93
94
|
});
|
|
94
|
-
const actionResult = Object.assign(Object.assign({}, authorizeAction.result), { price: price, amount: eligibleMonetaryAmount, acceptedOffers: acceptedOffers4result });
|
|
95
|
+
const actionResult = Object.assign(Object.assign({}, authorizeAction.result), { price: price, amount: eligibleMonetaryAmount, acceptedOffers: (params.options.useResultAcceptedOffers === true) ? acceptedOffers4result : [] });
|
|
95
96
|
// ActiveActionStatus->CompletedActionStatusで再実装(2024-01-15~)
|
|
96
97
|
yield repos.action.reStart({ id: authorizeAction.id });
|
|
97
98
|
try {
|
|
@@ -7,6 +7,7 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
|
|
|
7
7
|
event: Pick<IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>, 'id' | 'typeOf'>;
|
|
8
8
|
transaction: factory.transaction.ITransaction<factory.transactionType.PlaceOrder>;
|
|
9
9
|
pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction;
|
|
10
|
+
useResultAcceptedOffers: boolean;
|
|
10
11
|
}): factory.action.authorize.offer.eventService.IAttributes<WebAPIIdentifier.COA>;
|
|
11
12
|
/**
|
|
12
13
|
* 供給情報から承認アクションの価格を導き出す
|
|
@@ -21,7 +22,7 @@ type IResultAcceptedOffer = factory.action.authorize.offer.eventService.IResultA
|
|
|
21
22
|
*/
|
|
22
23
|
export declare function responseBody2acceptedOffers4result(params: {
|
|
23
24
|
responseBody: factory.action.authorize.offer.eventService.IResponseBody<factory.service.webAPI.Identifier.COA>;
|
|
24
|
-
|
|
25
|
+
acceptedOffer: factory.action.authorize.offer.eventService.IAcceptedOffer<factory.service.webAPI.Identifier.COA>[];
|
|
25
26
|
event: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>;
|
|
26
27
|
seller: Pick<factory.transaction.placeOrder.ISeller, 'typeOf' | 'name'>;
|
|
27
28
|
bookingTime: Date;
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.responseBody2acceptedOffers4result = exports.offers2resultPrice = exports.createAuthorizeSeatReservationActionAttributes = exports.WebAPIIdentifier = void 0;
|
|
4
4
|
const moment = require("moment");
|
|
5
5
|
const factory = require("../../../factory");
|
|
6
|
-
const settings_1 = require("../../../settings");
|
|
7
6
|
exports.WebAPIIdentifier = factory.service.webAPI.Identifier;
|
|
8
7
|
function createAuthorizeSeatReservationActionAttributes(params) {
|
|
9
8
|
var _a;
|
|
@@ -24,7 +23,8 @@ function createAuthorizeSeatReservationActionAttributes(params) {
|
|
|
24
23
|
typeOf: factory.action.authorize.offer.eventService.ObjectType.SeatReservation,
|
|
25
24
|
acceptedOffer: params.acceptedOffers,
|
|
26
25
|
event: authorizeObjectEvent,
|
|
27
|
-
pendingTransaction: params.pendingTransaction
|
|
26
|
+
pendingTransaction: params.pendingTransaction,
|
|
27
|
+
useResultAcceptedOffers: params.useResultAcceptedOffers
|
|
28
28
|
};
|
|
29
29
|
return {
|
|
30
30
|
project: transaction.project,
|
|
@@ -43,7 +43,8 @@ function createAuthorizeSeatReservationActionAttributes(params) {
|
|
|
43
43
|
},
|
|
44
44
|
purpose: { typeOf: transaction.typeOf, id: transaction.id },
|
|
45
45
|
instrument: {
|
|
46
|
-
typeOf: 'WebAPI',
|
|
46
|
+
// typeOf: 'WebAPI',
|
|
47
|
+
typeOf: 'COAReserveTransaction',
|
|
47
48
|
identifier: factory.service.webAPI.Identifier.COA,
|
|
48
49
|
transactionNumber: params.pendingTransaction.transactionNumber
|
|
49
50
|
}
|
|
@@ -77,7 +78,7 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
77
78
|
// tslint:disable-next-line:max-func-body-length
|
|
78
79
|
acceptedOffers4result.push(...params.responseBody.listTmpReserve.map((tmpReserve, index) => {
|
|
79
80
|
var _a, _b, _c, _d;
|
|
80
|
-
const requestedOffer = params.
|
|
81
|
+
const requestedOffer = params.acceptedOffer.find((o) => {
|
|
81
82
|
var _a, _b, _c, _d;
|
|
82
83
|
return ((_d = (_c = (_b = (_a = o.itemOffered) === null || _a === void 0 ? void 0 : _a.serviceOutput) === null || _b === void 0 ? void 0 : _b.reservedTicket) === null || _c === void 0 ? void 0 : _c.ticketedSeat) === null || _d === void 0 ? void 0 : _d.seatNumber) === tmpReserve.seatNum
|
|
83
84
|
&& o.itemOffered.serviceOutput.reservedTicket.ticketedSeat.seatSection === tmpReserve.seatSection;
|
|
@@ -117,8 +118,19 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
117
118
|
branchCode: event.location.branchCode,
|
|
118
119
|
name: event.location.name
|
|
119
120
|
}, name: event.name, startDate: moment(event.startDate)
|
|
120
|
-
.toDate(), superEvent:
|
|
121
|
-
|
|
121
|
+
.toDate(), superEvent: {
|
|
122
|
+
typeOf: event.superEvent.typeOf,
|
|
123
|
+
id: event.superEvent.id,
|
|
124
|
+
identifier: event.superEvent.identifier,
|
|
125
|
+
name: event.superEvent.name,
|
|
126
|
+
alternativeHeadline: event.superEvent.alternativeHeadline,
|
|
127
|
+
location: event.superEvent.location,
|
|
128
|
+
videoFormat: event.superEvent.videoFormat,
|
|
129
|
+
soundFormat: event.superEvent.soundFormat,
|
|
130
|
+
workPerformed: workPerformed,
|
|
131
|
+
duration: event.superEvent.duration,
|
|
132
|
+
coaInfo: event.superEvent.coaInfo
|
|
133
|
+
}, id: event.id });
|
|
122
134
|
const reservedTicket = {
|
|
123
135
|
typeOf: 'Ticket',
|
|
124
136
|
coaTicketInfo: requestedOffer.ticketInfo,
|
|
@@ -160,10 +172,7 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
160
172
|
}
|
|
161
173
|
}
|
|
162
174
|
};
|
|
163
|
-
const reservation = Object.assign(Object.assign(Object.assign({
|
|
164
|
-
// 不要なので廃止(2023-07-01~)
|
|
165
|
-
// project: { typeOf: event.project.typeOf, id: event.project.id },
|
|
166
|
-
typeOf: factory.reservationType.EventReservation, id: reservationId, issuedThrough, bookingTime: params.bookingTime }, (Array.isArray(additionalProperty)) ? { additionalProperty } : undefined), (typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined), {
|
|
175
|
+
const reservation = Object.assign(Object.assign(Object.assign({ typeOf: factory.reservationType.EventReservation, id: reservationId, issuedThrough, bookingTime: params.bookingTime }, (Array.isArray(additionalProperty)) ? { additionalProperty } : undefined), (typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined), {
|
|
167
176
|
// numSeats: 1, // 廃止(2022-08-18~)
|
|
168
177
|
reservationFor: reservationFor, reservationNumber: reservationNumber, reservedTicket: reservedTicket });
|
|
169
178
|
if (requestedOffer.priceSpecification === undefined) {
|
|
@@ -10,22 +10,20 @@ function createRegisterServiceStartParams(params) {
|
|
|
10
10
|
typeOf: factory.assetTransactionType.RegisterService,
|
|
11
11
|
transactionNumber: params.transactionNumber,
|
|
12
12
|
agent: {
|
|
13
|
-
// Sellerに変更(2022-05-30~)
|
|
14
13
|
typeOf: params.transaction.seller.typeOf,
|
|
15
|
-
id:
|
|
14
|
+
id: params.transaction.seller.id,
|
|
16
15
|
name: (typeof params.transaction.seller.name === 'string')
|
|
17
16
|
? params.transaction.seller.name
|
|
18
|
-
: String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja)
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
]
|
|
17
|
+
: String((_a = params.transaction.seller.name) === null || _a === void 0 ? void 0 : _a.ja)
|
|
18
|
+
// identifierを廃止(2024-03-05~)
|
|
19
|
+
// identifier: [
|
|
20
|
+
// { name: 'transaction', value: params.transaction.id },
|
|
21
|
+
// {
|
|
22
|
+
// name: 'transactionExpires',
|
|
23
|
+
// value: moment(params.transaction.expires)
|
|
24
|
+
// .toISOString()
|
|
25
|
+
// }
|
|
26
|
+
// ]
|
|
29
27
|
},
|
|
30
28
|
object: params.object.map((o) => {
|
|
31
29
|
return {
|
|
@@ -3,7 +3,7 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.createNextSendOrderTasks = exports.createInformTasks = void 0;
|
|
5
5
|
const factory = require("../../../../factory");
|
|
6
|
-
|
|
6
|
+
// import { createMaskedCustomer } from '../../../../factory/order';
|
|
7
7
|
const settings_1 = require("../../../../settings");
|
|
8
8
|
const informOrder = (_a = settings_1.settings.onOrderStatusChanged) === null || _a === void 0 ? void 0 : _a.informOrder;
|
|
9
9
|
function creteOrder4inform(order) {
|
|
@@ -52,16 +52,16 @@ exports.createInformTasks = createInformTasks;
|
|
|
52
52
|
function createNextSendOrderTasks(params) {
|
|
53
53
|
const now = new Date();
|
|
54
54
|
const taskAttributes = [];
|
|
55
|
-
const maskedCustomer =
|
|
55
|
+
// const maskedCustomer = createMaskedCustomer({ customer: params.order.customer }, { noProfile: true });
|
|
56
56
|
const simpleOrder = {
|
|
57
57
|
typeOf: params.order.typeOf,
|
|
58
|
-
seller: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
},
|
|
58
|
+
// seller: {
|
|
59
|
+
// id: params.order.seller.id,
|
|
60
|
+
// typeOf: params.order.seller.typeOf,
|
|
61
|
+
// name: params.order.seller.name
|
|
62
|
+
// }, // 廃止(2024-03-06~)
|
|
63
63
|
// mask
|
|
64
|
-
customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
|
|
64
|
+
// customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id }, // 廃止(2024-03-06~)
|
|
65
65
|
orderNumber: params.order.orderNumber,
|
|
66
66
|
price: params.order.price,
|
|
67
67
|
priceCurrency: params.order.priceCurrency,
|
|
@@ -15,7 +15,7 @@ exports.onOrderInTransit = void 0;
|
|
|
15
15
|
*/
|
|
16
16
|
const createDebug = require("debug");
|
|
17
17
|
const factory = require("../../../factory");
|
|
18
|
-
|
|
18
|
+
// import { createMaskedCustomer } from '../../../factory/order';
|
|
19
19
|
const settings_1 = require("../../../settings");
|
|
20
20
|
const debug = createDebug('chevre-domain:service:order');
|
|
21
21
|
function onOrderInTransit(params) {
|
|
@@ -39,16 +39,16 @@ exports.onOrderInTransit = onOrderInTransit;
|
|
|
39
39
|
function createSendOrderTaskIfNotExist(params) {
|
|
40
40
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
41
41
|
const now = new Date();
|
|
42
|
-
const maskedCustomer =
|
|
42
|
+
// const maskedCustomer = createMaskedCustomer({ customer: params.order.customer }, { noProfile: true });
|
|
43
43
|
const simpleOrder = {
|
|
44
44
|
typeOf: params.order.typeOf,
|
|
45
|
-
seller: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
},
|
|
45
|
+
// seller: {
|
|
46
|
+
// id: params.order.seller.id,
|
|
47
|
+
// typeOf: params.order.seller.typeOf,
|
|
48
|
+
// name: params.order.seller.name
|
|
49
|
+
// }, // 廃止(2024-03-06~)
|
|
50
50
|
// mask
|
|
51
|
-
customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
|
|
51
|
+
// customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id }, // 廃止(2024-03-06~)
|
|
52
52
|
orderNumber: params.order.orderNumber,
|
|
53
53
|
price: params.order.price,
|
|
54
54
|
priceCurrency: params.order.priceCurrency,
|