@chevre/domain 26.0.0-alpha.3 → 26.0.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/chevre/eventEmitter/task.d.ts +8 -23
- package/lib/chevre/eventEmitter/task.js +2 -2
- package/lib/chevre/repo/acceptedOffer.d.ts +0 -7
- package/lib/chevre/repo/acceptedOffer.js +27 -27
- package/lib/chevre/repo/action/actionProcess.d.ts +1 -1
- package/lib/chevre/repo/action/inform.d.ts +45 -0
- package/lib/chevre/repo/action/inform.js +159 -0
- package/lib/chevre/repo/action/update.d.ts +56 -0
- package/lib/chevre/repo/action/update.js +173 -0
- package/lib/chevre/repo/action.d.ts +3 -19
- package/lib/chevre/repo/action.js +0 -298
- package/lib/chevre/repo/adminAssetTransaction.d.ts +126 -0
- package/lib/chevre/repo/adminAssetTransaction.js +491 -0
- package/lib/chevre/repo/adminAsyncAction.d.ts +2 -2
- package/lib/chevre/repo/adminScheduledTask.d.ts +1 -1
- package/lib/chevre/repo/adminTask.d.ts +25 -8
- package/lib/chevre/repo/adminTask.js +31 -32
- package/lib/chevre/repo/adminTransaction.d.ts +131 -0
- package/lib/chevre/repo/adminTransaction.js +237 -0
- package/lib/chevre/repo/aggregateAssetTransaction.d.ts +43 -0
- package/lib/chevre/repo/aggregateAssetTransaction.js +166 -0
- package/lib/chevre/repo/aggregateScheduledTask.d.ts +32 -0
- package/lib/chevre/repo/aggregateScheduledTask.js +136 -0
- package/lib/chevre/repo/aggregateTransaction.d.ts +39 -0
- package/lib/chevre/repo/aggregateTransaction.js +166 -0
- package/lib/chevre/repo/aggregation.d.ts +0 -8
- package/lib/chevre/repo/aggregation.js +0 -10
- package/lib/chevre/repo/assetTransaction.d.ts +10 -235
- package/lib/chevre/repo/assetTransaction.js +48 -636
- package/lib/chevre/repo/asyncAction.d.ts +2 -2
- package/lib/chevre/repo/authorization.d.ts +0 -6
- package/lib/chevre/repo/authorization.js +15 -27
- package/lib/chevre/repo/message.d.ts +0 -7
- package/lib/chevre/repo/message.js +0 -38
- package/lib/chevre/repo/mongoose/schemas/{ownershipInfo.d.ts → action/inform.d.ts} +5 -5
- package/lib/chevre/repo/mongoose/schemas/action/inform.js +81 -0
- package/lib/chevre/repo/mongoose/schemas/action/update.d.ts +12 -0
- package/lib/chevre/repo/mongoose/schemas/action/update.js +107 -0
- package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
- package/lib/chevre/repo/mongoose/schemas/action.js +8 -1
- package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +7 -0
- package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +8 -9
- package/lib/chevre/repo/mongoose/schemas/aggregation.js +8 -1
- package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +95 -76
- package/lib/chevre/repo/mongoose/schemas/authorization.js +25 -18
- package/lib/chevre/repo/mongoose/schemas/event.js +7 -0
- package/lib/chevre/repo/mongoose/schemas/eventOffer.js +7 -0
- package/lib/chevre/repo/mongoose/schemas/message.js +8 -1
- package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +11 -4
- package/lib/chevre/repo/mongoose/schemas/setting.d.ts +1 -0
- package/lib/chevre/repo/mongoose/schemas/task.d.ts +2 -5
- package/lib/chevre/repo/mongoose/schemas/task.js +134 -118
- package/lib/chevre/repo/mongoose/schemas/ticket.js +8 -1
- package/lib/chevre/repo/orderInTransaction.d.ts +0 -3
- package/lib/chevre/repo/orderInTransaction.js +30 -22
- package/lib/chevre/repo/scheduledTask.d.ts +5 -2
- package/lib/chevre/repo/scheduledTask.js +3 -25
- package/lib/chevre/repo/task.d.ts +45 -171
- package/lib/chevre/repo/task.js +20 -475
- package/lib/chevre/repo/taskDelayed.d.ts +74 -0
- package/lib/chevre/repo/taskDelayed.js +195 -0
- package/lib/chevre/repo/taskRunning.d.ts +35 -0
- package/lib/chevre/repo/taskRunning.js +89 -0
- package/lib/chevre/repo/ticket.d.ts +0 -6
- package/lib/chevre/repo/ticket.js +0 -11
- package/lib/chevre/repo/transaction.d.ts +1 -187
- package/lib/chevre/repo/transaction.js +2 -383
- package/lib/chevre/repository.d.ts +35 -5
- package/lib/chevre/repository.js +79 -13
- package/lib/chevre/service/aggregation/system.d.ts +17 -9
- package/lib/chevre/service/aggregation/system.js +46 -4
- package/lib/chevre/service/assetTransaction/cancelReservation/start.js +10 -17
- package/lib/chevre/service/assetTransaction/refund.js +2 -2
- package/lib/chevre/service/asyncAction.d.ts +2 -2
- package/lib/chevre/service/asyncAction.js +1 -4
- package/lib/chevre/service/asyncActionHandler/onOperationFailed.d.ts +2 -2
- package/lib/chevre/service/asyncActionHandler/onOperationFailed.js +0 -2
- package/lib/chevre/service/asyncActionHandler.d.ts +4 -4
- package/lib/chevre/service/asyncActionHandler.js +11 -13
- package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +4 -2
- package/lib/chevre/service/event/processUpdateMovieTheater.js +3 -3
- package/lib/chevre/service/event.d.ts +4 -2
- package/lib/chevre/service/event.js +3 -3
- package/lib/chevre/service/notification/triggerWebhook.d.ts +4 -2
- package/lib/chevre/service/notification/triggerWebhook.js +5 -16
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -3
- package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +0 -4
- package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +19 -19
- package/lib/chevre/service/offer/onEventChanged.js +0 -2
- package/lib/chevre/service/order/confirmPayTransaction.js +4 -1
- package/lib/chevre/service/order/deleteOrder.js +0 -1
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +1 -49
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +2 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +2 -4
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +2 -4
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +4 -4
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +2 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +2 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +2 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +3 -5
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +2 -2
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +5 -7
- package/lib/chevre/service/order/onOrderUpdated/factory.js +0 -3
- package/lib/chevre/service/order/returnOrder.d.ts +0 -2
- package/lib/chevre/service/order/returnOrder.js +8 -40
- package/lib/chevre/service/order/sendOrder.d.ts +0 -2
- package/lib/chevre/service/order/sendOrder.js +41 -55
- package/lib/chevre/service/payment/any/findAcceptAction.d.ts +0 -4
- package/lib/chevre/service/payment/any/findAcceptAction.js +19 -19
- package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +0 -4
- package/lib/chevre/service/payment/any/findAuthorizeAction.js +19 -19
- package/lib/chevre/service/payment/any/findCheckAction.d.ts +0 -4
- package/lib/chevre/service/payment/any/findCheckAction.js +19 -19
- package/lib/chevre/service/payment/any/processVoidPayTransaction.js +1 -1
- package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +0 -2
- package/lib/chevre/service/payment/any/publishPaymentUrl.js +2 -2
- package/lib/chevre/service/project.d.ts +0 -3
- package/lib/chevre/service/project.js +0 -1
- package/lib/chevre/service/reserve/cancelReservation.js +3 -3
- package/lib/chevre/service/reserve/checkInReservation.js +2 -2
- package/lib/chevre/service/reserve/confirmReservation.js +1 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -2
- package/lib/chevre/service/reserve/useReservation.js +1 -1
- package/lib/chevre/service/scheduledTask.d.ts +1 -4
- package/lib/chevre/service/scheduledTask.js +3 -10
- package/lib/chevre/service/scheduledTaskHandler/onOperationFailed.js +1 -2
- package/lib/chevre/service/scheduledTaskHandler.js +0 -13
- package/lib/chevre/service/task/acceptCOAOffer.js +1 -14
- package/lib/chevre/service/task/authorizePayment.js +1 -7
- package/lib/chevre/service/task/checkMovieTicket.js +1 -7
- package/lib/chevre/service/task/confirmReserveTransaction.js +3 -1
- package/lib/chevre/service/task/deleteTransaction.js +8 -39
- package/lib/chevre/service/task/importEventsFromCOA.js +4 -2
- package/lib/chevre/service/task/onAuthorizationCreated.js +2 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +4 -2
- package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +4 -4
- package/lib/chevre/service/task/onResourceDeleted.js +4 -3
- package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +0 -1
- package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +0 -1
- package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +0 -1
- package/lib/chevre/service/task/onResourceUpdated.js +0 -8
- package/lib/chevre/service/task/publishPaymentUrl.js +2 -13
- package/lib/chevre/service/task/returnOrder.js +2 -5
- package/lib/chevre/service/task/returnPayTransaction.js +2 -2
- package/lib/chevre/service/task/sendOrder.js +2 -2
- package/lib/chevre/service/task/syncResourcesFromCOA.js +31 -23
- package/lib/chevre/service/task/triggerWebhook.js +4 -2
- package/lib/chevre/service/task/voidReserveTransaction.js +5 -8
- package/lib/chevre/service/task.d.ts +3 -22
- package/lib/chevre/service/task.js +8 -40
- package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +0 -1
- package/lib/chevre/service/taskHandler/onOperationFailed.d.ts +3 -2
- package/lib/chevre/service/taskHandler/onOperationFailed.js +5 -16
- package/lib/chevre/service/taskHandler.d.ts +1 -2
- package/lib/chevre/service/taskHandler.js +7 -19
- package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.js +2 -2
- package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.js +2 -2
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -2
- package/lib/chevre/service/transaction/deleteTransaction.js +5 -5
- package/lib/chevre/service/transaction/placeOrder/confirm.js +1 -1
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +8 -4
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +55 -103
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +2 -0
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +14 -10
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.d.ts +13 -3
- package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +48 -51
- package/lib/chevre/service/transaction/returnOrder.d.ts +2 -0
- package/lib/chevre/service/transaction/returnOrder.js +15 -13
- package/lib/chevre/service/transaction.d.ts +2 -0
- package/lib/chevre/service/transaction.js +0 -2
- package/lib/chevre/service/validation/validateOrder.js +2 -2
- package/lib/chevre/taskSettings.d.ts +4 -4
- package/package.json +2 -2
- package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +0 -227
- package/lib/chevre/repo/ownershipInfo.d.ts +0 -122
- package/lib/chevre/repo/ownershipInfo.js +0 -466
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.confirmPayTransaction = confirmPayTransaction;
|
|
37
|
+
const util_1 = require("util");
|
|
37
38
|
const factory_1 = require("../../factory");
|
|
38
39
|
// import type { TransactionRepo } from '../../repo/transaction';
|
|
39
40
|
const PayTransactionService = __importStar(require("../assetTransaction/pay"));
|
|
@@ -112,7 +113,9 @@ function onConfirmed(params) {
|
|
|
112
113
|
},
|
|
113
114
|
useOnOrderStatusChanged: params.useOnOrderStatusChanged === true
|
|
114
115
|
};
|
|
116
|
+
const taskIdentifier = (0, util_1.format)('%s:%s:%s:%s', params.project.id, factory_1.factory.taskName.OnAssetTransactionStatusChanged, onAssetTransactionStatusChangedTaskData.purpose.orderNumber, onAssetTransactionStatusChangedTaskData.object.transactionNumber);
|
|
115
117
|
const onAssetTransactionStatusChangedTask = {
|
|
118
|
+
identifier: taskIdentifier,
|
|
116
119
|
project: { id: params.project.id, typeOf: factory_1.factory.organizationType.Project },
|
|
117
120
|
name: factory_1.factory.taskName.OnAssetTransactionStatusChanged,
|
|
118
121
|
status: factory_1.factory.taskStatus.Ready,
|
|
@@ -122,7 +125,7 @@ function onConfirmed(params) {
|
|
|
122
125
|
executionResults: [],
|
|
123
126
|
data: onAssetTransactionStatusChangedTaskData
|
|
124
127
|
};
|
|
125
|
-
await repos.task.
|
|
128
|
+
await repos.task.runTaskByIdentifier(onAssetTransactionStatusChangedTask);
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
131
|
};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// import createDebug from 'debug';
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.isDeliverable = isDeliverable;
|
|
5
4
|
const factory_1 = require("../../../factory");
|
|
6
|
-
// const debug = createDebug('chevre-domain:service:order');
|
|
7
5
|
function isDeliverable(params) {
|
|
8
6
|
return async (repos) => {
|
|
9
7
|
let allReserveTransactionConfirmed = false;
|
|
@@ -15,7 +13,7 @@ function isDeliverable(params) {
|
|
|
15
13
|
// 注文のreservationNumberを取得
|
|
16
14
|
const reservationNumbers = await repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.itemOffered.reservationNumber');
|
|
17
15
|
if (reservationNumbers.length > 0) {
|
|
18
|
-
const referencedReserveTransactions = await repos.assetTransaction.
|
|
16
|
+
const referencedReserveTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
|
|
19
17
|
project: { id: { $eq: params.project.id } },
|
|
20
18
|
typeOf: factory_1.factory.assetTransactionType.Reserve,
|
|
21
19
|
transactionNumber: { $in: reservationNumbers }
|
|
@@ -27,52 +25,6 @@ function isDeliverable(params) {
|
|
|
27
25
|
else {
|
|
28
26
|
allReserveTransactionConfirmed = true;
|
|
29
27
|
}
|
|
30
|
-
// } else if (params.assetTransactionType === factory.assetTransactionType.MoneyTransfer) {
|
|
31
|
-
// allReserveTransactionConfirmed = true;
|
|
32
|
-
// allRegisterServiceTransactionConfirmed = true;
|
|
33
|
-
// // 注文のMoneyTransferTransaction.transactionNumberを取得
|
|
34
|
-
// const moneyTransferTransactionNumbers = await repos.acceptedOffer.distinctValues(
|
|
35
|
-
// { orderNumber: { $in: [params.orderNumber] } },
|
|
36
|
-
// 'acceptedOffers.serialNumber'
|
|
37
|
-
// );
|
|
38
|
-
// if (moneyTransferTransactionNumbers.length > 0) {
|
|
39
|
-
// debug('is deliverable?...', params.orderNumber, 'moneyTransferTransactionNumbers:', moneyTransferTransactionNumbers);
|
|
40
|
-
// const referencedMoneyTransferTransactions = await repos.assetTransaction.search(
|
|
41
|
-
// {
|
|
42
|
-
// project: { id: { $eq: params.project.id } },
|
|
43
|
-
// typeOf: factory.assetTransactionType.MoneyTransfer,
|
|
44
|
-
// transactionNumber: { $in: moneyTransferTransactionNumbers }
|
|
45
|
-
// },
|
|
46
|
-
// ['status']
|
|
47
|
-
// ) as Pick<factory.assetTransaction.moneyTransfer.ITransaction, 'status'>[];
|
|
48
|
-
// allMoneyTransferTransactionConfirmed =
|
|
49
|
-
// referencedMoneyTransferTransactions.length === moneyTransferTransactionNumbers.length
|
|
50
|
-
// && referencedMoneyTransferTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
|
|
51
|
-
// } else {
|
|
52
|
-
// allMoneyTransferTransactionConfirmed = true;
|
|
53
|
-
// }
|
|
54
|
-
// } else if (params.assetTransactionType === factory.assetTransactionType.RegisterService) {
|
|
55
|
-
// allReserveTransactionConfirmed = true;
|
|
56
|
-
// allMoneyTransferTransactionConfirmed = true;
|
|
57
|
-
// const registerServiceTransactionNumbers = await repos.acceptedOffer.distinctValues(
|
|
58
|
-
// { orderNumber: { $in: [params.orderNumber] } },
|
|
59
|
-
// 'acceptedOffers.serialNumber'
|
|
60
|
-
// );
|
|
61
|
-
// if (registerServiceTransactionNumbers.length > 0) {
|
|
62
|
-
// const referencedRegisterServiceTransactions = await repos.assetTransaction.search(
|
|
63
|
-
// {
|
|
64
|
-
// project: { id: { $eq: params.project.id } },
|
|
65
|
-
// typeOf: factory.assetTransactionType.RegisterService,
|
|
66
|
-
// transactionNumber: { $in: registerServiceTransactionNumbers }
|
|
67
|
-
// },
|
|
68
|
-
// ['status']
|
|
69
|
-
// ) as Pick<factory.assetTransaction.registerService.ITransaction, 'status'>[];
|
|
70
|
-
// allRegisterServiceTransactionConfirmed =
|
|
71
|
-
// referencedRegisterServiceTransactions.length === registerServiceTransactionNumbers.length
|
|
72
|
-
// && referencedRegisterServiceTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
|
|
73
|
-
// } else {
|
|
74
|
-
// allRegisterServiceTransactionConfirmed = true;
|
|
75
|
-
// }
|
|
76
28
|
}
|
|
77
29
|
return allReserveTransactionConfirmed && allMoneyTransferTransactionConfirmed && allRegisterServiceTransactionConfirmed;
|
|
78
30
|
};
|
package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js
CHANGED
|
@@ -36,7 +36,7 @@ function onPayTransactionConfirmed(params) {
|
|
|
36
36
|
}
|
|
37
37
|
function fixPaymentMethodIdentifierIfPossible(params) {
|
|
38
38
|
return async (repos) => {
|
|
39
|
-
const referencedPayTransactions = await repos.assetTransaction.
|
|
39
|
+
const referencedPayTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
|
|
40
40
|
project: { id: { $eq: params.project.id } },
|
|
41
41
|
typeOf: factory_1.factory.assetTransactionType.Pay,
|
|
42
42
|
statuses: [factory_1.factory.transactionStatusType.Confirmed],
|
|
@@ -73,7 +73,7 @@ function isProcessable(params) {
|
|
|
73
73
|
const paymentMethodIds = order.paymentMethods.filter((invoice) => typeof invoice.paymentMethodId === 'string' && invoice.paymentMethodId.length > 0)
|
|
74
74
|
.map((invoice) => invoice.paymentMethodId);
|
|
75
75
|
if (paymentMethodIds.length > 0) {
|
|
76
|
-
const referencedPayTransactions = await repos.assetTransaction.
|
|
76
|
+
const referencedPayTransactions = await repos.assetTransaction.findAssetTransactionsByTypeOf({
|
|
77
77
|
project: { id: { $eq: params.project.id } },
|
|
78
78
|
typeOf: factory_1.factory.assetTransactionType.Pay,
|
|
79
79
|
transactionNumber: { $in: paymentMethodIds }
|
|
@@ -12,16 +12,14 @@ setting) {
|
|
|
12
12
|
const order4inform = creteOrder4inform(order);
|
|
13
13
|
const informIdentifier = `${factory_1.factory.order.OrderType.Order}:${order4inform.orderNumber}:${order4inform.orderStatus}`;
|
|
14
14
|
if (Array.isArray(informOrder) && informOrder.length > 0) {
|
|
15
|
-
let recipientId = '';
|
|
16
|
-
recipientId = order.customer.id;
|
|
15
|
+
// let recipientId = '';
|
|
16
|
+
// recipientId = order.customer.id;
|
|
17
17
|
informOrder.forEach((informOrderParams) => {
|
|
18
18
|
if (typeof informOrderParams.recipient?.url === 'string') {
|
|
19
19
|
const informActionAttributes = {
|
|
20
20
|
about: { orderNumber: order.orderNumber, typeOf: factory_1.factory.order.OrderType.Order },
|
|
21
21
|
object: order4inform,
|
|
22
22
|
recipient: {
|
|
23
|
-
// url: informOrderParams.recipient.url, // discontinue(2025-02-13~)
|
|
24
|
-
id: recipientId,
|
|
25
23
|
name: informOrderParams.recipient?.name,
|
|
26
24
|
typeOf: factory_1.factory.creativeWorkType.WebApplication
|
|
27
25
|
},
|
|
@@ -25,16 +25,14 @@ setting) {
|
|
|
25
25
|
const order4inform = creteOrder4inform(order);
|
|
26
26
|
const informIdentifier = `${factory_1.factory.order.OrderType.Order}:${order4inform.orderNumber}:${order4inform.orderStatus}:${order.acceptedOffers.page}`;
|
|
27
27
|
if (Array.isArray(informOrder) && informOrder.length > 0) {
|
|
28
|
-
let recipientId = '';
|
|
29
|
-
recipientId = order.customer.id;
|
|
28
|
+
// let recipientId = '';
|
|
29
|
+
// recipientId = order.customer.id;
|
|
30
30
|
informOrder.forEach((informOrderParams) => {
|
|
31
31
|
if (typeof informOrderParams.recipient?.url === 'string') {
|
|
32
32
|
const informActionAttributes = {
|
|
33
33
|
about: { orderNumber: order.orderNumber, typeOf: factory_1.factory.order.OrderType.Order },
|
|
34
34
|
object: order4inform,
|
|
35
35
|
recipient: {
|
|
36
|
-
// url: informOrderParams.recipient.url, // discontinue(2025-02-13~)
|
|
37
|
-
id: recipientId,
|
|
38
36
|
name: informOrderParams.recipient?.name,
|
|
39
37
|
typeOf: factory_1.factory.creativeWorkType.WebApplication
|
|
40
38
|
},
|
|
@@ -62,7 +62,7 @@ function createSendOrderTaskIfNotExist(params) {
|
|
|
62
62
|
};
|
|
63
63
|
const taskIdentifier = `${sendOrderTaskData.project.id}:${factory_1.factory.taskName.SendOrder}:${sendOrderTaskData.object.typeOf}:${sendOrderTaskData.object.orderNumber}`;
|
|
64
64
|
const sendOrderTask = {
|
|
65
|
-
alternateName: taskIdentifier,
|
|
65
|
+
// alternateName: taskIdentifier,
|
|
66
66
|
identifier: taskIdentifier,
|
|
67
67
|
project: params.order.project,
|
|
68
68
|
name: factory_1.factory.taskName.SendOrder,
|
|
@@ -75,7 +75,7 @@ function createSendOrderTaskIfNotExist(params) {
|
|
|
75
75
|
};
|
|
76
76
|
debug('processing createSendOrderTaskIfNotExist...', sendOrderTask);
|
|
77
77
|
// await repos.task.createSendOrderTaskIfNotExist(sendOrderTask);
|
|
78
|
-
await repos.task.
|
|
78
|
+
await repos.task.runTaskByIdentifier(sendOrderTask);
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
81
|
function createOnAuthorizationCreatedTask(order) {
|
|
@@ -92,7 +92,7 @@ function createOnAuthorizationCreatedTask(order) {
|
|
|
92
92
|
const taskRunsAt = new Date();
|
|
93
93
|
const taskIdentifier = `${order.project.id}:${factory_1.factory.taskName.OnAuthorizationCreated}:${factory_1.factory.transactionType.PlaceOrder}:${placeOrderTransaction?.id}`;
|
|
94
94
|
const task = {
|
|
95
|
-
alternateName: taskIdentifier,
|
|
95
|
+
// alternateName: taskIdentifier,
|
|
96
96
|
identifier: taskIdentifier,
|
|
97
97
|
name: factory_1.factory.taskName.OnAuthorizationCreated,
|
|
98
98
|
status: factory_1.factory.taskStatus.Ready,
|
|
@@ -107,7 +107,7 @@ function createOnAuthorizationCreatedTask(order) {
|
|
|
107
107
|
},
|
|
108
108
|
project: { id: order.project.id, typeOf: factory_1.factory.organizationType.Project }
|
|
109
109
|
};
|
|
110
|
-
await repos.task.
|
|
110
|
+
await repos.task.runTaskByIdentifier(task);
|
|
111
111
|
}
|
|
112
112
|
};
|
|
113
113
|
}
|
|
@@ -53,7 +53,7 @@ function createConfirmPayTransactionTasks(order, simpleOrder) {
|
|
|
53
53
|
};
|
|
54
54
|
const taskIdentifier = (0, util_1.format)('%s:%s:%s:%s:%s:%s', order.project.id, factory_1.factory.taskName.ConfirmPayTransaction, data.purpose.typeOf, data.purpose.orderNumber, factory_1.factory.assetTransactionType.Pay, invoice.paymentMethodId);
|
|
55
55
|
const confirmPayTransactionTask = {
|
|
56
|
-
alternateName: taskIdentifier,
|
|
56
|
+
// alternateName: taskIdentifier,
|
|
57
57
|
identifier: taskIdentifier,
|
|
58
58
|
project: order.project,
|
|
59
59
|
name: factory_1.factory.taskName.ConfirmPayTransaction,
|
|
@@ -64,7 +64,7 @@ function createConfirmPayTransactionTasks(order, simpleOrder) {
|
|
|
64
64
|
executionResults: [],
|
|
65
65
|
data
|
|
66
66
|
};
|
|
67
|
-
await repos.task.
|
|
67
|
+
await repos.task.runTaskByIdentifier(confirmPayTransactionTask);
|
|
68
68
|
// 冗長なタスク作成を回避
|
|
69
69
|
// const existingTasks = await repos.task.projectFields(
|
|
70
70
|
// {
|
|
@@ -48,7 +48,7 @@ function createSendEmailMessageTaskIfNotExist(params) {
|
|
|
48
48
|
purpose: simpleOrder
|
|
49
49
|
};
|
|
50
50
|
const sendEmailMessageTask = {
|
|
51
|
-
alternateName: taskIdentifier,
|
|
51
|
+
// alternateName: taskIdentifier,
|
|
52
52
|
identifier: taskIdentifier,
|
|
53
53
|
project: params.order.project,
|
|
54
54
|
name: factory_1.factory.taskName.SendEmailMessage,
|
|
@@ -59,7 +59,7 @@ function createSendEmailMessageTaskIfNotExist(params) {
|
|
|
59
59
|
executionResults: [],
|
|
60
60
|
data: { actionAttributes }
|
|
61
61
|
};
|
|
62
|
-
await repos.task.
|
|
62
|
+
await repos.task.runTaskByIdentifier(sendEmailMessageTask);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
}
|
|
@@ -5,8 +5,8 @@ type IProcessingOrder = Pick<factory.order.IOrder, 'id' | 'orderNumber' | 'broke
|
|
|
5
5
|
numAcceptedOffers: number;
|
|
6
6
|
orderStatus: factory.orderStatus.OrderProcessing;
|
|
7
7
|
};
|
|
8
|
-
type ICreatingCheckResourceTask = Pick<factory.task.checkResource.IAttributes, '
|
|
9
|
-
alternateName
|
|
8
|
+
type ICreatingCheckResourceTask = Pick<factory.task.checkResource.IAttributes, 'data' | 'executionResults' | 'identifier' | 'name' | 'numberOfTried' | 'project' | 'remainingNumberOfTries' | 'runsAt' | 'status'> & {
|
|
9
|
+
alternateName?: never;
|
|
10
10
|
identifier: string;
|
|
11
11
|
};
|
|
12
12
|
type ICreatingInformProcessingOrderTask = Pick<factory.task.IAttributes<factory.taskName.TriggerWebhook>, 'data' | 'executionResults' | 'name' | 'numberOfTried' | 'project' | 'remainingNumberOfTries' | 'runsAt' | 'status'>;
|
|
@@ -15,16 +15,14 @@ function createInformProcessingOrderTasks(order, setting) {
|
|
|
15
15
|
const order4inform = creteProcessingOrderAsNotification(order);
|
|
16
16
|
const informIdentifier = `${factory_1.factory.order.OrderType.Order}:${order4inform.orderNumber}:${order4inform.orderStatus}`;
|
|
17
17
|
if (Array.isArray(informOrder) && informOrder.length > 0) {
|
|
18
|
-
let recipientId = '';
|
|
19
|
-
recipientId = order.customer.id;
|
|
18
|
+
// let recipientId = '';
|
|
19
|
+
// recipientId = order.customer.id;
|
|
20
20
|
informOrder.forEach((informOrderParams) => {
|
|
21
21
|
if (typeof informOrderParams.recipient?.url === 'string') {
|
|
22
22
|
const informActionAttributes = {
|
|
23
23
|
about: { orderNumber: order.orderNumber, typeOf: factory_1.factory.order.OrderType.Order },
|
|
24
24
|
object: order4inform,
|
|
25
25
|
recipient: {
|
|
26
|
-
// url: informOrderParams.recipient.url, // discontinue(2025-02-13~)
|
|
27
|
-
id: recipientId,
|
|
28
26
|
name: informOrderParams.recipient?.name,
|
|
29
27
|
typeOf: factory_1.factory.creativeWorkType.WebApplication
|
|
30
28
|
},
|
|
@@ -142,7 +140,7 @@ function createCheckResourceTask(order) {
|
|
|
142
140
|
};
|
|
143
141
|
const taskIdentifier = (0, util_1.format)('%s:%s:%s:%s', order.project.id, factory_1.factory.taskName.CheckResource, order.typeOf, order.orderNumber);
|
|
144
142
|
return {
|
|
145
|
-
alternateName: taskIdentifier, // add identifier(2025-03-29~)
|
|
143
|
+
// alternateName: taskIdentifier, // add identifier(2025-03-29~)
|
|
146
144
|
identifier: taskIdentifier, // add identifier(2025-03-29~)
|
|
147
145
|
project: order.project,
|
|
148
146
|
name: factory_1.factory.taskName.CheckResource,
|
|
@@ -50,7 +50,7 @@ function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder, opti
|
|
|
50
50
|
};
|
|
51
51
|
const taskIdentifier = (0, util_1.format)('%s:%s:%s:%s:%s:%s', order.project.id, factory_1.factory.taskName.ConfirmReserveTransaction, data.purpose.typeOf, data.purpose.orderNumber, data.object.typeOf, data.object.transactionNumber);
|
|
52
52
|
const confirmReserveTransactionTask = {
|
|
53
|
-
alternateName: taskIdentifier,
|
|
53
|
+
// alternateName: taskIdentifier,
|
|
54
54
|
identifier: taskIdentifier,
|
|
55
55
|
project: order.project,
|
|
56
56
|
name: factory_1.factory.taskName.ConfirmReserveTransaction,
|
|
@@ -61,7 +61,7 @@ function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder, opti
|
|
|
61
61
|
executionResults: [],
|
|
62
62
|
data
|
|
63
63
|
};
|
|
64
|
-
await repos.task.
|
|
64
|
+
await repos.task.runTaskByIdentifier(confirmReserveTransactionTask);
|
|
65
65
|
if (options.force === true) {
|
|
66
66
|
const existingTask = await repos.task.findByIdentifier({
|
|
67
67
|
identifier: taskIdentifier,
|
|
@@ -37,7 +37,7 @@ function onOrderProcessing(params) {
|
|
|
37
37
|
await repos.task.saveMany(tasks);
|
|
38
38
|
// uniqueness of CheckResource task(2025-03-29~)
|
|
39
39
|
if (creatingCheckResourceTask !== undefined) {
|
|
40
|
-
await repos.task.
|
|
40
|
+
await repos.task.runTaskByIdentifier(creatingCheckResourceTask);
|
|
41
41
|
}
|
|
42
42
|
switch (params.order.orderStatus) {
|
|
43
43
|
case factory_1.factory.orderStatus.OrderProcessing:
|
|
@@ -16,19 +16,17 @@ function createInformTasks(order, returnOrderAction, setting) {
|
|
|
16
16
|
// informObject = createOrder4inform(order);
|
|
17
17
|
// }
|
|
18
18
|
if (Array.isArray(informOrder) && informOrder.length > 0) {
|
|
19
|
-
let recipientId = '';
|
|
20
|
-
recipientId = order.customer.id;
|
|
21
|
-
if (typeof order.returner?.id === 'string') {
|
|
22
|
-
|
|
23
|
-
}
|
|
19
|
+
// let recipientId = '';
|
|
20
|
+
// recipientId = order.customer.id;
|
|
21
|
+
// if (typeof order.returner?.id === 'string') {
|
|
22
|
+
// recipientId = order.returner.id;
|
|
23
|
+
// }
|
|
24
24
|
informOrder.forEach((informOrderParams) => {
|
|
25
25
|
if (typeof informOrderParams.recipient?.url === 'string') {
|
|
26
26
|
const informActionAttributes = {
|
|
27
27
|
about: { orderNumber: order.orderNumber, typeOf: factory_1.factory.order.OrderType.Order },
|
|
28
28
|
object: informObject,
|
|
29
29
|
recipient: {
|
|
30
|
-
// url: informOrderParams.recipient.url, // discontinue(2025-02-13~)
|
|
31
|
-
id: recipientId,
|
|
32
30
|
name: informOrderParams.recipient?.name,
|
|
33
31
|
typeOf: factory_1.factory.creativeWorkType.WebApplication
|
|
34
32
|
},
|
|
@@ -10,15 +10,12 @@ setting) {
|
|
|
10
10
|
const informTasks = [];
|
|
11
11
|
const order4inform = creteOrder4inform(order);
|
|
12
12
|
if (Array.isArray(informOrder) && informOrder.length > 0) {
|
|
13
|
-
const recipientId = '';
|
|
14
13
|
informOrder.forEach((informOrderParams) => {
|
|
15
14
|
if (typeof informOrderParams.recipient?.url === 'string') {
|
|
16
15
|
const informActionAttributes = {
|
|
17
16
|
about: { orderNumber: order4inform.orderNumber, typeOf: factory_1.factory.order.OrderType.Order },
|
|
18
17
|
object: order4inform,
|
|
19
18
|
recipient: {
|
|
20
|
-
// url: informOrderParams.recipient.url, // discontinue(2025-02-13~)
|
|
21
|
-
id: recipientId,
|
|
22
19
|
name: informOrderParams.recipient?.name,
|
|
23
20
|
typeOf: factory_1.factory.creativeWorkType.WebApplication
|
|
24
21
|
},
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
|
|
2
2
|
import type { ActionRepo } from '../../repo/action';
|
|
3
3
|
import type { OrderRepo } from '../../repo/order';
|
|
4
|
-
import type { OwnershipInfoRepo } from '../../repo/ownershipInfo';
|
|
5
4
|
import type { SettingRepo } from '../../repo/setting';
|
|
6
5
|
import type { TaskRepo } from '../../repo/task';
|
|
7
6
|
import type { ReturnOrderRepo } from '../../repo/transaction/returnOrder';
|
|
@@ -20,7 +19,6 @@ declare function returnOrder(params: {
|
|
|
20
19
|
acceptedOffer: AcceptedOfferRepo;
|
|
21
20
|
action: ActionRepo;
|
|
22
21
|
order: OrderRepo;
|
|
23
|
-
ownershipInfo: OwnershipInfoRepo;
|
|
24
22
|
setting: SettingRepo;
|
|
25
23
|
task: TaskRepo;
|
|
26
24
|
returnOrder: ReturnOrderRepo;
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.returnOrder = returnOrder;
|
|
7
7
|
const debug_1 = __importDefault(require("debug"));
|
|
8
|
-
// import { createMaskedCustomer } from '../../factory/order';
|
|
9
8
|
const onOrderStatusChanged_1 = require("./onOrderStatusChanged");
|
|
10
9
|
const factory_1 = require("../../factory");
|
|
11
10
|
const debug = (0, debug_1.default)('chevre-domain:service:order');
|
|
@@ -19,9 +18,7 @@ function createReturnPolicy(params) {
|
|
|
19
18
|
};
|
|
20
19
|
}
|
|
21
20
|
function returnOrder(params) {
|
|
22
|
-
return async (repos
|
|
23
|
-
// settings: Settings
|
|
24
|
-
) => {
|
|
21
|
+
return async (repos) => {
|
|
25
22
|
if (typeof params.useOnOrderStatusChanged !== 'boolean') {
|
|
26
23
|
throw new factory_1.factory.errors.Argument('useOnOrderStatusChanged', 'must be boolean');
|
|
27
24
|
}
|
|
@@ -81,14 +78,15 @@ function returnOrder(params) {
|
|
|
81
78
|
recipient,
|
|
82
79
|
typeOf: factory_1.factory.actionType.ReturnAction
|
|
83
80
|
};
|
|
84
|
-
|
|
81
|
+
const returnedOwnershipInfos = [];
|
|
85
82
|
let returnedOrder;
|
|
86
83
|
const action = await repos.action.start(returnOrderActionAttributes);
|
|
87
84
|
try {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
85
|
+
// ひとまず所有権管理を廃止するため、所有権返却処理は不要(2026-08-10)
|
|
86
|
+
// returnedOwnershipInfos = await processReturnOrder(order, dateReturned)({
|
|
87
|
+
// acceptedOffer: repos.acceptedOffer,
|
|
88
|
+
// ownershipInfo: repos.ownershipInfo
|
|
89
|
+
// });
|
|
92
90
|
// 注文ステータス変更
|
|
93
91
|
returnedOrder = await repos.order.returnOrder({
|
|
94
92
|
project: { id: order.project.id },
|
|
@@ -130,37 +128,7 @@ function returnOrder(params) {
|
|
|
130
128
|
...returnOrderActionAttributes,
|
|
131
129
|
id: action.id
|
|
132
130
|
}
|
|
133
|
-
})(repos
|
|
134
|
-
// settings
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
function processReturnOrder(order, dateReturned) {
|
|
140
|
-
return async (repos) => {
|
|
141
|
-
const returnedOwnershipInfos = [];
|
|
142
|
-
// 所有権の所有期間変更
|
|
143
|
-
// 注文オファーリポジトリから所有権識別子を検索する(2023-12-07~)
|
|
144
|
-
const ownershipInfos = await repos.acceptedOffer.aggreateOwnershipInfosByOrder({ orderNumber: { $eq: order.orderNumber } });
|
|
145
|
-
if (Array.isArray(ownershipInfos)) {
|
|
146
|
-
await Promise.all(ownershipInfos.map(async (ownershipInfo) => {
|
|
147
|
-
const ownershipInfoReturned = await repos.ownershipInfo.findByIdentifierAndUpdateOwnedThrough({
|
|
148
|
-
project: { id: order.project.id },
|
|
149
|
-
identifier: String(ownershipInfo.identifier),
|
|
150
|
-
ownedThrough: dateReturned
|
|
151
|
-
})
|
|
152
|
-
.then((ownershipInfoByDB) => {
|
|
153
|
-
// 存在しない場合は識別子のみ保管(customer.typeOfによって存在しないこともありうる)
|
|
154
|
-
if (ownershipInfoByDB === undefined) {
|
|
155
|
-
return ownershipInfo;
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
return ownershipInfoByDB;
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
returnedOwnershipInfos.push(ownershipInfoReturned);
|
|
162
|
-
}));
|
|
131
|
+
})(repos);
|
|
163
132
|
}
|
|
164
|
-
return returnedOwnershipInfos;
|
|
165
133
|
};
|
|
166
134
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
|
|
2
2
|
import type { ActionRepo } from '../../repo/action';
|
|
3
3
|
import type { OrderRepo } from '../../repo/order';
|
|
4
|
-
import type { OwnershipInfoRepo } from '../../repo/ownershipInfo';
|
|
5
4
|
import type { SettingRepo } from '../../repo/setting';
|
|
6
5
|
import type { TaskRepo } from '../../repo/task';
|
|
7
6
|
import type { PlaceOrderRepo } from '../../repo/transaction/placeOrder';
|
|
@@ -10,7 +9,6 @@ interface ISendOrderRepos {
|
|
|
10
9
|
acceptedOffer: AcceptedOfferRepo;
|
|
11
10
|
action: ActionRepo;
|
|
12
11
|
order: OrderRepo;
|
|
13
|
-
ownershipInfo: OwnershipInfoRepo;
|
|
14
12
|
setting: SettingRepo;
|
|
15
13
|
task: TaskRepo;
|
|
16
14
|
placeOrder: PlaceOrderRepo;
|
|
@@ -5,33 +5,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.sendOrder = sendOrder;
|
|
7
7
|
const debug_1 = __importDefault(require("debug"));
|
|
8
|
-
// import {
|
|
9
|
-
const factory_1 = require("../delivery/factory");
|
|
10
|
-
// import { findPlaceOrderTransaction } from './findPlaceOrderTransaction';
|
|
8
|
+
// import { createOwnershipInfosFromOrder } from '../delivery/factory';
|
|
11
9
|
const onOrderStatusChanged_1 = require("./onOrderStatusChanged");
|
|
12
|
-
const
|
|
10
|
+
const factory_1 = require("../../factory");
|
|
13
11
|
const debug = (0, debug_1.default)('chevre-domain:service:order');
|
|
14
12
|
/**
|
|
15
13
|
* 注文を配送する
|
|
16
14
|
*/
|
|
17
15
|
function sendOrder(params) {
|
|
18
|
-
return async (repos
|
|
19
|
-
// settings: Settings
|
|
20
|
-
) => {
|
|
16
|
+
return async (repos) => {
|
|
21
17
|
if (typeof params.useOnOrderStatusChanged !== 'boolean') {
|
|
22
|
-
throw new
|
|
18
|
+
throw new factory_1.factory.errors.Argument('useOnOrderStatusChanged', 'must be boolean');
|
|
23
19
|
}
|
|
24
20
|
if (typeof params.object.acceptedOffers?.limit !== 'number') {
|
|
25
|
-
throw new
|
|
21
|
+
throw new factory_1.factory.errors.Argument('object.acceptedOffers.limit', 'must be number');
|
|
26
22
|
}
|
|
27
23
|
if (typeof params.object.acceptedOffers?.page !== 'number') {
|
|
28
|
-
throw new
|
|
24
|
+
throw new factory_1.factory.errors.Argument('object.acceptedOffers.page', 'must be number');
|
|
29
25
|
}
|
|
30
26
|
if (params.object.acceptedOffers.limit <= 0) {
|
|
31
|
-
throw new
|
|
27
|
+
throw new factory_1.factory.errors.Argument('object.acceptedOffers.limit', 'must be greater than 1');
|
|
32
28
|
}
|
|
33
29
|
if (params.object.acceptedOffers.page <= 0) {
|
|
34
|
-
throw new
|
|
30
|
+
throw new factory_1.factory.errors.Argument('object.acceptedOffers.page', 'must be greater than 1');
|
|
35
31
|
}
|
|
36
32
|
try {
|
|
37
33
|
const orderNumber = params.object.orderNumber;
|
|
@@ -49,24 +45,16 @@ function sendOrder(params) {
|
|
|
49
45
|
});
|
|
50
46
|
// プロジェクト条件検証
|
|
51
47
|
if (order.project.id !== params.project.id) {
|
|
52
|
-
throw new
|
|
48
|
+
throw new factory_1.factory.errors.NotFound('Order');
|
|
53
49
|
}
|
|
54
50
|
// 確認番号検証
|
|
55
51
|
if (order.confirmationNumber !== confirmationNumber) {
|
|
56
|
-
throw new
|
|
52
|
+
throw new factory_1.factory.errors.NotFound('Order');
|
|
57
53
|
}
|
|
58
54
|
// const maskedCustomer = createMaskedCustomer(order, { noProfile: true });
|
|
59
55
|
const simpleOrder = {
|
|
60
56
|
typeOf: order.typeOf,
|
|
61
|
-
// seller: {
|
|
62
|
-
// id: order.seller.id,
|
|
63
|
-
// typeOf: order.seller.typeOf,
|
|
64
|
-
// name: order.seller.name
|
|
65
|
-
// }, // 廃止(2024-03-06~)
|
|
66
|
-
// customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id }, // 廃止(2024-03-06~)
|
|
67
57
|
orderNumber: order.orderNumber,
|
|
68
|
-
// price: order.price,
|
|
69
|
-
// priceCurrency: order.priceCurrency,
|
|
70
58
|
orderDate: order.orderDate
|
|
71
59
|
};
|
|
72
60
|
const { limit, page } = params.object.acceptedOffers;
|
|
@@ -77,24 +65,24 @@ function sendOrder(params) {
|
|
|
77
65
|
const sendOrderActionAttributes = {
|
|
78
66
|
agent: (typeof params.agent?.typeOf === 'string') ? params.agent : order.project,
|
|
79
67
|
object: sendOrderObject,
|
|
80
|
-
// potentialActions: {},
|
|
81
68
|
project: order.project,
|
|
82
69
|
recipient: { id: order.customer.id, typeOf: order.customer.typeOf },
|
|
83
|
-
typeOf:
|
|
70
|
+
typeOf: factory_1.factory.actionType.SendAction
|
|
84
71
|
};
|
|
85
72
|
const action = await repos.action.start(sendOrderActionAttributes);
|
|
86
|
-
let creatingOwnershipInfos = [];
|
|
87
|
-
|
|
73
|
+
// let creatingOwnershipInfos: IOwnershipInfo[] = [];
|
|
74
|
+
const createdOwnershipInfos = [];
|
|
88
75
|
let allOffersDelivered = false;
|
|
89
76
|
let acceptedOffers;
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
77
|
+
// 所有権管理はひとまず廃止(2026-08-10~)
|
|
78
|
+
// // 所有権生成を最小化(2024-03-01~)
|
|
79
|
+
// let createOwnerships = false;
|
|
80
|
+
// switch (order.customer.typeOf) {
|
|
81
|
+
// case factory.personType.Person:
|
|
82
|
+
// createOwnerships = true; // Personのみに限定(2026-03-15~)
|
|
83
|
+
// break;
|
|
84
|
+
// default:
|
|
85
|
+
// }
|
|
98
86
|
try {
|
|
99
87
|
const offerIndexBase = (limit * (page - 1));
|
|
100
88
|
const searchSlicedAcceptedOffersResult = await repos.acceptedOffer.searchSlicedAcceptedOffersByOrderNumber({
|
|
@@ -104,29 +92,27 @@ function sendOrder(params) {
|
|
|
104
92
|
});
|
|
105
93
|
acceptedOffers = searchSlicedAcceptedOffersResult.acceptedOffers;
|
|
106
94
|
debug('delivering...', order.orderNumber, params.object.acceptedOffers, 'offerIndexBase:', offerIndexBase);
|
|
107
|
-
//
|
|
108
|
-
if (createOwnerships) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
// const deliveredCount = limit * page;
|
|
124
|
-
// debug(deliveredCount, 'delivered.', order.orderNumber, params.object.acceptedOffers);
|
|
95
|
+
// 所有権管理はひとまず廃止(2026-08-10~)
|
|
96
|
+
// if (createOwnerships) {
|
|
97
|
+
// creatingOwnershipInfos = createOwnershipInfosFromOrder({
|
|
98
|
+
// order: { ...order, acceptedOffers },
|
|
99
|
+
// offerIndexBase
|
|
100
|
+
// });
|
|
101
|
+
// createdOwnershipInfos = await Promise.all(creatingOwnershipInfos.map(async (creatingOwnershipInfo) => {
|
|
102
|
+
// const { id } = await repos.ownershipInfo.createIfNotExistByIdentifier(creatingOwnershipInfo);
|
|
103
|
+
// return {
|
|
104
|
+
// id,
|
|
105
|
+
// ...(typeof creatingOwnershipInfo.identifier === 'string')
|
|
106
|
+
// ? { identifier: creatingOwnershipInfo.identifier }
|
|
107
|
+
// : undefined
|
|
108
|
+
// };
|
|
109
|
+
// }));
|
|
110
|
+
// }
|
|
125
111
|
if (acceptedOffers.length === 0) {
|
|
126
112
|
order = await repos.order.changeStatus({
|
|
127
113
|
project: { id: order.project.id },
|
|
128
114
|
orderNumber,
|
|
129
|
-
orderStatus:
|
|
115
|
+
orderStatus: factory_1.factory.orderStatus.OrderDelivered,
|
|
130
116
|
previousOrderStatus: params.object.previousOrderStatus
|
|
131
117
|
});
|
|
132
118
|
allOffersDelivered = true;
|
|
@@ -154,7 +140,7 @@ function sendOrder(params) {
|
|
|
154
140
|
orderNumber: order.orderNumber,
|
|
155
141
|
project: order.project,
|
|
156
142
|
typeOf: order.typeOf,
|
|
157
|
-
orderStatus:
|
|
143
|
+
orderStatus: factory_1.factory.orderStatus.OrderDelivered,
|
|
158
144
|
price: order.price,
|
|
159
145
|
priceCurrency: order.priceCurrency
|
|
160
146
|
}
|
|
@@ -180,7 +166,7 @@ function sendOrder(params) {
|
|
|
180
166
|
project: { id: params.project.id },
|
|
181
167
|
inclusion: ['orderStatus']
|
|
182
168
|
});
|
|
183
|
-
if (currentOrder?.orderStatus ===
|
|
169
|
+
if (currentOrder?.orderStatus === factory_1.factory.orderStatus.OrderReturned) {
|
|
184
170
|
throwsError = false;
|
|
185
171
|
}
|
|
186
172
|
if (throwsError) {
|