@chevre/domain 21.20.0-alpha.8 → 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 -3
- 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 -6
- 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 +5 -5
- 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 -5
- 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 -5
- package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +0 -2
- package/lib/chevre/service/payment/movieTicket/checkByIdentifier.js +1 -0
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +0 -2
- package/lib/chevre/service/payment/movieTicket.d.ts +1 -7
- package/lib/chevre/service/payment/movieTicket.js +1 -1
- package/lib/chevre/service/payment/paymentCard.d.ts +1 -3
- package/lib/chevre/service/payment/paymentCard.js +6 -6
- 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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// import * as COA from '@motionpicture/coa-service';
|
|
3
|
+
// import { PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';
|
|
4
|
+
// import { format } from 'util';
|
|
2
5
|
var _a;
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
5
|
-
const google_libphonenumber_1 = require("google-libphonenumber");
|
|
6
|
-
const util_1 = require("util");
|
|
7
|
+
exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = void 0;
|
|
7
8
|
const factory = require("../../../../factory");
|
|
8
9
|
const order_1 = require("../../../../factory/order");
|
|
9
10
|
const reservedAgentIdentifireNames_1 = require("../../../../factory/reservedAgentIdentifireNames");
|
|
@@ -47,14 +48,15 @@ function createInformTasks(order) {
|
|
|
47
48
|
}
|
|
48
49
|
exports.createInformTasks = createInformTasks;
|
|
49
50
|
function creteOrder4inform(order) {
|
|
50
|
-
// 冗長な個人情報をmask
|
|
51
51
|
return Object.assign({
|
|
52
52
|
// whitelistで作成する(2022-07-19~)
|
|
53
|
-
project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers:
|
|
53
|
+
project: order.project, typeOf: order.typeOf, seller: order.seller, price: order.price, priceCurrency: order.priceCurrency, confirmationNumber: order.confirmationNumber, orderNumber: order.orderNumber, acceptedOffers: [],
|
|
54
|
+
// numAcceptedOffers: order.acceptedOffers.length,
|
|
55
|
+
numAcceptedOffers: order.numAcceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
|
|
54
56
|
// mask
|
|
55
57
|
customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order, { noProfile: false })), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
|
|
56
58
|
// identifierは必要
|
|
57
|
-
//
|
|
59
|
+
// 予約語を隠蔽(2022-12-24~)
|
|
58
60
|
identifier: (Array.isArray(order.customer.identifier))
|
|
59
61
|
? order.customer.identifier.filter((p) => {
|
|
60
62
|
return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
|
|
@@ -68,16 +70,8 @@ function creteOrder4inform(order) {
|
|
|
68
70
|
}) }, (typeof order.id === 'string') ? { id: order.id } : undefined);
|
|
69
71
|
}
|
|
70
72
|
function createConfirmReservationActionObject4ChevreByOrder(params) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return (o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
74
|
-
|| o.itemOffered.typeOf === factory.reservationType.BusReservation)
|
|
75
|
-
&& ((_a = o.offeredThrough) === null || _a === void 0 ? void 0 : _a.identifier) === factory.service.webAPI.Identifier.Chevre;
|
|
76
|
-
})
|
|
77
|
-
.map((o) => {
|
|
78
|
-
return o.itemOffered.reservationNumber;
|
|
79
|
-
});
|
|
80
|
-
return [...new Set(chevreReservationNumbers)].map((reservationNumber) => {
|
|
73
|
+
// serialNumberから生成(2024-02-01~)
|
|
74
|
+
return params.order.serialNumbers.map((reservationNumber) => {
|
|
81
75
|
return {
|
|
82
76
|
potentialActions: {
|
|
83
77
|
reserve: {
|
|
@@ -92,89 +86,119 @@ function createConfirmReservationActionObject4ChevreByOrder(params) {
|
|
|
92
86
|
typeOf: factory.assetTransactionType.Reserve
|
|
93
87
|
};
|
|
94
88
|
});
|
|
89
|
+
// const chevreReservationNumbers: string[] = params.order.acceptedOffers.filter((o) => {
|
|
90
|
+
// return (
|
|
91
|
+
// o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
92
|
+
// || o.itemOffered.typeOf === factory.reservationType.BusReservation
|
|
93
|
+
// )
|
|
94
|
+
// && o.offeredThrough?.identifier === factory.service.webAPI.Identifier.Chevre;
|
|
95
|
+
// })
|
|
96
|
+
// .map((o) => {
|
|
97
|
+
// return (<factory.order.IReservation>o.itemOffered).reservationNumber;
|
|
98
|
+
// });
|
|
99
|
+
// return [...new Set(chevreReservationNumbers)].map((reservationNumber) => {
|
|
100
|
+
// return {
|
|
101
|
+
// potentialActions: {
|
|
102
|
+
// reserve: {
|
|
103
|
+
// purpose: {
|
|
104
|
+
// confirmationNumber: params.order.confirmationNumber,
|
|
105
|
+
// orderNumber: params.order.orderNumber,
|
|
106
|
+
// typeOf: factory.order.OrderType.Order
|
|
107
|
+
// }
|
|
108
|
+
// }
|
|
109
|
+
// },
|
|
110
|
+
// transactionNumber: reservationNumber,
|
|
111
|
+
// typeOf: factory.assetTransactionType.Reserve
|
|
112
|
+
// };
|
|
113
|
+
// });
|
|
95
114
|
}
|
|
96
115
|
exports.createConfirmReservationActionObject4ChevreByOrder = createConfirmReservationActionObject4ChevreByOrder;
|
|
97
116
|
function createConfirmReservationActionObject4COAByOrder(params) {
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
102
|
-
&& ((_a = o.offeredThrough) === null || _a === void 0 ? void 0 : _a.identifier) === factory.service.webAPI.Identifier.COA;
|
|
103
|
-
});
|
|
104
|
-
const coaReservationNumbers = [...new Set(coaReservationOffers
|
|
105
|
-
.map((o) => {
|
|
106
|
-
return o.itemOffered.reservationNumber;
|
|
107
|
-
}))];
|
|
108
|
-
const customer = params.order.customer;
|
|
109
|
-
// 電話番号のフォーマットを日本人にリーダブルに調整(COAではこのフォーマットで扱うので)
|
|
110
|
-
const phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
|
|
111
|
-
const phoneNumber = phoneUtil.parse(customer.telephone, 'JP');
|
|
112
|
-
let telNum = phoneUtil.format(phoneNumber, google_libphonenumber_1.PhoneNumberFormat.NATIONAL);
|
|
113
|
-
// COAでは数字のみ受け付けるので数字以外を除去
|
|
114
|
-
telNum = telNum.replace(/[^\d]/g, '');
|
|
115
|
-
const mailAddr = customer.email;
|
|
116
|
-
if (mailAddr === undefined) {
|
|
117
|
-
throw new factory.errors.Argument('order', 'order.customer.email undefined');
|
|
118
|
-
}
|
|
119
|
-
return coaReservationNumbers.map((reservationNumber) => {
|
|
120
|
-
const coaReservations = coaReservationOffers
|
|
121
|
-
.filter((o) => o.itemOffered.reservationNumber === reservationNumber)
|
|
122
|
-
.map((o) => {
|
|
123
|
-
return o.itemOffered;
|
|
124
|
-
});
|
|
125
|
-
const coaReservation = coaReservations[0];
|
|
126
|
-
const reservationForCOAInfo = coaReservation.reservationFor.coaInfo;
|
|
127
|
-
if (reservationForCOAInfo === undefined) {
|
|
128
|
-
throw new factory.errors.NotFound('reservationFor.coaInfo');
|
|
129
|
-
}
|
|
130
|
-
const totalPrice = coaReservation.reservedTicket.coaReserveAmount;
|
|
131
|
-
if (totalPrice === undefined) {
|
|
132
|
-
throw new factory.errors.NotFound('reservedTicket.coaReserveAmount');
|
|
133
|
-
}
|
|
134
|
-
const listTicket = coaReservations.map((r) => {
|
|
135
|
-
var _a;
|
|
136
|
-
if (typeof ((_a = r.reservedTicket.coaTicketInfo) === null || _a === void 0 ? void 0 : _a.ticketCode) !== 'string') {
|
|
137
|
-
throw new factory.errors.NotFound('reservedTicket.coaTicketInfo');
|
|
138
|
-
}
|
|
139
|
-
// 冗長な属性を排除(2023-03-20~)
|
|
140
|
-
const { ticketCode, stdPrice, addPrice, spseatAdd1, spseatAdd2, disPrice, salePrice, mvtkAppPrice, ticketCount, spseatKbn, seatNum, addGlasses, kbnEisyahousiki, mvtkNum, mvtkKbnDenshiken, mvtkKbnMaeuriken, mvtkKbnKensyu, mvtkSalesPrice, kbnMgtk } = r.reservedTicket.coaTicketInfo;
|
|
141
|
-
return {
|
|
142
|
-
ticketCode, stdPrice, addPrice, spseatAdd1, spseatAdd2,
|
|
143
|
-
disPrice, salePrice, mvtkAppPrice, ticketCount, spseatKbn,
|
|
144
|
-
seatNum, addGlasses, kbnEisyahousiki, mvtkNum, mvtkKbnDenshiken,
|
|
145
|
-
mvtkKbnMaeuriken, mvtkKbnKensyu, mvtkSalesPrice, kbnMgtk
|
|
146
|
-
};
|
|
147
|
-
});
|
|
117
|
+
// serialNumberから生成(2024-02-01~)
|
|
118
|
+
return params.order.serialNumbers.map((reservationNumber) => {
|
|
119
|
+
// 完全に最適化(2024-01-31~)
|
|
148
120
|
return {
|
|
149
|
-
|
|
150
|
-
dateJouei: reservationForCOAInfo.dateJouei,
|
|
151
|
-
titleCode: reservationForCOAInfo.titleCode,
|
|
152
|
-
titleBranchNum: reservationForCOAInfo.titleBranchNum,
|
|
153
|
-
timeBegin: reservationForCOAInfo.timeBegin,
|
|
154
|
-
tmpReserveNum: reservationNumber,
|
|
155
|
-
// tslint:disable-next-line:no-irregular-whitespace
|
|
156
|
-
reserveName: (0, util_1.format)('%s %s', customer.familyName, customer.givenName),
|
|
157
|
-
// tslint:disable-next-line:no-irregular-whitespace
|
|
158
|
-
reserveNameJkana: (0, util_1.format)('%s %s', customer.familyName, customer.givenName),
|
|
159
|
-
telNum: telNum,
|
|
160
|
-
mailAddr: mailAddr,
|
|
161
|
-
reserveAmount: totalPrice,
|
|
162
|
-
listTicket,
|
|
121
|
+
optimized: true,
|
|
163
122
|
transactionNumber: reservationNumber,
|
|
164
123
|
typeOf: 'COAReserveTransaction'
|
|
165
124
|
};
|
|
166
125
|
});
|
|
126
|
+
// const coaReservationOffers = params.order.acceptedOffers.filter((o) => {
|
|
127
|
+
// return o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
128
|
+
// && o.offeredThrough?.identifier === factory.service.webAPI.Identifier.COA;
|
|
129
|
+
// });
|
|
130
|
+
// const coaReservationNumbers: string[] = [...new Set(coaReservationOffers
|
|
131
|
+
// .map((o) => {
|
|
132
|
+
// return (<factory.order.IReservation>o.itemOffered).reservationNumber;
|
|
133
|
+
// }))];
|
|
134
|
+
// // const customer = params.order.customer;
|
|
135
|
+
// // // 電話番号のフォーマットを日本人にリーダブルに調整(COAではこのフォーマットで扱うので)
|
|
136
|
+
// // const phoneUtil = PhoneNumberUtil.getInstance();
|
|
137
|
+
// // const phoneNumber = phoneUtil.parse(customer.telephone, 'JP');
|
|
138
|
+
// // let telNum = phoneUtil.format(phoneNumber, PhoneNumberFormat.NATIONAL);
|
|
139
|
+
// // // COAでは数字のみ受け付けるので数字以外を除去
|
|
140
|
+
// // telNum = telNum.replace(/[^\d]/g, '');
|
|
141
|
+
// // const mailAddr = customer.email;
|
|
142
|
+
// // if (mailAddr === undefined) {
|
|
143
|
+
// // throw new factory.errors.Argument('order', 'order.customer.email undefined');
|
|
144
|
+
// // }
|
|
145
|
+
// return coaReservationNumbers.map((reservationNumber) => {
|
|
146
|
+
// // 完全に最適化(2024-01-31~)
|
|
147
|
+
// return {
|
|
148
|
+
// optimized: true,
|
|
149
|
+
// transactionNumber: reservationNumber,
|
|
150
|
+
// typeOf: 'COAReserveTransaction'
|
|
151
|
+
// };
|
|
152
|
+
// // const coaReservations = coaReservationOffers
|
|
153
|
+
// // .filter((o) => (<factory.order.IEventReservation>o.itemOffered).reservationNumber === reservationNumber)
|
|
154
|
+
// // .map((o) => {
|
|
155
|
+
// // return <factory.order.IEventReservation>o.itemOffered;
|
|
156
|
+
// // });
|
|
157
|
+
// // const coaReservation = coaReservations[0];
|
|
158
|
+
// // const reservationForCOAInfo = coaReservation.reservationFor.coaInfo;
|
|
159
|
+
// // if (reservationForCOAInfo === undefined) {
|
|
160
|
+
// // throw new factory.errors.NotFound('reservationFor.coaInfo');
|
|
161
|
+
// // }
|
|
162
|
+
// // const totalPrice = coaReservation.reservedTicket.coaReserveAmount;
|
|
163
|
+
// // if (totalPrice === undefined) {
|
|
164
|
+
// // throw new factory.errors.NotFound('reservedTicket.coaReserveAmount');
|
|
165
|
+
// // }
|
|
166
|
+
// // const listTicket: COA.factory.reserve.IUpdReserveTicket[] = coaReservations.map((r) => {
|
|
167
|
+
// // if (typeof r.reservedTicket.coaTicketInfo?.ticketCode !== 'string') {
|
|
168
|
+
// // throw new factory.errors.NotFound('reservedTicket.coaTicketInfo');
|
|
169
|
+
// // }
|
|
170
|
+
// // // 冗長な属性を排除(2023-03-20~)
|
|
171
|
+
// // const {
|
|
172
|
+
// // ticketCode, stdPrice, addPrice, spseatAdd1, spseatAdd2,
|
|
173
|
+
// // disPrice, salePrice, mvtkAppPrice, ticketCount, spseatKbn,
|
|
174
|
+
// // seatNum, addGlasses, kbnEisyahousiki, mvtkNum, mvtkKbnDenshiken,
|
|
175
|
+
// // mvtkKbnMaeuriken, mvtkKbnKensyu, mvtkSalesPrice, kbnMgtk
|
|
176
|
+
// // } = r.reservedTicket.coaTicketInfo;
|
|
177
|
+
// // return {
|
|
178
|
+
// // ticketCode, stdPrice, addPrice, spseatAdd1, spseatAdd2,
|
|
179
|
+
// // disPrice, salePrice, mvtkAppPrice, ticketCount, spseatKbn,
|
|
180
|
+
// // seatNum, addGlasses, kbnEisyahousiki, mvtkNum, mvtkKbnDenshiken,
|
|
181
|
+
// // mvtkKbnMaeuriken, mvtkKbnKensyu, mvtkSalesPrice, kbnMgtk
|
|
182
|
+
// // };
|
|
183
|
+
// // });
|
|
184
|
+
// // return {
|
|
185
|
+
// // theaterCode: reservationForCOAInfo.theaterCode,
|
|
186
|
+
// // dateJouei: reservationForCOAInfo.dateJouei,
|
|
187
|
+
// // titleCode: reservationForCOAInfo.titleCode,
|
|
188
|
+
// // titleBranchNum: reservationForCOAInfo.titleBranchNum,
|
|
189
|
+
// // timeBegin: reservationForCOAInfo.timeBegin,
|
|
190
|
+
// // tmpReserveNum: reservationNumber,
|
|
191
|
+
// tslint:disable-next-line:no-irregular-whitespace
|
|
192
|
+
// // reserveName: format('%s %s', customer.familyName, customer.givenName),
|
|
193
|
+
// tslint:disable-next-line:no-irregular-whitespace
|
|
194
|
+
// // reserveNameJkana: format('%s %s', customer.familyName, customer.givenName),
|
|
195
|
+
// // telNum: telNum,
|
|
196
|
+
// // mailAddr: mailAddr,
|
|
197
|
+
// // reserveAmount: totalPrice, // デフォルトのpriceCurrencyがJPYなのでこれでよし
|
|
198
|
+
// // listTicket,
|
|
199
|
+
// // transactionNumber: reservationNumber,
|
|
200
|
+
// // typeOf: 'COAReserveTransaction'
|
|
201
|
+
// // };
|
|
202
|
+
// });
|
|
167
203
|
}
|
|
168
204
|
exports.createConfirmReservationActionObject4COAByOrder = createConfirmReservationActionObject4COAByOrder;
|
|
169
|
-
function createConfirmRegisterServiceActionObjectByOrder(params) {
|
|
170
|
-
// いったん保留
|
|
171
|
-
const chevreTransactionNumbers = [];
|
|
172
|
-
return [...new Set(chevreTransactionNumbers)].map((transactionNumber) => {
|
|
173
|
-
return {
|
|
174
|
-
endDate: params.order.orderDate,
|
|
175
|
-
transactionNumber,
|
|
176
|
-
typeOf: factory.assetTransactionType.RegisterService
|
|
177
|
-
};
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
exports.createConfirmRegisterServiceActionObjectByOrder = createConfirmRegisterServiceActionObjectByOrder;
|
|
@@ -5,7 +5,10 @@ type IPlaceOrderTransaction = Pick<factory.transaction.placeOrder.ITransaction,
|
|
|
5
5
|
declare function onOrderProcessing(params: {
|
|
6
6
|
order: Omit<factory.order.IOrder, 'orderStatus'> & {
|
|
7
7
|
orderStatus: factory.orderStatus.OrderProcessing;
|
|
8
|
-
|
|
8
|
+
numAcceptedOffers: number;
|
|
9
|
+
itemOfferedTypeOf: factory.order.IItemOffered['typeOf'];
|
|
10
|
+
serialNumbers: string[];
|
|
11
|
+
offeredThroughIdentifier?: factory.service.webAPI.Identifier;
|
|
9
12
|
};
|
|
10
13
|
placeOrderTransaction?: IPlaceOrderTransaction;
|
|
11
14
|
}): (repos: {
|
|
@@ -14,16 +14,19 @@ exports.onOrderProcessing = void 0;
|
|
|
14
14
|
* 注文処理時処理
|
|
15
15
|
*/
|
|
16
16
|
const createDebug = require("debug");
|
|
17
|
+
const util = require("util");
|
|
17
18
|
const factory = require("../../../factory");
|
|
18
19
|
const order_1 = require("../../../factory/order");
|
|
20
|
+
const settings_1 = require("../../../settings");
|
|
21
|
+
const createSendEmailMessageTaskIfNotExist_1 = require("./onOrderProcessing/createSendEmailMessageTaskIfNotExist");
|
|
19
22
|
const factory_1 = require("./onOrderProcessing/factory");
|
|
20
23
|
const debug = createDebug('chevre-domain:service:order');
|
|
21
|
-
const USE_CONFIRM_REGISTER_SERVICE_TRANSACTION = process.env.USE_CONFIRM_REGISTER_SERVICE_TRANSACTION === '1';
|
|
22
24
|
function onOrderProcessing(params) {
|
|
23
25
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
var _a, _b, _c, _d, _e, _f;
|
|
26
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
25
27
|
debug('onOrderStatusChanged called.', params.order.orderNumber, params.order.orderStatus, params.order.orderDate);
|
|
26
28
|
let tasks = [];
|
|
29
|
+
const sendOrderPotentialActions = (_e = (_d = (_c = (_b = (_a = params.placeOrderTransaction) === null || _a === void 0 ? void 0 : _a.potentialActions) === null || _b === void 0 ? void 0 : _b.order) === null || _c === void 0 ? void 0 : _c.potentialActions) === null || _d === void 0 ? void 0 : _d.sendOrder) === null || _e === void 0 ? void 0 : _e.potentialActions;
|
|
27
30
|
const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order, { noProfile: true });
|
|
28
31
|
const simpleOrder = {
|
|
29
32
|
typeOf: params.order.typeOf,
|
|
@@ -41,8 +44,7 @@ function onOrderProcessing(params) {
|
|
|
41
44
|
switch (params.order.orderStatus) {
|
|
42
45
|
case factory.orderStatus.OrderProcessing:
|
|
43
46
|
tasks = [
|
|
44
|
-
...(0, factory_1.createInformTasks)(params.order)
|
|
45
|
-
...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
|
|
47
|
+
...(0, factory_1.createInformTasks)(params.order)
|
|
46
48
|
];
|
|
47
49
|
break;
|
|
48
50
|
default:
|
|
@@ -51,34 +53,41 @@ function onOrderProcessing(params) {
|
|
|
51
53
|
yield repos.task.saveMany(tasks, { emitImmediately: true });
|
|
52
54
|
switch (params.order.orderStatus) {
|
|
53
55
|
case factory.orderStatus.OrderProcessing:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
if (params.order.itemOfferedTypeOf === factory.actionType.MoneyTransfer) {
|
|
57
|
+
yield createConfirmMoneyTransferTasksIfNotExist(params.order, simpleOrder)(repos);
|
|
58
|
+
}
|
|
59
|
+
else if (params.order.itemOfferedTypeOf === factory.reservationType.BusReservation
|
|
60
|
+
|| params.order.itemOfferedTypeOf === factory.reservationType.EventReservation) {
|
|
61
|
+
// 冗長なconfirmReserveTransactionタスク作成を回避(2023-08-25~)
|
|
62
|
+
yield createConfirmReserveTransactionTasksIfNotExist(params.order, simpleOrder)(repos);
|
|
63
|
+
}
|
|
64
|
+
else if (params.order.itemOfferedTypeOf === factory.permit.PermitType.Permit) {
|
|
65
|
+
yield createConfirmRegisterServiceTasksIfNotExist(params.order, simpleOrder)(repos);
|
|
66
|
+
}
|
|
61
67
|
yield createGivePointAwardTaskIfNotExist({
|
|
62
|
-
potentialActions: (
|
|
68
|
+
potentialActions: (_h = (_g = (_f = params.placeOrderTransaction) === null || _f === void 0 ? void 0 : _f.potentialActions) === null || _g === void 0 ? void 0 : _g.order) === null || _h === void 0 ? void 0 : _h.potentialActions
|
|
63
69
|
})(repos);
|
|
70
|
+
// OrderProcessingにおけるEメール送信に対応(2024-01-17~)
|
|
71
|
+
if (settings_1.USE_SEND_EMAIL_MESSAGE_ON_ORDER_PROCESSING) {
|
|
72
|
+
yield (0, createSendEmailMessageTaskIfNotExist_1.createSendEmailMessageTaskIfNotExist)({ potentialActions: sendOrderPotentialActions })(repos);
|
|
73
|
+
}
|
|
64
74
|
break;
|
|
65
75
|
default:
|
|
66
76
|
}
|
|
67
77
|
});
|
|
68
78
|
}
|
|
69
79
|
exports.onOrderProcessing = onOrderProcessing;
|
|
70
|
-
// const COA_TASK_DELAY_IN_SECONDS = 0;
|
|
71
80
|
function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder) {
|
|
72
81
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
73
82
|
const taskRunsAt = new Date();
|
|
74
83
|
const taskRunsAt4coa = new Date();
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
let confirmObjects;
|
|
85
|
+
if (order.offeredThroughIdentifier === factory.service.webAPI.Identifier.COA) {
|
|
86
|
+
confirmObjects = (0, factory_1.createConfirmReservationActionObject4COAByOrder)({ order });
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
confirmObjects = (0, factory_1.createConfirmReservationActionObject4ChevreByOrder)({ order });
|
|
90
|
+
}
|
|
82
91
|
yield Promise.all(confirmObjects.map((confirmObject) => __awaiter(this, void 0, void 0, function* () {
|
|
83
92
|
const data = {
|
|
84
93
|
project: order.project,
|
|
@@ -93,7 +102,9 @@ function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder) {
|
|
|
93
102
|
: factory.service.webAPI.Identifier.Chevre
|
|
94
103
|
}
|
|
95
104
|
};
|
|
105
|
+
const taskIdentifier = util.format('%s:%s:%s:%s:%s:%s', data.project.id, factory.taskName.ConfirmReserveTransaction, data.purpose.typeOf, data.purpose.orderNumber, data.object.typeOf, data.object.transactionNumber);
|
|
96
106
|
const confirmReserveTransactionTask = {
|
|
107
|
+
identifier: taskIdentifier,
|
|
97
108
|
project: order.project,
|
|
98
109
|
name: factory.taskName.ConfirmReserveTransaction,
|
|
99
110
|
status: factory.taskStatus.Ready,
|
|
@@ -103,84 +114,70 @@ function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder) {
|
|
|
103
114
|
executionResults: [],
|
|
104
115
|
data
|
|
105
116
|
};
|
|
106
|
-
yield repos.task.
|
|
117
|
+
yield repos.task.createIfNotExistByIdentifier(confirmReserveTransactionTask, { emitImmediately: true });
|
|
107
118
|
})));
|
|
108
119
|
});
|
|
109
120
|
}
|
|
110
|
-
function
|
|
121
|
+
function createConfirmMoneyTransferTasksIfNotExist(order, simpleOrder) {
|
|
111
122
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
112
123
|
const taskRunsAt = new Date();
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
typeOf: 'WebAPI',
|
|
140
|
-
identifier: factory.service.webAPI.Identifier.Chevre
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
tasks.push({
|
|
144
|
-
project: order.project,
|
|
145
|
-
name: factory.taskName.ConfirmRegisterServiceTransaction,
|
|
146
|
-
status: factory.taskStatus.Ready,
|
|
147
|
-
runsAt: taskRunsAt,
|
|
148
|
-
remainingNumberOfTries: 10,
|
|
149
|
-
numberOfTried: 0,
|
|
150
|
-
executionResults: [],
|
|
151
|
-
data
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
})));
|
|
155
|
-
return tasks;
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
return [];
|
|
159
|
-
}
|
|
124
|
+
yield Promise.all(order.serialNumbers.map((moneyTransferTransactionNumber) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
const data = {
|
|
126
|
+
project: order.project,
|
|
127
|
+
typeOf: factory.actionType.ConfirmAction,
|
|
128
|
+
object: {
|
|
129
|
+
// pendingTransaction: { id: '' }, // 空文字であれば、transactionNumberで処理される
|
|
130
|
+
transactionNumber: moneyTransferTransactionNumber,
|
|
131
|
+
typeOf: factory.assetTransactionType.MoneyTransfer
|
|
132
|
+
},
|
|
133
|
+
agent: order.project,
|
|
134
|
+
purpose: simpleOrder
|
|
135
|
+
};
|
|
136
|
+
const taskIdentifier = util.format('%s:%s:%s:%s:%s:%s', data.project.id, factory.taskName.ConfirmMoneyTransfer, data.purpose.typeOf, simpleOrder.orderNumber, data.object.typeOf, data.object.transactionNumber);
|
|
137
|
+
const confirmMoneyTransferTransactionTask = {
|
|
138
|
+
identifier: taskIdentifier,
|
|
139
|
+
project: order.project,
|
|
140
|
+
name: factory.taskName.ConfirmMoneyTransfer,
|
|
141
|
+
status: factory.taskStatus.Ready,
|
|
142
|
+
runsAt: taskRunsAt,
|
|
143
|
+
remainingNumberOfTries: 10,
|
|
144
|
+
numberOfTried: 0,
|
|
145
|
+
executionResults: [],
|
|
146
|
+
data
|
|
147
|
+
};
|
|
148
|
+
yield repos.task.createIfNotExistByIdentifier(confirmMoneyTransferTransactionTask, { emitImmediately: true });
|
|
149
|
+
})));
|
|
160
150
|
});
|
|
161
151
|
}
|
|
162
|
-
function
|
|
152
|
+
function createConfirmRegisterServiceTasksIfNotExist(order, simpleOrder) {
|
|
163
153
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
154
|
+
const taskRunsAt = new Date();
|
|
155
|
+
yield Promise.all(order.serialNumbers.map((registerServiceTransactionNumber) => __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const data = {
|
|
157
|
+
project: order.project,
|
|
158
|
+
typeOf: factory.actionType.ConfirmAction,
|
|
159
|
+
object: {
|
|
160
|
+
endDate: order.orderDate,
|
|
161
|
+
transactionNumber: registerServiceTransactionNumber,
|
|
162
|
+
typeOf: factory.assetTransactionType.RegisterService
|
|
163
|
+
},
|
|
164
|
+
agent: order.project,
|
|
165
|
+
purpose: simpleOrder
|
|
171
166
|
};
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
167
|
+
const taskIdentifier = util.format('%s:%s:%s:%s:%s:%s', data.project.id, factory.taskName.ConfirmRegisterService, data.purpose.typeOf, simpleOrder.orderNumber, data.object.typeOf, data.object.transactionNumber);
|
|
168
|
+
const confirmRegisterServiceTask = {
|
|
169
|
+
identifier: taskIdentifier,
|
|
170
|
+
project: order.project,
|
|
171
|
+
name: factory.taskName.ConfirmRegisterService,
|
|
175
172
|
status: factory.taskStatus.Ready,
|
|
176
|
-
runsAt:
|
|
173
|
+
runsAt: taskRunsAt,
|
|
177
174
|
remainingNumberOfTries: 10,
|
|
178
175
|
numberOfTried: 0,
|
|
179
176
|
executionResults: [],
|
|
180
|
-
data
|
|
177
|
+
data
|
|
181
178
|
};
|
|
182
|
-
yield repos.task.
|
|
183
|
-
}
|
|
179
|
+
yield repos.task.createIfNotExistByIdentifier(confirmRegisterServiceTask, { emitImmediately: true });
|
|
180
|
+
})));
|
|
184
181
|
});
|
|
185
182
|
}
|
|
186
183
|
function createGivePointAwardTaskIfNotExist(params) {
|
|
@@ -6,5 +6,5 @@ declare function createInformTasks(order: IReturnedOrder): factory.task.IAttribu
|
|
|
6
6
|
*/
|
|
7
7
|
declare function createOnOrderReturnedTasksByTransaction(params: {
|
|
8
8
|
potentialActions?: factory.action.transfer.returnAction.order.IPotentialActions;
|
|
9
|
-
}): (import("@chevre/factory/lib/task").IAttributes | import("@chevre/factory/lib/task/confirmMoneyTransfer").IAttributes | import("@chevre/factory/lib/task/confirmRegisterService").IAttributes | import("@chevre/factory/lib/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").IAttributes | import("@chevre/factory/lib/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/task/
|
|
9
|
+
}): (import("@chevre/factory/lib/task").IAttributes | import("@chevre/factory/lib/task/confirmMoneyTransfer").IAttributes | import("@chevre/factory/lib/task/confirmRegisterService").IAttributes | import("@chevre/factory/lib/task/confirmPayTransaction").IAttributes | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").IAttributes | import("@chevre/factory/lib/task/confirmReserveTransaction").IAttributes | import("@chevre/factory/lib/task/createAccountingReport").IAttributes | import("@chevre/factory/lib/task/createEvent").IAttributes | import("@chevre/factory/lib/task/deleteTransaction").IAttributes | import("@chevre/factory/lib/task/givePointAward").IAttributes | import("@chevre/factory/lib/task/onAssetTransactionStatusChanged").IAttributes | import("@chevre/factory/lib/task/onAuthorizationCreated").IAttributes | import("@chevre/factory/lib/task/onEventChanged").IAttributes | import("@chevre/factory/lib/task/onResourceUpdated").IAttributes | import("@chevre/factory/lib/task/onOrderPaymentCompleted").IAttributes | import("@chevre/factory/lib/task/placeOrder").IAttributes | import("@chevre/factory/lib/task/returnOrder").IAttributes | import("@chevre/factory/lib/task/returnMoneyTransfer").IAttributes | import("@chevre/factory/lib/task/returnPayTransaction").IAttributes | import("@chevre/factory/lib/task/returnPointAward").IAttributes | import("@chevre/factory/lib/task/returnReserveTransaction").IAttributes | import("@chevre/factory/lib/task/sendEmailMessage").IAttributes | import("@chevre/factory/lib/task/sendOrder").IAttributes | import("@chevre/factory/lib/task/triggerWebhook").IAttributes | import("@chevre/factory/lib/task/useReservation").IAttributes | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").IAttributes | import("@chevre/factory/lib/task/voidPayTransaction").IAttributes | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").IAttributes | import("@chevre/factory/lib/task/voidReserveTransaction").IAttributes)[];
|
|
10
10
|
export { createInformTasks, createOnOrderReturnedTasksByTransaction };
|
|
@@ -55,22 +55,25 @@ function createOnOrderReturnedTasksByTransaction(params) {
|
|
|
55
55
|
const now = new Date();
|
|
56
56
|
const taskAttributes = [];
|
|
57
57
|
const potentialActions = params.potentialActions;
|
|
58
|
+
// onOrderReturnedで生成へ移行(2024-02-04~)
|
|
58
59
|
// 入金返却タスク
|
|
59
|
-
const returnMoneyTransferAttributes = potentialActions
|
|
60
|
-
if (Array.isArray(returnMoneyTransferAttributes)) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
60
|
+
// const returnMoneyTransferAttributes = potentialActions?.returnMoneyTransfer;
|
|
61
|
+
// if (Array.isArray(returnMoneyTransferAttributes)) {
|
|
62
|
+
// taskAttributes.push(...returnMoneyTransferAttributes.map(
|
|
63
|
+
// (a): factory.task.IAttributes<factory.taskName.ReturnMoneyTransfer> => {
|
|
64
|
+
// return {
|
|
65
|
+
// project: a.project,
|
|
66
|
+
// name: factory.taskName.ReturnMoneyTransfer,
|
|
67
|
+
// status: factory.taskStatus.Ready,
|
|
68
|
+
// runsAt: now, // なるはやで実行
|
|
69
|
+
// remainingNumberOfTries: 10,
|
|
70
|
+
// numberOfTried: 0,
|
|
71
|
+
// executionResults: [],
|
|
72
|
+
// data: a
|
|
73
|
+
// };
|
|
74
|
+
// }
|
|
75
|
+
// ));
|
|
76
|
+
// }
|
|
74
77
|
// ポイント特典返却タスク
|
|
75
78
|
const returnPointAwardAttributes = potentialActions === null || potentialActions === void 0 ? void 0 : potentialActions.returnPointAward;
|
|
76
79
|
if (Array.isArray(returnPointAwardAttributes)) {
|
|
@@ -43,6 +43,8 @@ function onOrderReturned(params) {
|
|
|
43
43
|
const potentialActionsByTransaction = (_d = (_c = (_b = (_a = params.returnOrderTransaction) === null || _a === void 0 ? void 0 : _a.potentialActions) === null || _b === void 0 ? void 0 : _b.returnOrder) === null || _c === void 0 ? void 0 : _c.find((returnOrderActionByTransaction) => {
|
|
44
44
|
return returnOrderActionByTransaction.object.orderNumber === params.order.orderNumber;
|
|
45
45
|
})) === null || _d === void 0 ? void 0 : _d.potentialActions;
|
|
46
|
+
const itemOfferedTypeOfs = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.order.orderNumber] } }, 'acceptedOffers.itemOffered.typeOf');
|
|
47
|
+
const serialNumbers = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.order.orderNumber] } }, 'acceptedOffers.serialNumber');
|
|
46
48
|
const reservationNumbers = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.order.orderNumber] } }, 'acceptedOffers.itemOffered.reservationNumber');
|
|
47
49
|
const offeredThroughIdentifier = (yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.order.orderNumber] } }, 'acceptedOffers.offeredThrough.identifier'))[0];
|
|
48
50
|
const reservationForSuperEventLocationBranchCodes = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.order.orderNumber] } }, 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode');
|
|
@@ -54,7 +56,10 @@ function onOrderReturned(params) {
|
|
|
54
56
|
// 決済取引返却タスクを作成(2022-06-09~)
|
|
55
57
|
...createReturnPayTransactionTasks({ orderNumber: params.order.orderNumber }, params.returnOrderTransaction),
|
|
56
58
|
// 取引のpotentialActionsを適用(2023-08-19~)
|
|
57
|
-
...(0, factory_1.createOnOrderReturnedTasksByTransaction)({ potentialActions: potentialActionsByTransaction })
|
|
59
|
+
...(0, factory_1.createOnOrderReturnedTasksByTransaction)({ potentialActions: potentialActionsByTransaction }),
|
|
60
|
+
...(itemOfferedTypeOfs[0] === factory.actionType.MoneyTransfer)
|
|
61
|
+
? createReturnMoneyTransferTasks(Object.assign(Object.assign({}, params.order), { serialNumbers }), simpleOrder)
|
|
62
|
+
: []
|
|
58
63
|
];
|
|
59
64
|
break;
|
|
60
65
|
default:
|
|
@@ -137,6 +142,62 @@ function createReturnReserveTransactionTasks(order, simpleOrder) {
|
|
|
137
142
|
}
|
|
138
143
|
return tasks;
|
|
139
144
|
}
|
|
145
|
+
function createReturnMoneyTransferTasks(order, simpleOrder) {
|
|
146
|
+
const taskRunsAt = new Date();
|
|
147
|
+
const tasks = [];
|
|
148
|
+
for (const transactionNumber of order.serialNumbers) {
|
|
149
|
+
const returnMoneyTransferActionObject = {
|
|
150
|
+
// project: order.project,
|
|
151
|
+
typeOf: factory.actionType.MoneyTransfer,
|
|
152
|
+
// actionStatus: factory.actionStatusType.CompletedActionStatus,
|
|
153
|
+
// startDate: order.orderDate,
|
|
154
|
+
// id: '',
|
|
155
|
+
// amount: {
|
|
156
|
+
// typeOf: 'MonetaryAmount',
|
|
157
|
+
// currency: '' // この時点で不明でも動作する
|
|
158
|
+
// },
|
|
159
|
+
object: {
|
|
160
|
+
typeOf: factory.account.transactionType.Deposit,
|
|
161
|
+
// いったんtransactionNumberさえあれば返却可能
|
|
162
|
+
transactionNumber
|
|
163
|
+
}
|
|
164
|
+
// agent: order.project,
|
|
165
|
+
// recipient: {
|
|
166
|
+
// typeOf: order.customer.typeOf,
|
|
167
|
+
// id: order.customer.id,
|
|
168
|
+
// name: String(order.customer.name)
|
|
169
|
+
// },
|
|
170
|
+
// fromLocation: <any>{},
|
|
171
|
+
// toLocation: <any>{},
|
|
172
|
+
// purpose: <any>{}
|
|
173
|
+
};
|
|
174
|
+
const returnMoneyTransferAction = {
|
|
175
|
+
project: order.project,
|
|
176
|
+
typeOf: factory.actionType.ReturnAction,
|
|
177
|
+
object: returnMoneyTransferActionObject,
|
|
178
|
+
agent: order.project,
|
|
179
|
+
recipient: {
|
|
180
|
+
typeOf: order.seller.typeOf,
|
|
181
|
+
id: order.seller.id,
|
|
182
|
+
name: order.seller.name
|
|
183
|
+
},
|
|
184
|
+
potentialActions: {},
|
|
185
|
+
purpose: simpleOrder,
|
|
186
|
+
instrument: { typeOf: 'WebAPI', identifier: factory.service.webAPI.Identifier.Chevre }
|
|
187
|
+
};
|
|
188
|
+
tasks.push({
|
|
189
|
+
project: order.project,
|
|
190
|
+
name: factory.taskName.ReturnMoneyTransfer,
|
|
191
|
+
status: factory.taskStatus.Ready,
|
|
192
|
+
runsAt: taskRunsAt,
|
|
193
|
+
remainingNumberOfTries: 10,
|
|
194
|
+
numberOfTried: 0,
|
|
195
|
+
executionResults: [],
|
|
196
|
+
data: returnMoneyTransferAction
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return tasks;
|
|
200
|
+
}
|
|
140
201
|
function createReturnPayTransactionTasks(order, returnOrderTransaction) {
|
|
141
202
|
var _a, _b;
|
|
142
203
|
const taskRunsAt = new Date();
|