@chevre/domain 21.18.0-alpha.4 → 21.18.0-alpha.41

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.
Files changed (142) hide show
  1. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +24 -0
  2. package/example/src/chevre/offerCatalog2offerCatalogItem.ts +4 -0
  3. package/example/src/chevre/searchAcceptedOfferIds.ts +57 -0
  4. package/example/src/chevre/searchOffers.ts +41 -37
  5. package/example/src/chevre/searchOrderAcceptedOffers.ts +12 -12
  6. package/example/src/chevre/searchOrders.ts +36 -19
  7. package/example/src/chevre/searchReservationsByOrder.ts +30 -0
  8. package/example/src/chevre/searchTransactions.ts +41 -0
  9. package/example/src/chevre/transaction/processReturnOrder.ts +1 -0
  10. package/example/src/chevre/upsertMoviesByIdentifier.ts +5 -4
  11. package/example/src/chevre/upsertOfferCatalogsByIdentifier.ts +46 -0
  12. package/example/src/chevre/upsertOffersByIdentifier.ts +94 -0
  13. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +104 -0
  14. package/lib/chevre/credentials.d.ts +0 -3
  15. package/lib/chevre/credentials.js +4 -3
  16. package/lib/chevre/repo/acceptedOffer.d.ts +60 -0
  17. package/lib/chevre/repo/acceptedOffer.js +158 -0
  18. package/lib/chevre/repo/creativeWork.d.ts +12 -2
  19. package/lib/chevre/repo/creativeWork.js +39 -25
  20. package/lib/chevre/repo/event.d.ts +15 -0
  21. package/lib/chevre/repo/event.js +66 -0
  22. package/lib/chevre/repo/offer.d.ts +14 -5
  23. package/lib/chevre/repo/offer.js +94 -19
  24. package/lib/chevre/repo/offerCatalog.d.ts +18 -1
  25. package/lib/chevre/repo/offerCatalog.js +51 -39
  26. package/lib/chevre/repo/order.d.ts +14 -54
  27. package/lib/chevre/repo/order.js +46 -180
  28. package/lib/chevre/repo/paymentService.d.ts +30 -0
  29. package/lib/chevre/repo/paymentService.js +75 -0
  30. package/lib/chevre/repo/place.js +14 -10
  31. package/lib/chevre/repo/product.d.ts +41 -10
  32. package/lib/chevre/repo/product.js +94 -47
  33. package/lib/chevre/repo/transaction.d.ts +5 -4
  34. package/lib/chevre/repository.d.ts +10 -7
  35. package/lib/chevre/repository.js +28 -17
  36. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +10 -1
  37. package/lib/chevre/service/aggregation/event/findEventOffers.js +10 -1
  38. package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -1
  39. package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +3 -1
  40. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +3 -3
  41. package/lib/chevre/service/assetTransaction/pay.d.ts +2 -0
  42. package/lib/chevre/service/assetTransaction/pay.js +47 -34
  43. package/lib/chevre/service/assetTransaction/refund/factory.d.ts +1 -1
  44. package/lib/chevre/service/assetTransaction/refund/factory.js +0 -5
  45. package/lib/chevre/service/assetTransaction/refund.js +15 -3
  46. package/lib/chevre/service/assetTransaction/registerService.js +18 -2
  47. package/lib/chevre/service/assetTransaction/reserve/factory/price.js +1 -1
  48. package/lib/chevre/service/assetTransaction/reserve.js +32 -2
  49. package/lib/chevre/service/delivery/factory.d.ts +3 -1
  50. package/lib/chevre/service/delivery/factory.js +4 -2
  51. package/lib/chevre/service/delivery.d.ts +1 -2
  52. package/lib/chevre/service/delivery.js +1 -3
  53. package/lib/chevre/service/event.js +1 -1
  54. package/lib/chevre/service/moneyTransfer.js +11 -1
  55. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  56. package/lib/chevre/service/offer/event/factory.js +4 -2
  57. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +40 -5
  58. package/lib/chevre/service/offer/product/factory.js +1 -1
  59. package/lib/chevre/service/offer/product/searchProductOffers.js +10 -1
  60. package/lib/chevre/service/offer/product.d.ts +0 -14
  61. package/lib/chevre/service/offer/product.js +61 -44
  62. package/lib/chevre/service/order/confirmPayTransaction.d.ts +2 -0
  63. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  64. package/lib/chevre/service/order/createAccountingReportIfNotExist.d.ts +3 -1
  65. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +4 -1
  66. package/lib/chevre/service/order/deleteOrder.d.ts +2 -0
  67. package/lib/chevre/service/order/deleteOrder.js +15 -4
  68. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +3 -1
  69. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -2
  70. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +3 -3
  71. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +15 -9
  72. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +11 -0
  73. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +54 -0
  74. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.d.ts +10 -0
  75. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +38 -0
  76. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +12 -0
  77. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +111 -0
  78. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +12 -0
  79. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +64 -0
  80. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.d.ts +10 -0
  81. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +103 -0
  82. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +23 -0
  83. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +180 -0
  84. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +14 -0
  85. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +214 -0
  86. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +10 -0
  87. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +110 -0
  88. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.d.ts +14 -0
  89. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +164 -0
  90. package/lib/chevre/service/order/onOrderStatusChanged.d.ts +9 -15
  91. package/lib/chevre/service/order/onOrderStatusChanged.js +11 -446
  92. package/lib/chevre/service/order/onOrderUpdated/factory.d.ts +6 -0
  93. package/lib/chevre/service/order/onOrderUpdated/factory.js +45 -0
  94. package/lib/chevre/service/order/onOrderUpdated.js +1 -1
  95. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  96. package/lib/chevre/service/order/placeOrder.d.ts +2 -3
  97. package/lib/chevre/service/order/placeOrder.js +65 -22
  98. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  99. package/lib/chevre/service/order/returnOrder.js +34 -13
  100. package/lib/chevre/service/order/sendOrder.d.ts +2 -2
  101. package/lib/chevre/service/order/sendOrder.js +19 -6
  102. package/lib/chevre/service/order.d.ts +2 -2
  103. package/lib/chevre/service/order.js +2 -2
  104. package/lib/chevre/service/payment/any.js +1 -1
  105. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -2
  106. package/lib/chevre/service/payment/paymentCard.js +9 -2
  107. package/lib/chevre/service/reserve/searchByOrder.d.ts +21 -0
  108. package/lib/chevre/service/reserve/searchByOrder.js +113 -0
  109. package/lib/chevre/service/reserve/verifyToken4reservation.js +0 -11
  110. package/lib/chevre/service/reserve.d.ts +2 -1
  111. package/lib/chevre/service/reserve.js +3 -1
  112. package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
  113. package/lib/chevre/service/task/deleteTransaction.js +2 -0
  114. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +5 -6
  115. package/lib/chevre/service/task/onAuthorizationCreated.js +9 -18
  116. package/lib/chevre/service/task/onOrderPaymentCompleted.js +5 -6
  117. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +1 -1
  118. package/lib/chevre/service/task/onResourceUpdated.js +1 -1
  119. package/lib/chevre/service/task/placeOrder.js +10 -17
  120. package/lib/chevre/service/task/returnOrder.js +10 -17
  121. package/lib/chevre/service/task/sendOrder.js +10 -17
  122. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -7
  123. package/lib/chevre/service/transaction/deleteTransaction.d.ts +2 -0
  124. package/lib/chevre/service/transaction/moneyTransfer.js +3 -4
  125. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +0 -4
  126. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +0 -86
  127. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -1
  128. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +1 -1
  129. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +1 -0
  130. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +3 -3
  131. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +1 -0
  132. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -1
  133. package/lib/chevre/service/transaction/returnOrder.d.ts +3 -0
  134. package/lib/chevre/service/transaction/returnOrder.js +73 -55
  135. package/package.json +3 -3
  136. package/example/src/chevre/transaction/findPaymentCardPermit.ts +0 -29
  137. package/lib/chevre/repo/action/registerServiceInProgress.d.ts +0 -29
  138. package/lib/chevre/repo/action/registerServiceInProgress.js +0 -58
  139. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +0 -42
  140. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +0 -467
  141. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.d.ts +0 -26
  142. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +0 -65
