@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.
Files changed (230) hide show
  1. package/example/src/chevre/findTransactionById.ts +21 -0
  2. package/example/src/chevre/importCategoryCodesFromCOA.ts +2 -1
  3. package/example/src/chevre/importOffersFromCOA.ts +2 -1
  4. package/example/src/chevre/migrateActionInstrumentTransactionNumber.ts +93 -0
  5. package/example/src/chevre/migrateDeleteTransactionTasks.ts +119 -0
  6. package/example/src/chevre/migrateEventMakesOfferAvailableAtOrFrom.ts +87 -0
  7. package/example/src/chevre/migrateIAMMemberPOSRoles.ts +3 -2
  8. package/example/src/chevre/migrateOfferAvailableAtOrFrom.ts +63 -0
  9. package/example/src/chevre/{migrateOrderPaymentMethodIdentifier.ts → migrateOrderAcceptedOfferSerialNumber.ts} +18 -19
  10. package/example/src/chevre/onAssetTransactionStatusChanged.ts +36 -0
  11. package/example/src/chevre/retryTasks.ts +39 -0
  12. package/example/src/chevre/searchActions.ts +13 -7
  13. package/example/src/chevre/searchOrderAcceptedOffers.ts +13 -3
  14. package/example/src/chevre/searchOrders.ts +13 -15
  15. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +28 -0
  16. package/example/src/chevre/sendOrder.ts +37 -0
  17. package/example/src/chevre/transaction/processPlaceOrder.ts +2 -3
  18. package/example/src/verifyToken.ts +44 -0
  19. package/lib/chevre/credentials.d.ts +2 -0
  20. package/lib/chevre/credentials.js +4 -2
  21. package/lib/chevre/errorHandler.js +3 -0
  22. package/lib/chevre/factory/order.d.ts +1 -0
  23. package/lib/chevre/factory/order.js +2 -1
  24. package/lib/chevre/factory/reservedAgentIdentifireNames.js +2 -1
  25. package/lib/chevre/factory/transaction.d.ts +10 -1
  26. package/lib/chevre/repo/acceptedOffer.d.ts +58 -2
  27. package/lib/chevre/repo/acceptedOffer.js +100 -4
  28. package/lib/chevre/repo/accountingReport.d.ts +33 -7
  29. package/lib/chevre/repo/accountingReport.js +157 -5
  30. package/lib/chevre/repo/action.d.ts +32 -8
  31. package/lib/chevre/repo/action.js +114 -54
  32. package/lib/chevre/repo/event.d.ts +20 -0
  33. package/lib/chevre/repo/event.js +22 -0
  34. package/lib/chevre/repo/member.d.ts +8 -1
  35. package/lib/chevre/repo/member.js +7 -1
  36. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +2 -1
  37. package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
  38. package/lib/chevre/repo/mongoose/schemas/action.js +25 -11
  39. package/lib/chevre/repo/mongoose/schemas/order.d.ts +1 -1
  40. package/lib/chevre/repo/mongoose/schemas/order.js +38 -11
  41. package/lib/chevre/repo/offer.d.ts +42 -0
  42. package/lib/chevre/repo/offer.js +35 -0
  43. package/lib/chevre/repo/order.js +43 -20
  44. package/lib/chevre/repo/orderInTransaction.d.ts +44 -0
  45. package/lib/chevre/repo/orderInTransaction.js +164 -0
  46. package/lib/chevre/repo/paymentServiceProvider.js +2 -1
  47. package/lib/chevre/repo/person.js +1 -4
  48. package/lib/chevre/repo/task.d.ts +26 -3
  49. package/lib/chevre/repo/task.js +61 -46
  50. package/lib/chevre/repo/transaction.d.ts +2 -2
  51. package/lib/chevre/repo/transaction.js +13 -36
  52. package/lib/chevre/repository.d.ts +5 -0
  53. package/lib/chevre/repository.js +15 -2
  54. package/lib/chevre/service/aggregation/event/importFromCOA.js +5 -5
  55. package/lib/chevre/service/assetTransaction/pay/factory.js +1 -6
  56. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.d.ts +9 -0
  57. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.js +143 -0
  58. package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +11 -3
  59. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +4 -165
  60. package/lib/chevre/service/assetTransaction/pay.d.ts +21 -6
  61. package/lib/chevre/service/assetTransaction/pay.js +64 -23
  62. package/lib/chevre/service/assetTransaction/reserve/factory.js +11 -14
  63. package/lib/chevre/service/assetTransaction/reserveCOA.d.ts +19 -0
  64. package/lib/chevre/service/assetTransaction/reserveCOA.js +46 -0
  65. package/lib/chevre/service/code.js +1 -1
  66. package/lib/chevre/service/delivery.js +2 -2
  67. package/lib/chevre/service/event/createEvent.js +1 -1
  68. package/lib/chevre/service/event.js +16 -24
  69. package/lib/chevre/service/moneyTransfer.js +1 -1
  70. package/lib/chevre/service/notification.js +71 -66
  71. package/lib/chevre/service/offer/any.d.ts +35 -0
  72. package/lib/chevre/service/offer/any.js +67 -0
  73. package/lib/chevre/service/offer/event/authorize.d.ts +7 -0
  74. package/lib/chevre/service/offer/event/authorize.js +27 -17
  75. package/lib/chevre/service/offer/event/cancel.d.ts +2 -0
  76. package/lib/chevre/service/offer/event/cancel.js +13 -1
  77. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  78. package/lib/chevre/service/offer/event/factory.js +11 -22
  79. package/lib/chevre/service/offer/event/importFromCOA.js +6 -8
  80. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  81. package/lib/chevre/service/offer/event/voidTransaction.js +24 -7
  82. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +54 -0
  83. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +138 -0
  84. package/lib/chevre/service/offer/eventServiceByCOA/cancel.d.ts +39 -0
  85. package/lib/chevre/service/offer/eventServiceByCOA/cancel.js +59 -0
  86. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +25 -0
  87. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +165 -0
  88. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +10 -23
  89. package/lib/chevre/service/offer/eventServiceByCOA.d.ts +4 -89
  90. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -292
  91. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +10 -1
  92. package/lib/chevre/service/offer/moneyTransfer/authorize.js +49 -3
  93. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +1 -1
  94. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.d.ts +2 -0
  95. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +47 -2
  96. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +1 -1
  97. package/lib/chevre/service/offer/product/factory.js +2 -5
  98. package/lib/chevre/service/offer/product.d.ts +2 -0
  99. package/lib/chevre/service/offer/product.js +11 -23
  100. package/lib/chevre/service/order/confirmPayTransaction.d.ts +3 -1
  101. package/lib/chevre/service/order/confirmPayTransaction.js +5 -5
  102. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +1 -1
  103. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +12 -1
  104. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +206 -7
  105. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  106. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +1 -1
  107. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +51 -53
  108. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +1 -1
  109. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +10 -25
  110. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +16 -0
  111. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +91 -0
  112. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +8 -0
  113. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +37 -0
  114. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +12 -0
  115. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +115 -0
  116. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +19 -1
  117. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +8 -0
  118. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +41 -0
  119. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +6 -10
  120. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +116 -92
  121. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +4 -1
  122. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +81 -84
  123. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  124. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +18 -15
  125. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +62 -1
  126. package/lib/chevre/service/order/onOrderStatusChanged.d.ts +3 -1
  127. package/lib/chevre/service/order/onOrderStatusChanged.js +5 -1
  128. package/lib/chevre/service/order/placeOrder.d.ts +3 -1
  129. package/lib/chevre/service/order/placeOrder.js +157 -50
  130. package/lib/chevre/service/order/returnOrder.js +25 -16
  131. package/lib/chevre/service/order/sendOrder.d.ts +5 -0
  132. package/lib/chevre/service/order/sendOrder.js +67 -33
  133. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  134. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.d.ts +3 -1
  135. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +15 -9
  136. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.d.ts +3 -1
  137. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +8 -5
  138. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +2 -2
  139. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  140. package/lib/chevre/service/payment/any.d.ts +6 -5
  141. package/lib/chevre/service/payment/any.js +3 -2
  142. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  143. package/lib/chevre/service/payment/creditCard.js +62 -68
  144. package/lib/chevre/service/payment/faceToFace.d.ts +1 -5
  145. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +0 -2
  146. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.js +1 -0
  147. package/lib/chevre/service/payment/movieTicket/validation.d.ts +0 -2
  148. package/lib/chevre/service/payment/movieTicket.d.ts +1 -7
  149. package/lib/chevre/service/payment/movieTicket.js +1 -1
  150. package/lib/chevre/service/payment/paymentCard.d.ts +1 -3
  151. package/lib/chevre/service/payment/paymentCard.js +6 -6
  152. package/lib/chevre/service/payment.d.ts +5 -0
  153. package/lib/chevre/service/payment.js +40 -5
  154. package/lib/chevre/service/product.js +1 -1
  155. package/lib/chevre/service/reserve/cancelReservation.js +2 -2
  156. package/lib/chevre/service/reserve/checkInReservation.d.ts +1 -3
  157. package/lib/chevre/service/reserve/checkInReservation.js +6 -5
  158. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  159. package/lib/chevre/service/reserve/factory.js +0 -8
  160. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +1 -1
  161. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +4 -4
  162. package/lib/chevre/service/reserve/searchByOrder.js +2 -1
  163. package/lib/chevre/service/reserve/useReservation.d.ts +1 -3
  164. package/lib/chevre/service/reserve/useReservation.js +10 -9
  165. package/lib/chevre/service/reserve/verifyToken4reservation.js +2 -0
  166. package/lib/chevre/service/task/confirmMoneyTransfer.js +4 -4
  167. package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
  168. package/lib/chevre/service/task/confirmRegisterServiceTransaction.d.ts +1 -1
  169. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +30 -8
  170. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -1
  171. package/lib/chevre/service/task/confirmReserveTransaction.js +176 -29
  172. package/lib/chevre/service/task/createAccountingReport.d.ts +6 -0
  173. package/lib/chevre/service/task/createAccountingReport.js +80 -0
  174. package/lib/chevre/service/task/importOffersFromCOA.js +2 -1
  175. package/lib/chevre/service/task/onAuthorizationCreated.js +0 -1
  176. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -7
  177. package/lib/chevre/service/task/pay.js +6 -0
  178. package/lib/chevre/service/task/placeOrder.js +9 -10
  179. package/lib/chevre/service/task/returnOrder.js +0 -3
  180. package/lib/chevre/service/task/returnPayTransaction.js +1 -1
  181. package/lib/chevre/service/task/returnReserveTransaction.js +3 -2
  182. package/lib/chevre/service/task/sendOrder.js +8 -4
  183. package/lib/chevre/service/task/useReservation.js +1 -1
  184. package/lib/chevre/service/task/voidReserveTransaction.js +8 -12
  185. package/lib/chevre/service/transaction/deleteTransaction.js +1 -1
  186. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +2 -18
  187. package/lib/chevre/service/transaction/moneyTransfer.js +7 -6
  188. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +2 -2
  189. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +17 -20
  190. package/lib/chevre/service/transaction/placeOrder.js +2 -1
  191. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.d.ts +51 -0
  192. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.js +268 -0
  193. package/lib/chevre/service/transaction/placeOrderInProgress/factory.d.ts +1 -1
  194. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +3 -2
  195. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  196. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +22 -44
  197. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.d.ts +14 -0
  198. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.js +41 -0
  199. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.d.ts +18 -0
  200. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.js +42 -0
  201. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.d.ts +23 -0
  202. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.js +46 -0
  203. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +34 -37
  204. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +3 -1
  205. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +13 -4
  206. package/lib/chevre/service/transaction/placeOrderInProgress/start.d.ts +19 -0
  207. package/lib/chevre/service/transaction/placeOrderInProgress/start.js +46 -0
  208. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.d.ts +26 -0
  209. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.js +109 -0
  210. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +10 -23
  211. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +20 -1
  212. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +11 -73
  213. package/lib/chevre/service/transaction/placeOrderInProgress.js +13 -286
  214. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +1 -2
  215. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +0 -1
  216. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +8 -3
  217. package/lib/chevre/service/transaction/returnOrder/preStart.js +78 -50
  218. package/lib/chevre/service/transaction/returnOrder.js +3 -10
  219. package/lib/chevre/service.js +0 -10
  220. package/lib/chevre/settings.d.ts +7 -3
  221. package/lib/chevre/settings.js +13 -4
  222. package/package.json +5 -9
  223. package/example/src/chevre/cleanAccountingReports.ts +0 -57
  224. package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +0 -78
  225. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +0 -11
  226. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +0 -30
  227. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +0 -7
  228. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +0 -82
  229. package/lib/chevre/service/util.d.ts +0 -19
  230. 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.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = void 0;
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: order.acceptedOffers, orderStatus: order.orderStatus, orderDate: order.orderDate,
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
- // 予約後を隠蔽(2022-12-24~)
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
- const chevreReservationNumbers = params.order.acceptedOffers.filter((o) => {
72
- var _a;
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
- // COA予約のみ
99
- const coaReservationOffers = params.order.acceptedOffers.filter((o) => {
100
- var _a;
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
- theaterCode: reservationForCOAInfo.theaterCode,
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
- acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
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
- // 冗長なconfirmReserveTransactionタスク作成を回避(2023-08-25~)
55
- yield createConfirmReserveTransactionTasksIfNotExist(params.order, simpleOrder)(repos);
56
- // 冗長なsendOrderタスク作成を回避(2023-08-25~)
57
- yield createSendOrderTransactionTaskIfNotExist({
58
- object: params.order,
59
- potentialActions: (_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
60
- })(repos);
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: (_f = (_e = (_d = params.placeOrderTransaction) === null || _d === void 0 ? void 0 : _d.potentialActions) === null || _e === void 0 ? void 0 : _e.order) === null || _f === void 0 ? void 0 : _f.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
- // const taskRunsAt4coa = moment(order.orderDate)
76
- // .add(COA_TASK_DELAY_IN_SECONDS, 'seconds')
77
- // .toDate();
78
- const confirmObjects = [
79
- ...(0, factory_1.createConfirmReservationActionObject4ChevreByOrder)({ order }),
80
- ...(0, factory_1.createConfirmReservationActionObject4COAByOrder)({ order })
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.createConfirmReserveTransactionTaskIfNotExist(confirmReserveTransactionTask, { emitImmediately: true });
117
+ yield repos.task.createIfNotExistByIdentifier(confirmReserveTransactionTask, { emitImmediately: true });
107
118
  })));
108
119
  });
