@chevre/domain 21.20.0-alpha.9 → 21.20.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/findTransactionById.ts +21 -0
- package/example/src/chevre/importCategoryCodesFromCOA.ts +2 -1
- package/example/src/chevre/importOffersFromCOA.ts +2 -1
- package/example/src/chevre/migrateActionInstrumentTransactionNumber.ts +93 -0
- package/example/src/chevre/migrateDeleteTransactionTasks.ts +119 -0
- package/example/src/chevre/migrateEventMakesOfferAvailableAtOrFrom.ts +87 -0
- package/example/src/chevre/migrateIAMMemberPOSRoles.ts +3 -2
- package/example/src/chevre/migrateOfferAvailableAtOrFrom.ts +63 -0
- package/example/src/chevre/{migrateOrderPaymentMethodIdentifier.ts → migrateOrderAcceptedOfferSerialNumber.ts} +18 -19
- package/example/src/chevre/onAssetTransactionStatusChanged.ts +36 -0
- package/example/src/chevre/retryTasks.ts +39 -0
- package/example/src/chevre/searchActions.ts +13 -7
- package/example/src/chevre/searchOrderAcceptedOffers.ts +13 -3
- package/example/src/chevre/searchOrders.ts +13 -15
- package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +28 -0
- package/example/src/chevre/sendOrder.ts +37 -0
- package/example/src/chevre/transaction/processPlaceOrder.ts +2 -1
- package/example/src/verifyToken.ts +44 -0
- package/lib/chevre/credentials.d.ts +2 -0
- package/lib/chevre/credentials.js +4 -2
- package/lib/chevre/errorHandler.js +3 -0
- package/lib/chevre/factory/order.d.ts +1 -0
- package/lib/chevre/factory/order.js +2 -1
- package/lib/chevre/factory/reservedAgentIdentifireNames.js +2 -1
- package/lib/chevre/factory/transaction.d.ts +10 -1
- package/lib/chevre/repo/acceptedOffer.d.ts +58 -2
- package/lib/chevre/repo/acceptedOffer.js +100 -4
- package/lib/chevre/repo/accountingReport.d.ts +33 -7
- package/lib/chevre/repo/accountingReport.js +157 -5
- package/lib/chevre/repo/action.d.ts +32 -8
- package/lib/chevre/repo/action.js +114 -54
- package/lib/chevre/repo/event.d.ts +20 -0
- package/lib/chevre/repo/event.js +22 -0
- package/lib/chevre/repo/member.d.ts +8 -1
- package/lib/chevre/repo/member.js +7 -1
- package/lib/chevre/repo/mongoose/schemas/accountingReport.js +2 -1
- package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/action.js +25 -11
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/order.js +38 -11
- package/lib/chevre/repo/offer.d.ts +42 -0
- package/lib/chevre/repo/offer.js +35 -0
- package/lib/chevre/repo/order.js +43 -20
- package/lib/chevre/repo/orderInTransaction.d.ts +44 -0
- package/lib/chevre/repo/orderInTransaction.js +164 -0
- package/lib/chevre/repo/paymentServiceProvider.js +2 -1
- package/lib/chevre/repo/person.js +1 -4
- package/lib/chevre/repo/task.d.ts +26 -3
- package/lib/chevre/repo/task.js +61 -46
- package/lib/chevre/repo/transaction.d.ts +2 -2
- package/lib/chevre/repo/transaction.js +13 -36
- package/lib/chevre/repository.d.ts +5 -0
- package/lib/chevre/repository.js +15 -2
- package/lib/chevre/service/aggregation/event/importFromCOA.js +5 -5
- package/lib/chevre/service/assetTransaction/pay/factory.js +1 -6
- package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.d.ts +9 -0
- package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.js +143 -0
- package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +11 -3
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +4 -165
- package/lib/chevre/service/assetTransaction/pay.d.ts +21 -1
- package/lib/chevre/service/assetTransaction/pay.js +64 -23
- package/lib/chevre/service/assetTransaction/reserve/factory.js +11 -14
- package/lib/chevre/service/assetTransaction/reserveCOA.d.ts +19 -0
- package/lib/chevre/service/assetTransaction/reserveCOA.js +46 -0
- package/lib/chevre/service/code.js +1 -1
- package/lib/chevre/service/delivery.js +2 -2
- package/lib/chevre/service/event/createEvent.js +1 -1
- package/lib/chevre/service/event.js +16 -24
- package/lib/chevre/service/moneyTransfer.js +1 -1
- package/lib/chevre/service/notification.js +71 -66
- package/lib/chevre/service/offer/any.d.ts +35 -0
- package/lib/chevre/service/offer/any.js +67 -0
- package/lib/chevre/service/offer/event/authorize.d.ts +7 -0
- package/lib/chevre/service/offer/event/authorize.js +27 -17
- package/lib/chevre/service/offer/event/cancel.d.ts +2 -0
- package/lib/chevre/service/offer/event/cancel.js +13 -1
- package/lib/chevre/service/offer/event/factory.d.ts +1 -1
- package/lib/chevre/service/offer/event/factory.js +11 -22
- package/lib/chevre/service/offer/event/importFromCOA.js +6 -8
- package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
- package/lib/chevre/service/offer/event/voidTransaction.js +24 -7
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +54 -0
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +138 -0
- package/lib/chevre/service/offer/eventServiceByCOA/cancel.d.ts +39 -0
- package/lib/chevre/service/offer/eventServiceByCOA/cancel.js +59 -0
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +25 -0
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +165 -0
- package/lib/chevre/service/offer/eventServiceByCOA/factory.js +10 -23
- package/lib/chevre/service/offer/eventServiceByCOA.d.ts +4 -89
- package/lib/chevre/service/offer/eventServiceByCOA.js +7 -292
- package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +10 -1
- package/lib/chevre/service/offer/moneyTransfer/authorize.js +49 -3
- package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +1 -1
- package/lib/chevre/service/offer/moneyTransfer/settleTransaction.d.ts +2 -0
- package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +47 -2
- package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +1 -1
- package/lib/chevre/service/offer/product/factory.js +2 -5
- package/lib/chevre/service/offer/product.d.ts +2 -0
- package/lib/chevre/service/offer/product.js +11 -23
- package/lib/chevre/service/order/confirmPayTransaction.d.ts +3 -1
- package/lib/chevre/service/order/confirmPayTransaction.js +4 -4
- package/lib/chevre/service/order/createAccountingReportIfNotExist.js +1 -1
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +12 -1
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +206 -7
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +51 -53
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +10 -25
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +16 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +91 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +8 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +37 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +12 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +115 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +19 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +8 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +41 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +6 -10
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +116 -92
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +4 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +81 -84
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +18 -15
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +62 -1
- package/lib/chevre/service/order/onOrderStatusChanged.d.ts +3 -1
- package/lib/chevre/service/order/onOrderStatusChanged.js +5 -1
- package/lib/chevre/service/order/placeOrder.d.ts +3 -1
- package/lib/chevre/service/order/placeOrder.js +157 -50
- package/lib/chevre/service/order/returnOrder.js +25 -16
- package/lib/chevre/service/order/sendOrder.d.ts +5 -0
- package/lib/chevre/service/order/sendOrder.js +67 -33
- package/lib/chevre/service/payment/any/onPaid.js +1 -1
- package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.d.ts +3 -1
- package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +15 -9
- package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.d.ts +3 -1
- package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +8 -5
- package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +2 -2
- package/lib/chevre/service/payment/any/onRefund.js +1 -1
- package/lib/chevre/service/payment/any.d.ts +6 -2
- package/lib/chevre/service/payment/any.js +3 -2
- package/lib/chevre/service/payment/creditCard.d.ts +1 -1
- package/lib/chevre/service/payment/creditCard.js +62 -68
- package/lib/chevre/service/payment/faceToFace.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
- package/lib/chevre/service/payment/movieTicket.js +1 -1
- package/lib/chevre/service/payment/paymentCard.d.ts +1 -1
- package/lib/chevre/service/payment.d.ts +5 -0
- package/lib/chevre/service/payment.js +40 -5
- package/lib/chevre/service/product.js +1 -1
- package/lib/chevre/service/reserve/cancelReservation.js +2 -2
- package/lib/chevre/service/reserve/checkInReservation.d.ts +1 -3
- package/lib/chevre/service/reserve/checkInReservation.js +6 -5
- package/lib/chevre/service/reserve/confirmReservation.js +1 -1
- package/lib/chevre/service/reserve/factory.js +0 -8
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +1 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +4 -4
- package/lib/chevre/service/reserve/searchByOrder.js +2 -1
- package/lib/chevre/service/reserve/useReservation.d.ts +1 -3
- package/lib/chevre/service/reserve/useReservation.js +10 -9
- package/lib/chevre/service/reserve/verifyToken4reservation.js +2 -0
- package/lib/chevre/service/task/confirmMoneyTransfer.js +4 -4
- package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
- package/lib/chevre/service/task/confirmRegisterServiceTransaction.d.ts +1 -1
- package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +30 -8
- package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -1
- package/lib/chevre/service/task/confirmReserveTransaction.js +176 -29
- package/lib/chevre/service/task/createAccountingReport.d.ts +6 -0
- package/lib/chevre/service/task/createAccountingReport.js +80 -0
- package/lib/chevre/service/task/importOffersFromCOA.js +2 -1
- package/lib/chevre/service/task/onAuthorizationCreated.js +0 -1
- package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -7
- package/lib/chevre/service/task/pay.js +6 -0
- package/lib/chevre/service/task/placeOrder.js +9 -10
- package/lib/chevre/service/task/returnOrder.js +0 -3
- package/lib/chevre/service/task/returnPayTransaction.js +1 -1
- package/lib/chevre/service/task/returnReserveTransaction.js +3 -2
- package/lib/chevre/service/task/sendOrder.js +8 -4
- package/lib/chevre/service/task/useReservation.js +1 -1
- package/lib/chevre/service/task/voidReserveTransaction.js +8 -12
- package/lib/chevre/service/transaction/deleteTransaction.js +1 -1
- package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +2 -18
- package/lib/chevre/service/transaction/moneyTransfer.js +7 -6
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +2 -2
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +17 -20
- package/lib/chevre/service/transaction/placeOrder.js +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/confirm.d.ts +51 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/confirm.js +268 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/factory.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +3 -2
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +22 -44
- package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.d.ts +14 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.js +41 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.d.ts +18 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.js +42 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.d.ts +23 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.js +46 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +34 -37
- package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +3 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +13 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/start.d.ts +19 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/start.js +46 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.d.ts +26 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.js +109 -0
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +10 -23
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +20 -1
- package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +11 -73
- package/lib/chevre/service/transaction/placeOrderInProgress.js +13 -286
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +1 -2
- package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +0 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +8 -3
- package/lib/chevre/service/transaction/returnOrder/preStart.js +78 -50
- package/lib/chevre/service/transaction/returnOrder.js +3 -10
- package/lib/chevre/service.js +0 -10
- package/lib/chevre/settings.d.ts +7 -3
- package/lib/chevre/settings.js +13 -4
- package/package.json +5 -9
- package/example/src/chevre/cleanAccountingReports.ts +0 -57
- package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +0 -78
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +0 -11
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +0 -30
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +0 -7
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +0 -82
- package/lib/chevre/service/util.d.ts +0 -19
- package/lib/chevre/service/util.js +0 -126
|
@@ -21,7 +21,7 @@ const informReservations = settings_1.settings.onReservationStatusChanged.inform
|
|
|
21
21
|
/**
|
|
22
22
|
* 予約使用
|
|
23
23
|
*/
|
|
24
|
-
function onReservationUsed(
|
|
24
|
+
function onReservationUsed(attendedReservation) {
|
|
25
25
|
// tslint:disable-next-line:max-func-body-length
|
|
26
26
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
27
27
|
const tasks = [];
|
|
@@ -54,7 +54,7 @@ function onReservationUsed(action, attendedReservation) {
|
|
|
54
54
|
typeOf: factory.actionType.InformAction
|
|
55
55
|
};
|
|
56
56
|
return {
|
|
57
|
-
project:
|
|
57
|
+
project: attendedReservation.project,
|
|
58
58
|
name: factory.taskName.TriggerWebhook,
|
|
59
59
|
status: factory.taskStatus.Ready,
|
|
60
60
|
runsAt: informTaskRunsAt,
|
|
@@ -67,9 +67,9 @@ function onReservationUsed(action, attendedReservation) {
|
|
|
67
67
|
}
|
|
68
68
|
// projectを限定する(2023-02-21~)
|
|
69
69
|
// 使用アクション集計タスクを作成する(冗長な作成を避ける)
|
|
70
|
-
if (settings_1.settings.useAggregateEntranceGateProjects.includes(
|
|
70
|
+
if (settings_1.settings.useAggregateEntranceGateProjects.includes(attendedReservation.project.id)) {
|
|
71
71
|
const readyAggregateUseActionsTaskDoc = yield repos.task.taskModel.findOne({
|
|
72
|
-
'project.id': { $eq:
|
|
72
|
+
'project.id': { $eq: attendedReservation.project.id },
|
|
73
73
|
name: { $eq: factory.taskName.AggregateUseActionsOnEvent },
|
|
74
74
|
status: { $eq: factory.taskStatus.Ready },
|
|
75
75
|
'data.id': { $exists: true, $eq: attendedReservation.reservationFor.id }
|
|
@@ -16,7 +16,8 @@ const factory = require("../../factory");
|
|
|
16
16
|
const credentials_1 = require("../../credentials");
|
|
17
17
|
const coaAuthClient = new COA.auth.RefreshToken({
|
|
18
18
|
endpoint: credentials_1.credentials.coa.endpoint,
|
|
19
|
-
refreshToken: credentials_1.credentials.coa.refreshToken
|
|
19
|
+
refreshToken: credentials_1.credentials.coa.refreshToken,
|
|
20
|
+
useFetch: credentials_1.credentials.coa.useFetch
|
|
20
21
|
});
|
|
21
22
|
function searchByOrder(params) {
|
|
22
23
|
// tslint:disable-next-line:max-func-body-length
|
|
@@ -4,7 +4,6 @@ import type { MongoRepository as AssetTransactionRepo } from '../../repo/assetTr
|
|
|
4
4
|
import type { MongoRepository as OrderRepo } from '../../repo/order';
|
|
5
5
|
import type { MongoRepository as ReservationRepo } from '../../repo/reservation';
|
|
6
6
|
import type { MongoRepository as TaskRepo } from '../../repo/task';
|
|
7
|
-
import { IUseReservationAction } from './potentialActions/onReservationUsed';
|
|
8
7
|
/**
|
|
9
8
|
* 予約使用
|
|
10
9
|
*/
|
|
@@ -26,11 +25,10 @@ export declare function useReservation(params: {
|
|
|
26
25
|
identifier?: string;
|
|
27
26
|
};
|
|
28
27
|
verifyToken: boolean;
|
|
29
|
-
reserveIfNotYet: boolean;
|
|
30
28
|
}): (repos: {
|
|
31
29
|
action: ActionRepo;
|
|
32
30
|
assetTransaction: AssetTransactionRepo;
|
|
33
31
|
order: OrderRepo;
|
|
34
32
|
reservation: ReservationRepo;
|
|
35
33
|
task: TaskRepo;
|
|
36
|
-
}) => Promise<
|
|
34
|
+
}) => Promise<void>;
|
|
@@ -38,10 +38,7 @@ function useReservation(params) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
// confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
|
|
41
|
-
|
|
42
|
-
if (params.reserveIfNotYet === true) {
|
|
43
|
-
yield reserveIfNotYet({ object: params.object })(repos);
|
|
44
|
-
}
|
|
41
|
+
yield reserveIfNotYet({ object: params.object })(repos);
|
|
45
42
|
// 予約検索
|
|
46
43
|
// 取得属性最適化(2023-01-30~)
|
|
47
44
|
const reservation = yield repos.reservation.findById({
|
|
@@ -68,7 +65,7 @@ function useReservation(params) {
|
|
|
68
65
|
}
|
|
69
66
|
}
|
|
70
67
|
: undefined);
|
|
71
|
-
|
|
68
|
+
const action = yield repos.action.start(actionAttributes);
|
|
72
69
|
// ひとまず予約数:1に限定する
|
|
73
70
|
if (actionAttributes.object.length !== 1) {
|
|
74
71
|
throw new factory.errors.Argument('object', 'number of using reservations must be 1');
|
|
@@ -88,9 +85,9 @@ function useReservation(params) {
|
|
|
88
85
|
throw error;
|
|
89
86
|
}
|
|
90
87
|
// アクション完了
|
|
91
|
-
|
|
92
|
-
yield (0, onReservationUsed_1.onReservationUsed)(
|
|
93
|
-
return action;
|
|
88
|
+
yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: {} });
|
|
89
|
+
yield (0, onReservationUsed_1.onReservationUsed)(attendedReservation)({ task: repos.task });
|
|
90
|
+
// return action;
|
|
94
91
|
});
|
|
95
92
|
}
|
|
96
93
|
exports.useReservation = useReservation;
|
|
@@ -120,7 +117,11 @@ function reserveIfNotYet(params) {
|
|
|
120
117
|
reservationStatus: (typeof reserveTransaction.object.reservationStatus === 'string')
|
|
121
118
|
? reserveTransaction.object.reservationStatus
|
|
122
119
|
: factory.reservationStatusType.ReservationPending,
|
|
123
|
-
reservationFor:
|
|
120
|
+
reservationFor: {
|
|
121
|
+
id: String(reserveTransaction.object.reservationFor.id),
|
|
122
|
+
typeOf: reserveTransaction.object.reservationFor.typeOf,
|
|
123
|
+
optimized: true
|
|
124
|
+
} // optimize(2024-01-24~)
|
|
124
125
|
},
|
|
125
126
|
agent: reserveTransaction.project,
|
|
126
127
|
purpose: { typeOf: reserveTransaction.typeOf, id: reserveTransaction.id }
|
|
@@ -33,6 +33,8 @@ function verifyToken4reservation(params) {
|
|
|
33
33
|
});
|
|
34
34
|
// ステータス検証
|
|
35
35
|
switch (order.orderStatus) {
|
|
36
|
+
case factory.orderStatus.OrderProcessing: // OrderProcessingも許可(2024-01-10~)
|
|
37
|
+
case factory.orderStatus.OrderInTransit: // OrderInTransitも許可(2024-01-12~)
|
|
36
38
|
case factory.orderStatus.OrderDelivered:
|
|
37
39
|
break;
|
|
38
40
|
default:
|
|
@@ -12,17 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.call = void 0;
|
|
13
13
|
const action_1 = require("../../repo/action");
|
|
14
14
|
const assetTransaction_1 = require("../../repo/assetTransaction");
|
|
15
|
+
const task_1 = require("../../repo/task");
|
|
15
16
|
const MoneyTransferOfferService = require("../offer/moneyTransfer");
|
|
16
17
|
/**
|
|
17
18
|
* タスク実行関数
|
|
18
19
|
*/
|
|
19
20
|
function call(data) {
|
|
20
21
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
const actionRepo = new action_1.MongoRepository(settings.connection);
|
|
22
|
-
const assetTransactionRepo = new assetTransaction_1.MongoRepository(settings.connection);
|
|
23
22
|
yield MoneyTransferOfferService.settleTransaction(data)({
|
|
24
|
-
action:
|
|
25
|
-
assetTransaction:
|
|
23
|
+
action: new action_1.MongoRepository(settings.connection),
|
|
24
|
+
assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
|
|
25
|
+
task: new task_1.MongoRepository(settings.connection)
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
28
|
}
|
|
@@ -20,6 +20,7 @@ const order_1 = require("../../repo/order");
|
|
|
20
20
|
const project_1 = require("../../repo/project");
|
|
21
21
|
const task_1 = require("../../repo/task");
|
|
22
22
|
const transaction_1 = require("../../repo/transaction");
|
|
23
|
+
const settings_1 = require("../../settings");
|
|
23
24
|
const confirmPayTransaction_1 = require("../order/confirmPayTransaction");
|
|
24
25
|
/**
|
|
25
26
|
* タスク実行関数
|
|
@@ -29,7 +30,7 @@ function call(data) {
|
|
|
29
30
|
if (settings.redisClient === undefined) {
|
|
30
31
|
throw new factory.errors.Argument('settings', 'redisClient required');
|
|
31
32
|
}
|
|
32
|
-
yield (0, confirmPayTransaction_1.confirmPayTransaction)(data)({
|
|
33
|
+
yield (0, confirmPayTransaction_1.confirmPayTransaction)(data, { minimizePotentialActions: settings_1.USE_MINIMIZED_PAY_TASK })({
|
|
33
34
|
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
34
35
|
action: new action_1.MongoRepository(settings.connection),
|
|
35
36
|
assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
|
|
@@ -12,6 +12,6 @@ export declare function confirmRegisterServiceTransaction(params: factory.action
|
|
|
12
12
|
assetTransaction: AssetTransactionRepo;
|
|
13
13
|
task: TaskRepo;
|
|
14
14
|
}) => Promise<void>;
|
|
15
|
-
export declare function onRegistered(
|
|
15
|
+
export declare function onRegistered(params: factory.action.interact.confirm.registerService.IAttributes): (repos: {
|
|
16
16
|
task: TaskRepo;
|
|
17
17
|
}) => Promise<void>;
|
|
@@ -78,22 +78,44 @@ function confirmRegisterServiceTransaction(params) {
|
|
|
78
78
|
}
|
|
79
79
|
// アクション完了
|
|
80
80
|
const result = {};
|
|
81
|
-
yield repos.action.
|
|
81
|
+
yield repos.action.completeWithVoid({ typeOf: confirmActionAttributes.typeOf, id: action.id, result: result });
|
|
82
82
|
yield onRegistered(confirmActionAttributes)(repos);
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
exports.confirmRegisterServiceTransaction = confirmRegisterServiceTransaction;
|
|
86
|
-
function onRegistered(
|
|
86
|
+
function onRegistered(params) {
|
|
87
87
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
88
88
|
const taskAttributes = [];
|
|
89
|
-
// 次のメンバーシップ注文タスクを作成
|
|
90
|
-
// 廃止(2023-08-18~)
|
|
91
|
-
// const orderProgramMembershipTasks = actionAttributes.potentialActions?.orderProgramMembership;
|
|
92
|
-
// if (Array.isArray(orderProgramMembershipTasks)) {
|
|
93
|
-
// taskAttributes.push(...orderProgramMembershipTasks);
|
|
94
|
-
// }
|
|
95
89
|
// タスク保管
|
|
96
90
|
yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
|
|
91
|
+
if (params.purpose.typeOf === factory.order.OrderType.Order) {
|
|
92
|
+
// タスク冪等作成
|
|
93
|
+
const onAssetTransactionStatusChangedTaskData = {
|
|
94
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
95
|
+
object: {
|
|
96
|
+
typeOf: params.object.typeOf,
|
|
97
|
+
transactionNumber: params.object.transactionNumber,
|
|
98
|
+
status: factory.transactionStatusType.Confirmed
|
|
99
|
+
},
|
|
100
|
+
purpose: {
|
|
101
|
+
confirmationNumber: '',
|
|
102
|
+
orderNumber: params.purpose.orderNumber,
|
|
103
|
+
typeOf: factory.order.OrderType.Order
|
|
104
|
+
},
|
|
105
|
+
useOnOrderStatusChanged: true
|
|
106
|
+
};
|
|
107
|
+
const onAssetTransactionStatusChangedTask = {
|
|
108
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
109
|
+
name: factory.taskName.OnAssetTransactionStatusChanged,
|
|
110
|
+
status: factory.taskStatus.Ready,
|
|
111
|
+
runsAt: new Date(),
|
|
112
|
+
remainingNumberOfTries: 10,
|
|
113
|
+
numberOfTried: 0,
|
|
114
|
+
executionResults: [],
|
|
115
|
+
data: onAssetTransactionStatusChangedTaskData
|
|
116
|
+
};
|
|
117
|
+
yield repos.task.createOnAssetTransactionStatusChangedTaskIfNotExist(onAssetTransactionStatusChangedTask, { emitImmediately: true });
|
|
118
|
+
}
|
|
97
119
|
});
|
|
98
120
|
}
|
|
99
121
|
exports.onRegistered = onRegistered;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IOperation } from '../task';
|
|
2
2
|
import * as factory from '../../factory';
|
|
3
|
+
import { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
|
|
3
4
|
import { MongoRepository as ActionRepo } from '../../repo/action';
|
|
4
5
|
import { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
|
|
5
6
|
import { MongoRepository as OrderRepo } from '../../repo/order';
|
|
@@ -12,7 +13,11 @@ export declare function call(data: factory.task.IData<factory.taskName.ConfirmRe
|
|
|
12
13
|
/**
|
|
13
14
|
* 予約を確定する
|
|
14
15
|
*/
|
|
15
|
-
export declare function confirmReserveTransaction(params: factory.
|
|
16
|
+
export declare function confirmReserveTransaction(params: factory.task.IData<factory.taskName.ConfirmReserveTransaction>, options: {
|
|
17
|
+
sendOrder: boolean;
|
|
18
|
+
useOnOrderStatusChanged: boolean;
|
|
19
|
+
}): (repos: {
|
|
20
|
+
acceptedOffer: AcceptedOfferRepo;
|
|
16
21
|
action: ActionRepo;
|
|
17
22
|
assetTransaction: AssetTransactionRepo;
|
|
18
23
|
order: OrderRepo;
|
|
@@ -10,25 +10,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.confirmReserveTransaction = exports.call = void 0;
|
|
13
|
-
const
|
|
13
|
+
const createDebug = require("debug");
|
|
14
|
+
const google_libphonenumber_1 = require("google-libphonenumber");
|
|
15
|
+
const util_1 = require("util");
|
|
14
16
|
const factory = require("../../factory");
|
|
17
|
+
// import { USE_OPTIMIZED_CONFIRM_RESERVE_COA_TASK_VERIFY } from '../../settings';
|
|
18
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
15
19
|
const action_1 = require("../../repo/action");
|
|
16
20
|
const assetTransaction_1 = require("../../repo/assetTransaction");
|
|
17
21
|
const order_1 = require("../../repo/order");
|
|
18
22
|
const reservation_1 = require("../../repo/reservation");
|
|
19
23
|
const task_1 = require("../../repo/task");
|
|
20
24
|
const ReserveTransactionService = require("../assetTransaction/reserve");
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
endpoint: credentials_1.credentials.coa.endpoint,
|
|
24
|
-
refreshToken: credentials_1.credentials.coa.refreshToken
|
|
25
|
-
});
|
|
25
|
+
const COAReserveService = require("../assetTransaction/reserveCOA");
|
|
26
|
+
const debug = createDebug('chevre-domain:service:task');
|
|
26
27
|
/**
|
|
27
28
|
* タスク実行関数
|
|
28
29
|
*/
|
|
29
30
|
function call(data) {
|
|
30
31
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
yield confirmReserveTransaction(data
|
|
32
|
+
yield confirmReserveTransaction(data, {
|
|
33
|
+
sendOrder: true,
|
|
34
|
+
useOnOrderStatusChanged: true
|
|
35
|
+
})({
|
|
36
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
32
37
|
action: new action_1.MongoRepository(settings.connection),
|
|
33
38
|
assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
|
|
34
39
|
order: new order_1.MongoRepository(settings.connection),
|
|
@@ -38,39 +43,145 @@ function call(data) {
|
|
|
38
43
|
});
|
|
39
44
|
}
|
|
40
45
|
exports.call = call;
|
|
46
|
+
function createConfirmObject4COAByOrder(params) {
|
|
47
|
+
// COA予約のみ
|
|
48
|
+
const coaReservationOffers = params.order.acceptedOffers.filter((o) => {
|
|
49
|
+
var _a;
|
|
50
|
+
return o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
51
|
+
&& ((_a = o.offeredThrough) === null || _a === void 0 ? void 0 : _a.identifier) === factory.service.webAPI.Identifier.COA;
|
|
52
|
+
});
|
|
53
|
+
const customer = params.order.customer;
|
|
54
|
+
// 電話番号のフォーマットを日本人にリーダブルに調整(COAではこのフォーマットで扱うので)
|
|
55
|
+
const phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
|
|
56
|
+
const phoneNumber = phoneUtil.parse(customer.telephone, 'JP');
|
|
57
|
+
let telNum = phoneUtil.format(phoneNumber, google_libphonenumber_1.PhoneNumberFormat.NATIONAL);
|
|
58
|
+
// COAでは数字のみ受け付けるので数字以外を除去
|
|
59
|
+
telNum = telNum.replace(/[^\d]/g, '');
|
|
60
|
+
const mailAddr = customer.email;
|
|
61
|
+
if (mailAddr === undefined) {
|
|
62
|
+
throw new factory.errors.Argument('order', 'order.customer.email undefined');
|
|
63
|
+
}
|
|
64
|
+
const coaReservations = coaReservationOffers
|
|
65
|
+
.filter((o) => o.itemOffered.reservationNumber === params.reservationNumber)
|
|
66
|
+
.map((o) => {
|
|
67
|
+
return o.itemOffered;
|
|
68
|
+
});
|
|
69
|
+
const coaReservation = coaReservations[0];
|
|
70
|
+
const reservationForCOAInfo = coaReservation.reservationFor.coaInfo;
|
|
71
|
+
if (reservationForCOAInfo === undefined) {
|
|
72
|
+
throw new factory.errors.NotFound('reservationFor.coaInfo');
|
|
73
|
+
}
|
|
74
|
+
const totalPrice = coaReservation.reservedTicket.coaReserveAmount;
|
|
75
|
+
if (totalPrice === undefined) {
|
|
76
|
+
throw new factory.errors.NotFound('reservedTicket.coaReserveAmount');
|
|
77
|
+
}
|
|
78
|
+
const listTicket = coaReservations.map((r) => {
|
|
79
|
+
var _a;
|
|
80
|
+
if (typeof ((_a = r.reservedTicket.coaTicketInfo) === null || _a === void 0 ? void 0 : _a.ticketCode) !== 'string') {
|
|
81
|
+
throw new factory.errors.NotFound('reservedTicket.coaTicketInfo');
|
|
82
|
+
}
|
|
83
|
+
// 冗長な属性を排除(2023-03-20~)
|
|
84
|
+
const { ticketCode, stdPrice, addPrice, spseatAdd1, spseatAdd2, disPrice, salePrice, mvtkAppPrice, ticketCount, spseatKbn, seatNum, addGlasses, kbnEisyahousiki, mvtkNum, mvtkKbnDenshiken, mvtkKbnMaeuriken, mvtkKbnKensyu, mvtkSalesPrice, kbnMgtk } = r.reservedTicket.coaTicketInfo;
|
|
85
|
+
return {
|
|
86
|
+
ticketCode, stdPrice, addPrice, spseatAdd1, spseatAdd2,
|
|
87
|
+
disPrice, salePrice, mvtkAppPrice, ticketCount, spseatKbn,
|
|
88
|
+
seatNum, addGlasses, kbnEisyahousiki, mvtkNum, mvtkKbnDenshiken,
|
|
89
|
+
mvtkKbnMaeuriken, mvtkKbnKensyu, mvtkSalesPrice, kbnMgtk
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
theaterCode: reservationForCOAInfo.theaterCode,
|
|
94
|
+
dateJouei: reservationForCOAInfo.dateJouei,
|
|
95
|
+
titleCode: reservationForCOAInfo.titleCode,
|
|
96
|
+
titleBranchNum: reservationForCOAInfo.titleBranchNum,
|
|
97
|
+
timeBegin: reservationForCOAInfo.timeBegin,
|
|
98
|
+
tmpReserveNum: params.reservationNumber,
|
|
99
|
+
// tslint:disable-next-line:no-irregular-whitespace
|
|
100
|
+
reserveName: (0, util_1.format)('%s %s', customer.familyName, customer.givenName),
|
|
101
|
+
// tslint:disable-next-line:no-irregular-whitespace
|
|
102
|
+
reserveNameJkana: (0, util_1.format)('%s %s', customer.familyName, customer.givenName),
|
|
103
|
+
telNum: telNum,
|
|
104
|
+
mailAddr: mailAddr,
|
|
105
|
+
reserveAmount: totalPrice,
|
|
106
|
+
listTicket
|
|
107
|
+
// transactionNumber: reservationNumber,
|
|
108
|
+
// typeOf: 'COAReserveTransaction'
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function fixOrderAsPurpose(params) {
|
|
112
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
let order;
|
|
114
|
+
const purposeOrderNumber = params.purpose.orderNumber;
|
|
115
|
+
const orders = yield repos.order.search({
|
|
116
|
+
limit: 1,
|
|
117
|
+
page: 1,
|
|
118
|
+
project: { id: { $eq: params.project.id } },
|
|
119
|
+
// confirmationNumbers: [payPurposeConfirmationNumber],
|
|
120
|
+
orderNumbers: [purposeOrderNumber]
|
|
121
|
+
}, { customer: 1, orderNumber: 1, typeOf: 1 });
|
|
122
|
+
order = orders.shift();
|
|
123
|
+
if (order === undefined) {
|
|
124
|
+
throw new factory.errors.NotFound('Order as purpose');
|
|
125
|
+
}
|
|
126
|
+
const acceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
127
|
+
orderNumber: { $eq: order.orderNumber },
|
|
128
|
+
project: { id: { $eq: params.project.id } }
|
|
129
|
+
}, ['itemOffered', 'offeredThrough']);
|
|
130
|
+
return Object.assign(Object.assign({}, order), { acceptedOffers });
|
|
131
|
+
});
|
|
132
|
+
}
|
|
41
133
|
/**
|
|
42
134
|
* 予約を確定する
|
|
43
135
|
*/
|
|
44
|
-
function confirmReserveTransaction(params) {
|
|
136
|
+
function confirmReserveTransaction(params, options) {
|
|
45
137
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
let confirmActionObject;
|
|
139
|
+
switch (params.instrument.identifier) {
|
|
140
|
+
case factory.service.webAPI.Identifier.COA:
|
|
141
|
+
// 最適化されたタスクに対応するため、ここでIObject4COAを注文から生成する(2024-01-24~)
|
|
142
|
+
const order = yield fixOrderAsPurpose({
|
|
143
|
+
project: { id: params.project.id },
|
|
144
|
+
purpose: params.purpose
|
|
145
|
+
})(repos);
|
|
146
|
+
const updReserveArgs = createConfirmObject4COAByOrder({ order, reservationNumber: params.object.transactionNumber });
|
|
147
|
+
debug('confirming coa reserve transaction...', order, updReserveArgs);
|
|
148
|
+
const object4coa = Object.assign(Object.assign({}, updReserveArgs), { transactionNumber: params.object.transactionNumber, typeOf: 'COAReserveTransaction' });
|
|
149
|
+
// if (USE_OPTIMIZED_CONFIRM_RESERVE_COA_TASK_VERIFY) {
|
|
150
|
+
// const isValidObject = JSON.stringify(object4coa) === JSON.stringify(params.object);
|
|
151
|
+
// debug('confirmActionObject === params.object?', isValidObject);
|
|
152
|
+
// if (!isValidObject) {
|
|
153
|
+
// throw new factory.errors.Argument('object', 'object4coa !== params.object');
|
|
154
|
+
// }
|
|
155
|
+
// }
|
|
156
|
+
// 上書き
|
|
157
|
+
confirmActionObject = object4coa;
|
|
158
|
+
// if (USE_OPTIMIZED_CONFIRM_RESERVE_COA_TASK) {
|
|
159
|
+
// // 上書き
|
|
160
|
+
// confirmActionObject = object4coa;
|
|
161
|
+
// } else {
|
|
162
|
+
// confirmActionObject = <factory.action.interact.confirm.reservation.IObject4COA>params.object;
|
|
163
|
+
// }
|
|
164
|
+
break;
|
|
165
|
+
default:
|
|
166
|
+
confirmActionObject = params.object;
|
|
167
|
+
}
|
|
46
168
|
// アクション開始
|
|
47
|
-
const confirmActionAttributes = params;
|
|
169
|
+
const confirmActionAttributes = Object.assign(Object.assign({}, params), { object: confirmActionObject });
|
|
48
170
|
const action = yield repos.action.start(confirmActionAttributes);
|
|
171
|
+
let updReserveResult;
|
|
49
172
|
try {
|
|
50
|
-
|
|
173
|
+
const object = confirmActionAttributes.object;
|
|
51
174
|
switch (params.instrument.identifier) {
|
|
52
175
|
case factory.service.webAPI.Identifier.COA:
|
|
53
176
|
// COA本予約
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
endpoint: credentials_1.credentials.coa.endpoint,
|
|
60
|
-
auth: coaAuthClient
|
|
61
|
-
}, { timeout: credentials_1.credentials.coa.timeout });
|
|
62
|
-
const stateReserveResult = yield reserveService.stateReserve({
|
|
63
|
-
theaterCode: object.theaterCode,
|
|
64
|
-
reserveNum: object.tmpReserveNum,
|
|
65
|
-
telNum: object.telNum
|
|
66
|
-
});
|
|
67
|
-
if (stateReserveResult === null) {
|
|
68
|
-
yield reserveService.updReserve(object);
|
|
69
|
-
}
|
|
177
|
+
updReserveResult = yield COAReserveService.confirm({
|
|
178
|
+
project: { id: confirmActionAttributes.project.id },
|
|
179
|
+
object: object,
|
|
180
|
+
purpose: confirmActionAttributes.purpose
|
|
181
|
+
})({});
|
|
70
182
|
break;
|
|
71
183
|
default:
|
|
72
184
|
// 予約取引確定
|
|
73
|
-
object = object;
|
|
74
185
|
yield ReserveTransactionService.confirm({
|
|
75
186
|
transactionNumber: object.transactionNumber,
|
|
76
187
|
potentialActions: object.potentialActions
|
|
@@ -87,8 +198,44 @@ function confirmReserveTransaction(params) {
|
|
|
87
198
|
throw error;
|
|
88
199
|
}
|
|
89
200
|
// アクション完了
|
|
90
|
-
const result = {};
|
|
91
|
-
yield repos.action.
|
|
201
|
+
const result = { updReserveResult };
|
|
202
|
+
yield repos.action.completeWithVoid({ typeOf: confirmActionAttributes.typeOf, id: action.id, result: result });
|
|
203
|
+
// sendOrder連携(2024-01-11~)
|
|
204
|
+
yield onConfirmed(confirmActionAttributes, options)({
|
|
205
|
+
task: repos.task
|
|
206
|
+
});
|
|
92
207
|
});
|
|
93
208
|
}
|
|
94
209
|
exports.confirmReserveTransaction = confirmReserveTransaction;
|
|
210
|
+
function onConfirmed(params, options) {
|
|
211
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
212
|
+
if (options.sendOrder === true) {
|
|
213
|
+
// タスク冪等作成
|
|
214
|
+
const onAssetTransactionStatusChangedTaskData = {
|
|
215
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
216
|
+
object: {
|
|
217
|
+
typeOf: params.object.typeOf,
|
|
218
|
+
transactionNumber: params.object.transactionNumber,
|
|
219
|
+
status: factory.transactionStatusType.Confirmed
|
|
220
|
+
},
|
|
221
|
+
purpose: {
|
|
222
|
+
confirmationNumber: '',
|
|
223
|
+
orderNumber: params.purpose.orderNumber,
|
|
224
|
+
typeOf: factory.order.OrderType.Order
|
|
225
|
+
},
|
|
226
|
+
useOnOrderStatusChanged: options.useOnOrderStatusChanged === true
|
|
227
|
+
};
|
|
228
|
+
const onAssetTransactionStatusChangedTask = {
|
|
229
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
230
|
+
name: factory.taskName.OnAssetTransactionStatusChanged,
|
|
231
|
+
status: factory.taskStatus.Ready,
|
|
232
|
+
runsAt: new Date(),
|
|
233
|
+
remainingNumberOfTries: 10,
|
|
234
|
+
numberOfTried: 0,
|
|
235
|
+
executionResults: [],
|
|
236
|
+
data: onAssetTransactionStatusChangedTaskData
|
|
237
|
+
};
|
|
238
|
+
yield repos.task.createOnAssetTransactionStatusChangedTaskIfNotExist(onAssetTransactionStatusChangedTask, { emitImmediately: true });
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.call = void 0;
|
|
13
|
+
const factory = require("../../factory");
|
|
14
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
15
|
+
const accountingReport_1 = require("../../repo/accountingReport");
|
|
16
|
+
const action_1 = require("../../repo/action");
|
|
17
|
+
const order_1 = require("../../repo/order");
|
|
18
|
+
const createAccountingReportIfNotExist_1 = require("../order/createAccountingReportIfNotExist");
|
|
19
|
+
/**
|
|
20
|
+
* タスク実行関数
|
|
21
|
+
*/
|
|
22
|
+
function call(data) {
|
|
23
|
+
return ({ connection }) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield createAccountingReport(data)({
|
|
25
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(connection),
|
|
26
|
+
accountingReport: new accountingReport_1.MongoRepository(connection),
|
|
27
|
+
action: new action_1.MongoRepository(connection),
|
|
28
|
+
order: new order_1.MongoRepository(connection)
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.call = call;
|
|
33
|
+
function createAccountingReport(params) {
|
|
34
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const order = yield repos.order.findByOrderNumber({
|
|
36
|
+
orderNumber: params.object.mainEntity.orderNumber,
|
|
37
|
+
project: { id: params.project.id },
|
|
38
|
+
inclusion: [],
|
|
39
|
+
exclusion: []
|
|
40
|
+
});
|
|
41
|
+
const simpleOrder = {
|
|
42
|
+
typeOf: order.typeOf,
|
|
43
|
+
seller: {
|
|
44
|
+
id: order.seller.id,
|
|
45
|
+
typeOf: order.seller.typeOf,
|
|
46
|
+
name: order.seller.name
|
|
47
|
+
},
|
|
48
|
+
customer: { typeOf: order.customer.typeOf, id: order.customer.id },
|
|
49
|
+
orderNumber: order.orderNumber,
|
|
50
|
+
price: order.price,
|
|
51
|
+
priceCurrency: order.priceCurrency,
|
|
52
|
+
orderDate: order.orderDate
|
|
53
|
+
};
|
|
54
|
+
const actionAttributes = {
|
|
55
|
+
project: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
56
|
+
typeOf: factory.actionType.CreateAction,
|
|
57
|
+
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
|
|
58
|
+
object: Object.assign(Object.assign({}, params), { typeOf: 'Report' }),
|
|
59
|
+
purpose: simpleOrder
|
|
60
|
+
};
|
|
61
|
+
const action = yield repos.action.start(actionAttributes);
|
|
62
|
+
try {
|
|
63
|
+
const acceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
64
|
+
orderNumber: { $eq: params.object.mainEntity.orderNumber },
|
|
65
|
+
project: { id: { $eq: params.project.id } }
|
|
66
|
+
});
|
|
67
|
+
yield (0, createAccountingReportIfNotExist_1.createAccountingReportIfNotExist)(Object.assign(Object.assign({}, order), { acceptedOffers }))(repos);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
try {
|
|
71
|
+
yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
|
|
72
|
+
}
|
|
73
|
+
catch (__) {
|
|
74
|
+
// 失敗したら仕方ない
|
|
75
|
+
}
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: {} });
|
|
79
|
+
});
|
|
80
|
+
}
|
|
@@ -18,7 +18,8 @@ const credentials_1 = require("../../credentials");
|
|
|
18
18
|
const OfferService = require("../offer");
|
|
19
19
|
const coaAuthClient = new COA.auth.RefreshToken({
|
|
20
20
|
endpoint: credentials_1.credentials.coa.endpoint,
|
|
21
|
-
refreshToken: credentials_1.credentials.coa.refreshToken
|
|
21
|
+
refreshToken: credentials_1.credentials.coa.refreshToken,
|
|
22
|
+
useFetch: credentials_1.credentials.coa.useFetch
|
|
22
23
|
});
|
|
23
24
|
/**
|
|
24
25
|
* タスク実行関数
|