@@ -1,451 +1,16 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.onOrderStatusChanged = void 0;
3
+ exports.onOrderReturned = exports.onOrderProcessing = exports.onOrderPaymentDue = exports.onOrderDelivered = exports.onOrderCancelled = void 0;
13
4
  /**
14
5
  * 注文ステータス変更時処理
15
6
  */
16
- const createDebug = require("debug");
17
- const google_libphonenumber_1 = require("google-libphonenumber");
18
- const factory = require("../../factory");
19
- const order_1 = require("../../factory/order");
20
- const product_1 = require("../offer/product");
21
- const factory_1 = require("./onOrderStatusChanged/factory");
22
- const debug = createDebug('chevre-domain:service:order');
23
- const USE_CONFIRM_REGISTER_SERVICE_TRANSACTION = process.env.USE_CONFIRM_REGISTER_SERVICE_TRANSACTION === '1';
24
- const TOKEN_EXPIRES_IN = 604800;
25
- function onOrderStatusChanged(params) {
26
- // tslint:disable-next-line:max-func-body-length
27
- return (repos) => __awaiter(this, void 0, void 0, function* () {
28
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
29
- debug('onOrderStatusChanged called.', params.order.orderNumber, params.order.orderStatus, params.order.orderDate);
30
- let tasks = [];
31
- const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order, { noProfile: true });
32
- const simpleOrder = {
33
- typeOf: params.order.typeOf,
34
- seller: {
35
- id: params.order.seller.id,
36
- typeOf: params.order.seller.typeOf,
37
- name: params.order.seller.name
38
- },
39
- customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
40
- orderNumber: params.order.orderNumber,
41
- price: params.order.price,
42
- priceCurrency: params.order.priceCurrency,
43
- orderDate: params.order.orderDate
44
- };
45
- switch (params.order.orderStatus) {
46
- case factory.orderStatus.OrderDelivered:
47
- tasks = [
48
- ...(0, factory_1.createInformTasks)(params.order),
49
- // 取引のpotentialActionsを適用(2023-08-17~)
50
- ...(0, factory_1.createOnOrderSentTasksByTransaction)({
51
- potentialActions: (_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
52
- })
53
- ];
54
- // プロダクト登録プロセスロック解除
55
- try {
56
- const placeOrderTransaction = params.placeOrderTransaction;
57
- if (typeof (placeOrderTransaction === null || placeOrderTransaction === void 0 ? void 0 : placeOrderTransaction.id) === 'string') {
58
- // プロダクト登録プロセスロック解除(orderからproductIdを抽出する)
59
- if (Array.isArray(params.order.acceptedOffers)) {
60
- const productIds4unlock = params.order.acceptedOffers
61
- .filter((o) => {
62
- var _a;
63
- return o.itemOffered.typeOf === factory.permit.PermitType.Permit
64
- && typeof ((_a = o.itemOffered.issuedThrough) === null || _a === void 0 ? void 0 : _a.id) === 'string'
65
- && o.itemOffered.issuedThrough.id.length > 0;
66
- })
67
- .map((o) => { var _a; return String((_a = o.itemOffered.issuedThrough) === null || _a === void 0 ? void 0 : _a.id); });
68
- yield Promise.all(productIds4unlock.map((productId) => __awaiter(this, void 0, void 0, function* () {
69
- yield (0, product_1.processUnlockRegisterMembershipService)({
70
- agent: { id: String(params.order.customer.id) },
71
- product: { id: productId },
72
- purpose: { typeOf: placeOrderTransaction.typeOf, id: placeOrderTransaction.id }
73
- })(repos);
74
- })));
75
- }
76
- }
77
- }
78
- catch (error) {
79
- throw error;
80
- }
81
- break;
82
- // OrderPaymentDueを追加(2023-08-23~)
83
- case factory.orderStatus.OrderPaymentDue:
84
- tasks = [
85
- ...yield createConfirmPayTransactionTasks(params.order, simpleOrder)(repos)
86
- ];
87
- break;
88
- case factory.orderStatus.OrderProcessing:
89
- const orderWithToken = yield (0, factory_1.getOrderWithToken)({ order: params.order, expiresIn: TOKEN_EXPIRES_IN });
90
- tasks = [
91
- // 注文作成時のみトークン付加
92
- ...(0, factory_1.createInformTasks)(orderWithToken),
93
- // 決済取引確定タスク作成はOrderPaymentDueへ完全移行(2023-08-26~)
94
- // ...await createConfirmPayTransactionTasks(params.order, simpleOrder)(repos),
95
- // createConfirmReserveTransactionTasksIfNotExistへ移行(2023-08-25~)
96
- // ...await createConfirmReserveTransactionTasks(params.order, simpleOrder)(repos),
97
- ...yield createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos)
98
- // 取引のpotentialActionsを適用(2023-08-17~)
99
- // createGivePointAwardTaskIfNotExistへ移行(2023-09-01~)
100
- // ...createOnPlaceOrderTasksByTransaction({
101
- // object: params.order,
102
- // potentialActions: params.placeOrderTransaction?.potentialActions?.order?.potentialActions
103
- // })
104
- ];
105
- break;
106
- case factory.orderStatus.OrderReturned:
107
- const potentialActionsByTransaction = (_j = (_h = (_g = (_f = params.returnOrderTransaction) === null || _f === void 0 ? void 0 : _f.potentialActions) === null || _g === void 0 ? void 0 : _g.returnOrder) === null || _h === void 0 ? void 0 : _h.find((returnOrderActionByTransaction) => {
108
- return returnOrderActionByTransaction.object.orderNumber === params.order.orderNumber;
109
- })) === null || _j === void 0 ? void 0 : _j.potentialActions;
110
- tasks = [
111
- ...(0, factory_1.createInformTasks)(params.order),
112
- ...createReturnReserveTransactionTasks(params.order, simpleOrder),
113
- // 決済取引返却タスクを作成(2022-06-09~)
114
- ...createReturnPayTransactionTasks(params.order, simpleOrder, params.returnOrderTransaction),
115
- // 取引のpotentialActionsを適用(2023-08-19~)
116
- ...(0, factory_1.createOnOrderReturnedTasksByTransaction)({ potentialActions: potentialActionsByTransaction })
117
- ];
118
- break;
119
- // OrderCancelled追加(2023-08-30~)
120
- case factory.orderStatus.OrderCancelled:
121
- // 注文取引中止時と同様の処理か
122
- tasks = [
123
- ...(0, factory_1.createOnOrderCancelledTasksByTransaction)({ transaction: params.placeOrderTransaction })
124
- ];
125
- break;
126
- default:
127
- }
128
- yield repos.task.saveMany(tasks, { emitImmediately: true });
129
- switch (params.order.orderStatus) {
130
- case factory.orderStatus.OrderProcessing:
131
- // 冗長なconfirmReserveTransactionタスク作成を回避(2023-08-25~)
132
- yield createConfirmReserveTransactionTasksIfNotExist(params.order, simpleOrder)(repos);
133
- // 冗長なsendOrderタスク作成を回避(2023-08-25~)
134
- yield createSendOrderTransactionTaskIfNotExist({
135
- object: params.order,
136
- potentialActions: (_m = (_l = (_k = params.placeOrderTransaction) === null || _k === void 0 ? void 0 : _k.potentialActions) === null || _l === void 0 ? void 0 : _l.order) === null || _m === void 0 ? void 0 : _m.potentialActions
137
- })(repos);
138
- yield createGivePointAwardTaskIfNotExist({
139
- potentialActions: (_q = (_p = (_o = params.placeOrderTransaction) === null || _o === void 0 ? void 0 : _o.potentialActions) === null || _p === void 0 ? void 0 : _p.order) === null || _q === void 0 ? void 0 : _q.potentialActions
140
- })(repos);
141
- break;
142
- default:
143
- }
144
- });
145
- }
146
- exports.onOrderStatusChanged = onOrderStatusChanged;
147
- function createConfirmPayTransactionTasks(order, simpleOrder) {
148
- return (repos) => __awaiter(this, void 0, void 0, function* () {
149
- const taskRunsAt = new Date();
150
- const tasks = [];
151
- yield Promise.all(order.paymentMethods.map((invoice) => __awaiter(this, void 0, void 0, function* () {
152
- // PaymentAutomaticallyAppliedであれば、自動決済処理を実行(2023-08-24~)
153
- if (invoice.paymentStatus !== factory.paymentStatusType.PaymentAutomaticallyApplied) {
154
- return;
155
- }
156
- // 冗長なタスク作成を回避
157
- const existingTasks = yield repos.task.search({
158
- limit: 1,
159
- page: 1,
160
- project: { id: { $eq: order.project.id } },
161
- name: factory.taskName.ConfirmPayTransaction,
162
- data: {
163
- object: { transactionNumber: { $eq: invoice.paymentMethodId } },
164
- purpose: { orderNumber: { $eq: order.orderNumber } }
165
- }
166
- }, {
167
- data: 0, executionResults: 0, name: 0, numberOfTried: 0,
168
- remainingNumberOfTries: 0, runsAt: 0, status: 0
169
- });
170
- if (existingTasks.length === 0) {
171
- const data = {
172
- project: order.project,
173
- typeOf: factory.actionType.ConfirmAction,
174
- object: [{ typeOf: factory.assetTransactionType.Pay, transactionNumber: invoice.paymentMethodId }],
175
- agent: order.project,
176
- purpose: Object.assign(Object.assign({}, simpleOrder), { confirmationNumber: order.confirmationNumber }),
177
- instrument: {
178
- typeOf: 'WebAPI',
179
- identifier: factory.action.authorize.paymentMethod.any.ServiceIdentifier.Chevre
180
- },
181
- processOrder: order.orderStatus === factory.orderStatus.OrderPaymentDue,
182
- useOnOrderStatusChanged: true
183
- };
184
- tasks.push({
185
- project: order.project,
186
- name: factory.taskName.ConfirmPayTransaction,
187
- status: factory.taskStatus.Ready,
188
- runsAt: taskRunsAt,
189
- remainingNumberOfTries: 10,
190
- numberOfTried: 0,
191
- executionResults: [],
192
- data
193
- });
194
- }
195
- })));
196
- return tasks;
197
- });
198
- }
199
- // const COA_TASK_DELAY_IN_SECONDS = 0;
200
- function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder) {
201
- return (repos) => __awaiter(this, void 0, void 0, function* () {
202
- const taskRunsAt = new Date();
203
- const taskRunsAt4coa = new Date();
204
- // const taskRunsAt4coa = moment(order.orderDate)
205
- // .add(COA_TASK_DELAY_IN_SECONDS, 'seconds')
206
- // .toDate();
207
- const confirmObjects = [
208
- ...(0, factory_1.createConfirmReservationActionObject4ChevreByOrder)({ order }),
209
- ...(0, factory_1.createConfirmReservationActionObject4COAByOrder)({ order })
210
- ];
211
- yield Promise.all(confirmObjects.map((confirmObject) => __awaiter(this, void 0, void 0, function* () {
212
- const data = {
213
- project: order.project,
214
- typeOf: factory.actionType.ConfirmAction,
215
- object: confirmObject,
216
- agent: order.project,
217
- purpose: simpleOrder,
218
- instrument: {
219
- typeOf: 'WebAPI',
220
- identifier: (confirmObject.typeOf === 'COAReserveTransaction')
221
- ? factory.service.webAPI.Identifier.COA
222
- : factory.service.webAPI.Identifier.Chevre
223
- }
224
- };
225
- const confirmReserveTransactionTask = {
226
- project: order.project,
227
- name: factory.taskName.ConfirmReserveTransaction,
228
- status: factory.taskStatus.Ready,
229
- runsAt: (confirmObject.typeOf === 'COAReserveTransaction') ? taskRunsAt4coa : taskRunsAt,
230
- remainingNumberOfTries: 10,
231
- numberOfTried: 0,
232
- executionResults: [],
233
- data
234
- };
235
- yield repos.task.createConfirmReserveTransactionTaskIfNotExist(confirmReserveTransactionTask, { emitImmediately: true });
236
- })));
237
- });
238
- }
239
- function createConfirmRegisterServiceTransactionTasks(order, simpleOrder) {
240
- return (repos) => __awaiter(this, void 0, void 0, function* () {
241
- const taskRunsAt = new Date();
242
- if (USE_CONFIRM_REGISTER_SERVICE_TRANSACTION) {
243
- const confirmObjects = (0, factory_1.createConfirmRegisterServiceActionObjectByOrder)({ order });
244
- const tasks = [];
245
- yield Promise.all(confirmObjects.map((confirmObject) => __awaiter(this, void 0, void 0, function* () {
246
- // 冗長なタスク作成を回避
247
- const existingTasks = yield repos.task.search({
248
- limit: 1,
249
- page: 1,
250
- project: { id: { $eq: order.project.id } },
251
- name: factory.taskName.ConfirmReserveTransaction,
252
- data: {
253
- object: { transactionNumber: { $eq: confirmObject.transactionNumber } },
254
- purpose: { orderNumber: { $eq: order.orderNumber } }
255
- }
256
- }, {
257
- data: 0, executionResults: 0, name: 0, numberOfTried: 0,
258
- remainingNumberOfTries: 0, runsAt: 0, status: 0
259
- });
260
- if (existingTasks.length === 0) {
261
- const data = {
262
- project: order.project,
263
- typeOf: factory.actionType.ConfirmAction,
264
- object: confirmObject,
265
- agent: order.project,
266
- purpose: simpleOrder,
267
- instrument: {
268
- typeOf: 'WebAPI',
269
- identifier: factory.service.webAPI.Identifier.Chevre
270
- }
271
- };
272
- tasks.push({
273
- project: order.project,
274
- name: factory.taskName.ConfirmRegisterServiceTransaction,
275
- status: factory.taskStatus.Ready,
276
- runsAt: taskRunsAt,
277
- remainingNumberOfTries: 10,
278
- numberOfTried: 0,
279
- executionResults: [],
280
- data
281
- });
282
- }
283
- })));
284
- return tasks;
285
- }
286
- else {
287
- return [];
288
- }
289
- });
290
- }
291
- function createSendOrderTransactionTaskIfNotExist(params) {
292
- return (repos) => __awaiter(this, void 0, void 0, function* () {
293
- var _a;
294
- const now = new Date();
295
- const sendOrderByTransaction = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.sendOrder;
296
- if (sendOrderByTransaction !== undefined) {
297
- const sendOrderTaskData = {
298
- project: sendOrderByTransaction.project,
299
- object: Object.assign(Object.assign({}, sendOrderByTransaction.object), { confirmationNumber: params.object.confirmationNumber })
300
- };
301
- const sendOrderTask = {
302
- project: sendOrderByTransaction.project,
303
- name: factory.taskName.SendOrder,
304
- status: factory.taskStatus.Ready,
305
- runsAt: now,
306
- remainingNumberOfTries: 10,
307
- numberOfTried: 0,
308
- executionResults: [],
309
- data: sendOrderTaskData
310
- };
311
- yield repos.task.createSendOrderTaskIfNotExist(sendOrderTask, { emitImmediately: true });
312
- }
313
- });
314
- }
315
- function createGivePointAwardTaskIfNotExist(params) {
316
- return (repos) => __awaiter(this, void 0, void 0, function* () {
317
- var _a;
318
- const now = new Date();
319
- const givePointAwardsByTransaction = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.givePointAward;
320
- if (Array.isArray(givePointAwardsByTransaction)) {
321
- for (const givePointAwardByTransaction of givePointAwardsByTransaction) {
322
- let taskIdentifier = `${givePointAwardByTransaction.project.id}:${factory.taskName.GivePointAward}:${Date.now()}`;
323
- if (typeof givePointAwardByTransaction.object.identifier === 'string'
324
- && givePointAwardByTransaction.object.identifier.length > 0) {
325
- taskIdentifier = `${givePointAwardByTransaction.project.id}:${factory.taskName.GivePointAward}:${givePointAwardByTransaction.object.identifier}`;
326
- }
327
- const givePointAwardTask = {
328
- identifier: taskIdentifier,
329
- project: givePointAwardByTransaction.project,
330
- name: factory.taskName.GivePointAward,
331
- status: factory.taskStatus.Ready,
332
- runsAt: now,
333
- remainingNumberOfTries: 10,
334
- numberOfTried: 0,
335
- executionResults: [],
336
- data: givePointAwardByTransaction
337
- };
338
- // 冗長なgivePointAwardタスク作成を回避(2023-09-01~)
339
- yield repos.task.createIfNotExistByIdentifier(givePointAwardTask, { emitImmediately: true });
340
- }
341
- }
342
- });
343
- }
344
- // const RETURN_COA_TASK_DELAY_IN_SECONDS = 0;
345
- function createReturnReserveTransactionTasks(order, simpleOrder) {
346
- var _a, _b;
347
- const taskRunsAt = new Date();
348
- const taskRunsAt4coa = new Date();
349
- // const taskRunsAt4coa = moment(order.dateReturned)
350
- // .add(RETURN_COA_TASK_DELAY_IN_SECONDS, 'seconds')
351
- // .toDate();
352
- const tasks = [];
353
- const returnActionRecipient = {
354
- typeOf: order.seller.typeOf,
355
- id: order.seller.id,
356
- name: order.seller.name
357
- };
358
- const reservationNumbers = [];
359
- // 注文アイテムから返却アクションを作成する
360
- const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
361
- for (const acceptedOffer of acceptedOffers) {
362
- if (acceptedOffer.itemOffered.typeOf === factory.reservationType.EventReservation
363
- || acceptedOffer.itemOffered.typeOf === factory.reservationType.BusReservation) {
364
- const reservation = acceptedOffer.itemOffered;
365
- const reservationNumber = reservation.reservationNumber;
366
- // 予約番号ごとに返却アクションを作成する
367
- if (!reservationNumbers.includes(reservationNumber)) {
368
- let returnReserveTransactionAction;
369
- switch ((_a = acceptedOffer.offeredThrough) === null || _a === void 0 ? void 0 : _a.identifier) {
370
- case factory.service.webAPI.Identifier.COA:
371
- const superEventLocationBranchCode = (_b = reservation.reservationFor) === null || _b === void 0 ? void 0 : _b.superEvent.location.branchCode;
372
- const phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
373
- const phoneNumber = phoneUtil.parse(order.customer.telephone, 'JP');
374
- let telNum = phoneUtil.format(phoneNumber, google_libphonenumber_1.PhoneNumberFormat.NATIONAL);
375
- // COAでは数字のみ受け付けるので数字以外を除去
376
- telNum = telNum.replace(/[^\d]/g, '');
377
- returnReserveTransactionAction = {
378
- project: order.project,
379
- typeOf: factory.actionType.ReturnAction,
380
- object: {
381
- theaterCode: superEventLocationBranchCode,
382
- reserveNum: reservationNumber,
383
- telNum: telNum,
384
- typeOf: 'COAReserveTransaction'
385
- },
386
- agent: order.project,
387
- // potentialActions: {},
388
- purpose: simpleOrder,
389
- instrument: { typeOf: 'WebAPI', identifier: factory.service.webAPI.Identifier.COA },
390
- recipient: returnActionRecipient
391
- };
392
- break;
393
- default:
394
- returnReserveTransactionAction = {
395
- project: order.project,
396
- typeOf: factory.actionType.ReturnAction,
397
- object: {
398
- typeOf: factory.assetTransactionType.Reserve,
399
- transactionNumber: reservationNumber
400
- },
401
- agent: order.project,
402
- // potentialActions: {},
403
- purpose: simpleOrder,
404
- instrument: { typeOf: 'WebAPI', identifier: factory.service.webAPI.Identifier.Chevre },
405
- recipient: returnActionRecipient
406
- };
407
- }
408
- tasks.push({
409
- project: order.project,
410
- name: factory.taskName.ReturnReserveTransaction,
411
- status: factory.taskStatus.Ready,
412
- runsAt: (returnReserveTransactionAction.object.typeOf === 'COAReserveTransaction')
413
- ? taskRunsAt4coa
414
- : taskRunsAt,
415
- remainingNumberOfTries: 10,
416
- numberOfTried: 0,
417
- executionResults: [],
418
- data: returnReserveTransactionAction
419
- });
420
- reservationNumbers.push(reservationNumber);
421
- }
422
- }
423
- }
424
- return tasks;
425
- }
426
- // const RETURN_PAY_TASK_DELAY_IN_SECONDS = 0;
427
- function createReturnPayTransactionTasks(order, __, returnOrderTransaction) {
428
- var _a, _b;
429
- const taskRunsAt = new Date();
430
- // const taskRunsAt = moment(order.dateReturned)
431
- // .add(RETURN_PAY_TASK_DELAY_IN_SECONDS, 'seconds')
432
- // .toDate();
433
- const tasks = [];
434
- const returnOrderPotentialActions = (_b = (_a = returnOrderTransaction === null || returnOrderTransaction === void 0 ? void 0 : returnOrderTransaction.potentialActions) === null || _a === void 0 ? void 0 : _a.returnOrder.find((action) => action.object.orderNumber === order.orderNumber)) === null || _b === void 0 ? void 0 : _b.potentialActions;
435
- const returnPayActionsByReturnOrderTransaction = returnOrderPotentialActions === null || returnOrderPotentialActions === void 0 ? void 0 : returnOrderPotentialActions.returnPaymentMethod;
436
- if (Array.isArray(returnPayActionsByReturnOrderTransaction)) {
437
- tasks.push(...returnPayActionsByReturnOrderTransaction.map((a) => {
438
- return {
439
- project: a.project,
440
- name: factory.taskName.ReturnPayTransaction,
441
- status: factory.taskStatus.Ready,
442
- runsAt: taskRunsAt,
443
- remainingNumberOfTries: 10,
444
- numberOfTried: 0,
445
- executionResults: [],
446
- data: a
447
- };
448
- }));
449
- }
450
- return tasks;
451
- }
7
+ const onOrderCancelled_1 = require("./onOrderStatusChanged/onOrderCancelled");
8
+ Object.defineProperty(exports, "onOrderCancelled", { enumerable: true, get: function () { return onOrderCancelled_1.onOrderCancelled; } });
9
+ const onOrderDelivered_1 = require("./onOrderStatusChanged/onOrderDelivered");
10
+ Object.defineProperty(exports, "onOrderDelivered", { enumerable: true, get: function () { return onOrderDelivered_1.onOrderDelivered; } });
11
+ const onOrderPaymentDue_1 = require("./onOrderStatusChanged/onOrderPaymentDue");
12
+ Object.defineProperty(exports, "onOrderPaymentDue", { enumerable: true, get: function () { return onOrderPaymentDue_1.onOrderPaymentDue; } });
13
+ const onOrderProcessing_1 = require("./onOrderStatusChanged/onOrderProcessing");
14
+ Object.defineProperty(exports, "onOrderProcessing", { enumerable: true, get: function () { return onOrderProcessing_1.onOrderProcessing; } });
15
+ const onOrderReturned_1 = require("./onOrderStatusChanged/onOrderReturned");
16
+ Object.defineProperty(exports, "onOrderReturned", { enumerable: true, get: function () { return onOrderReturned_1.onOrderReturned; } });
@@ -0,0 +1,6 @@
1
+ import * as factory from '../../../factory';
2
+ export type IUpdatedOrder4inform = Pick<factory.order.IOrder, 'typeOf' | 'orderNumber' | 'name' | 'additionalProperty' | 'project'> & {
3
+ updatedAt: Date;
4
+ };
5
+ declare function createInformTasks(order: IUpdatedOrder4inform): factory.task.IAttributes<factory.taskName.TriggerWebhook>[];
6
+ export { createInformTasks };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createInformTasks = void 0;
5
+ const factory = require("../../../factory");
6
+ const settings_1 = require("../../../settings");
7
+ const informOrder = (_a = settings_1.settings.onOrderStatusChanged) === null || _a === void 0 ? void 0 : _a.informOrder;
8
+ function createInformTasks(order) {
9
+ const taskRunsAt = new Date();
10
+ let informTasks = [];
11
+ if (Array.isArray(informOrder) && informOrder.length > 0) {
12
+ const order4inform = creteOrder4inform(order);
13
+ const recipientId = '';
14
+ informTasks = informOrder.map((informOrderParams) => {
15
+ var _a, _b;
16
+ const informActionAttributes = {
17
+ agent: order.project,
18
+ object: order4inform,
19
+ project: order.project,
20
+ recipient: {
21
+ url: (_a = informOrderParams.recipient) === null || _a === void 0 ? void 0 : _a.url,
22
+ id: recipientId,
23
+ name: (_b = informOrderParams.recipient) === null || _b === void 0 ? void 0 : _b.name,
24
+ typeOf: factory.creativeWorkType.WebApplication
25
+ },
26
+ typeOf: factory.actionType.InformAction
27
+ };
28
+ return {
29
+ project: order.project,
30
+ name: factory.taskName.TriggerWebhook,
31
+ status: factory.taskStatus.Ready,
32
+ runsAt: taskRunsAt,
33
+ remainingNumberOfTries: 10,
34
+ numberOfTried: 0,
35
+ executionResults: [],
36
+ data: informActionAttributes
37
+ };
38
+ });
39
+ }
40
+ return informTasks;
41
+ }
42
+ exports.createInformTasks = createInformTasks;
43
+ function creteOrder4inform(order) {
44
+ return order;
45
+ }
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.onOrderUpdated = void 0;
13
13
  const factory = require("../../factory");