109
120
  }
110
- function createConfirmRegisterServiceTransactionTasks(order, simpleOrder) {
121
+ function createConfirmMoneyTransferTasksIfNotExist(order, simpleOrder) {
111
122
  return (repos) => __awaiter(this, void 0, void 0, function* () {
112
123
  const taskRunsAt = new Date();
113
- if (USE_CONFIRM_REGISTER_SERVICE_TRANSACTION) {
114
- const confirmObjects = (0, factory_1.createConfirmRegisterServiceActionObjectByOrder)({ order });
115
- const tasks = [];
116
- yield Promise.all(confirmObjects.map((confirmObject) => __awaiter(this, void 0, void 0, function* () {
117
- // 冗長なタスク作成を回避
118
- const existingTasks = yield repos.task.search({
119
- limit: 1,
120
- page: 1,
121
- project: { id: { $eq: order.project.id } },
122
- name: factory.taskName.ConfirmReserveTransaction,
123
- data: {
124
- object: { transactionNumber: { $eq: confirmObject.transactionNumber } },
125
- purpose: { orderNumber: { $eq: order.orderNumber } }
126
- }
127
- }, {
128
- data: 0, executionResults: 0, name: 0, numberOfTried: 0,
129
- remainingNumberOfTries: 0, runsAt: 0, status: 0
130
- });
131
- if (existingTasks.length === 0) {
132
- const data = {
133
- project: order.project,
134
- typeOf: factory.actionType.ConfirmAction,
135
- object: confirmObject,
136
- agent: order.project,
137
- purpose: simpleOrder,
138
- instrument: {
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 createSendOrderTransactionTaskIfNotExist(params) {
152
+ function createConfirmRegisterServiceTasksIfNotExist(order, simpleOrder) {
163
153
  return (repos) => __awaiter(this, void 0, void 0, function* () {
164
- var _a;
165
- const now = new Date();
166
- const sendOrderByTransaction = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.sendOrder;
167
- if (sendOrderByTransaction !== undefined) {
168
- const sendOrderTaskData = {
169
- project: sendOrderByTransaction.project,
170
- object: Object.assign(Object.assign({}, sendOrderByTransaction.object), { confirmationNumber: params.object.confirmationNumber })
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 sendOrderTask = {
173
- project: sendOrderByTransaction.project,
174
- name: factory.taskName.SendOrder,
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: now,
173
+ runsAt: taskRunsAt,
177
174
  remainingNumberOfTries: 10,
178
175
  numberOfTried: 0,
179
176
  executionResults: [],
180
- data: sendOrderTaskData
177
+ data
181
178
  };
182
- yield repos.task.createSendOrderTaskIfNotExist(sendOrderTask, { emitImmediately: true });
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/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/syncScreeningRooms").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)[];
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 === null || potentialActions === void 0 ? void 0 : potentialActions.returnMoneyTransfer;
60
- if (Array.isArray(returnMoneyTransferAttributes)) {
61
- taskAttributes.push(...returnMoneyTransferAttributes.map((a) => {
62
- return {
63
- project: a.project,
64
- name: factory.taskName.ReturnMoneyTransfer,
65
- status: factory.taskStatus.Ready,
66
- runsAt: now,
67
- remainingNumberOfTries: 10,
68
- numberOfTried: 0,
69
- executionResults: [],
70
- data: a
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();