14
- const factory_1 = require("./onOrderStatusChanged/factory");
14
+ const factory_1 = require("./onOrderUpdated/factory");
15
15
  function onOrderUpdated(params) {
16
16
  return (repos) => __awaiter(this, void 0, void 0, function* () {
17
17
  let tasks = [];
@@ -1,4 +1,4 @@
1
- import type { RedisRepository as RegisterServiceInProgressRepo } from '../../repo/action/registerServiceInProgress';
1
+ import type { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
2
  import type { MongoRepository as OrderRepo } from '../../repo/order';
3
3
  import type { MongoRepository as TaskRepo } from '../../repo/task';
4
4
  import type { MongoRepository as TransactionRepo } from '../../repo/transaction';
@@ -7,8 +7,8 @@ import * as factory from '../../factory';
7
7
  * 注文を決済する
8
8
  */
9
9
  declare function payOrder(params: factory.task.IData<factory.taskName.OnOrderPaymentCompleted>): (repos: {
10
+ acceptedOffer: AcceptedOfferRepo;
10
11
  order: OrderRepo;
11
- registerActionInProgress: RegisterServiceInProgressRepo;
12
12
  task: TaskRepo;
13
13
  transaction: TransactionRepo;
14
14
  }) => Promise<void>;
@@ -1,6 +1,6 @@
1
+ import type { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
1
2
  import type { MongoRepository as AccountingReportRepo } from '../../repo/accountingReport';
2
3
  import type { MongoRepository as ActionRepo } from '../../repo/action';
3
- import type { RedisRepository as RegisterServiceInProgressRepo } from '../../repo/action/registerServiceInProgress';
4
4
  import type { MongoRepository as OrderRepo } from '../../repo/order';
5
5
  import type { MongoRepository as TaskRepo } from '../../repo/task';
6
6
  import type { MongoRepository as TransactionRepo } from '../../repo/transaction';
@@ -19,7 +19,6 @@ declare function placeOrderWithoutTransaction(params: {
19
19
  accountingReport: AccountingReportRepo;
20
20
  action: ActionRepo;
21
21
  order: OrderRepo;
22
- registerActionInProgress: RegisterServiceInProgressRepo;
23
22
  task: TaskRepo;
24
23
  }) => Promise<void>;
25
24
  /**
@@ -36,10 +35,10 @@ declare function placeOrder(params: {
36
35
  };
37
36
  useOnOrderStatusChanged: boolean;
38
37
  }): (repos: {
38
+ acceptedOffer: AcceptedOfferRepo;
39
39
  accountingReport: AccountingReportRepo;
40
40
  action: ActionRepo;
41
41
  order: OrderRepo;
42
- registerActionInProgress: RegisterServiceInProgressRepo;
43
42
  task: TaskRepo;
44
43
  transaction: TransactionRepo;
45
44
  }) => Promise<{