@chevre/domain 21.20.0-alpha.56 → 21.20.0-alpha.57

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.
@@ -4,6 +4,7 @@ import type { MongoRepository as ActionRepo } from '../../repo/action';
4
4
  import type { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
5
5
  import type { MongoRepository as OfferRepo } from '../../repo/offer';
6
6
  import type { MongoRepository as OfferCatalogRepo } from '../../repo/offerCatalog';
7
+ import type { MongoRepository as OrderInTransactionRepo } from '../../repo/orderInTransaction';
7
8
  import type { RedisRepository as OrderNumberRepo } from '../../repo/orderNumber';
8
9
  import type { MongoRepository as OwnershipInfoRepo } from '../../repo/ownershipInfo';
9
10
  import type { MongoRepository as ProductRepo } from '../../repo/product';
@@ -19,6 +20,7 @@ export interface IAuthorizeOperationRepos {
19
20
  assetTransaction: AssetTransactionRepo;
20
21
  offer: OfferRepo;
21
22
  offerCatalog: OfferCatalogRepo;
23
+ orderInTransaction: OrderInTransactionRepo;
22
24
  orderNumber: OrderNumberRepo;
23
25
  ownershipInfo: OwnershipInfoRepo;
24
26
  product: ProductRepo;
@@ -16,6 +16,7 @@ const accountTransactionIdentifier_1 = require("../../factory/accountTransaction
16
16
  const availableProductTypes_1 = require("../../factory/availableProductTypes");
17
17
  const RegisterServiceTransaction = require("../assetTransaction/registerService");
18
18
  const placeOrderInProgress_1 = require("../transaction/placeOrderInProgress");
19
+ const any_1 = require("./any");
19
20
  const factory_1 = require("./product/factory");
20
21
  const searchProductOffers_1 = require("./product/searchProductOffers");
21
22
  exports.ERROR_MESSAGE_ALREADY_REGISTERED = 'Already registered';
@@ -121,6 +122,7 @@ function authorize(params) {
121
122
  acceptedOffer = yield createServiceOutputIdentifier({ acceptedOffer, product })(repos);
122
123
  let requestBody;
123
124
  let responseBody;
125
+ let result;
124
126
  // まず取引番号発行
125
127
  const { transactionNumber } = yield repos.transactionNumber.publishByTimestamp({
126
128
  startDate: new Date()
@@ -134,14 +136,8 @@ function authorize(params) {
134
136
  const action = yield repos.action.start(actionAttributes);
135
137
  try {
136
138
  // 会員の場合のみ排他ロック
137
- if (params.agent.typeOf === factory.personType.Person) {
138
- // 廃止(2023-12-07~)
139
- // await processLockRegisterMembershipService({
140
- // agent: params.agent,
141
- // product: product,
142
- // purpose: { typeOf: transaction.typeOf, id: transaction.id }
143
- // })(repos);
144
- }
139
+ // if (params.agent.typeOf === factory.personType.Person) {
140
+ // }
145
141
  // サービス登録開始
146
142
  const startParams = (0, factory_1.createRegisterServiceStartParams)({
147
143
  project: { typeOf: factory.organizationType.Project, id: params.project.id },
@@ -151,7 +147,12 @@ function authorize(params) {
151
147
  });
152
148
  requestBody = startParams;
153
149
  responseBody = yield RegisterServiceTransaction.start(startParams)(repos);
154
- // responseBody = await repos.registerServiceTransaction.start(startParams);
150
+ result = (0, factory_1.createResult)({ project: action.project, requestBody, responseBody, acceptedOffer });
151
+ yield (0, any_1.acceptOffer)({
152
+ project: transaction.project,
153
+ purpose: { id: transaction.id },
154
+ acceptedOffers: result.acceptedOffers
155
+ })(repos);
155
156
  }
156
157
  catch (error) {
157
158
  try {
@@ -160,21 +161,8 @@ function authorize(params) {
160
161
  catch (__) {
161
162
  // no op
162
163
  }
163
- try {
164
- // 廃止(2023-12-07~)
165
- // await processUnlockRegisterMembershipService({
166
- // agent: params.agent,
167
- // product: { id: String(product.id) },
168
- // purpose: { typeOf: transaction.typeOf, id: transaction.id }
169
- // })(repos);
170
- }
171
- catch (error) {
172
- // 失敗したら仕方ない
173
- }
174
164
  throw error;
175
165
  }
176
- // アクションを完了
177
- const result = (0, factory_1.createResult)({ project: action.project, requestBody, responseBody, acceptedOffer });
178
166
  return yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
179
167
  });
180
168
  }
@@ -100,6 +100,23 @@ function onAssetTransactionStatusChanged(params) {
100
100
  }
101
101
  }
102
102
  break;
103
+ case factory.assetTransactionType.RegisterService:
104
+ if (typeof orderNumber === 'string' && typeof confirmationNumber === 'string') {
105
+ const deliverable = yield isDeliverable({
106
+ project: { id: params.project.id },
107
+ orderNumber,
108
+ assetTransactionType: params.object.typeOf
109
+ })(repos);
110
+ if (deliverable) {
111
+ yield processing2inTransit({
112
+ project: { id: params.project.id },
113
+ // confirmationNumber,
114
+ orderNumber,
115
+ useOnOrderStatusChanged: params.useOnOrderStatusChanged
116
+ })(repos);
117
+ }
118
+ }
119
+ break;
103
120
  default:
104
121
  // no op
105
122
  }
@@ -235,7 +252,8 @@ function paymentDue2Processing(params) {
235
252
  yield (0, onOrderStatusChanged_1.onOrderProcessing)({
236
253
  order: Object.assign(Object.assign({}, order), { acceptedOffers,
237
254
  numAcceptedOffers,
238
- moneyTransferTransactionNumbers, orderStatus: factory.orderStatus.OrderProcessing // 強制的にOrderProcessingとして処理する
255
+ moneyTransferTransactionNumbers, itemOfferedTypeOf: itemOfferedTypeOfs[0], // 1つしかない前提
256
+ serialNumbers, orderStatus: factory.orderStatus.OrderProcessing // 強制的にOrderProcessingとして処理する
239
257
  }),
240
258
  placeOrderTransaction
241
259
  })({
@@ -297,8 +315,10 @@ function isDeliverable(params) {
297
315
  return (repos) => __awaiter(this, void 0, void 0, function* () {
298
316
  let allReserveTransactionConfirmed = false;
299
317
  let allMoneyTransferTransactionConfirmed = false;
318
+ let allRegisterServiceTransactionConfirmed = false;
300
319
  if (params.assetTransactionType === factory.assetTransactionType.Reserve) {
301
320
  allMoneyTransferTransactionConfirmed = true;
321
+ allRegisterServiceTransactionConfirmed = true;
302
322
  // 注文のreservationNumberを取得
303
323
  const reservationNumbers = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.itemOffered.reservationNumber');
304
324
  if (reservationNumbers.length > 0) {
@@ -317,8 +337,9 @@ function isDeliverable(params) {
317
337
  }
318
338
  else if (params.assetTransactionType === factory.assetTransactionType.MoneyTransfer) {
319
339
  allReserveTransactionConfirmed = true;
340
+ allRegisterServiceTransactionConfirmed = true;
320
341
  // 注文のMoneyTransferTransaction.transactionNumberを取得
321
- const moneyTransferTransactionNumbers = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.itemOffered.object.pendingTransaction.transactionNumber');
342
+ const moneyTransferTransactionNumbers = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.serialNumber');
322
343
  if (moneyTransferTransactionNumbers.length > 0) {
323
344
  debug('is deliverable?...', params.orderNumber, 'moneyTransferTransactionNumbers:', moneyTransferTransactionNumbers);
324
345
  const referencedMoneyTransferTransactions = yield repos.assetTransaction.search({
@@ -334,7 +355,25 @@ function isDeliverable(params) {
334
355
  allMoneyTransferTransactionConfirmed = true;
335
356
  }
336
357
  }
337
- return allReserveTransactionConfirmed && allMoneyTransferTransactionConfirmed;
358
+ else if (params.assetTransactionType === factory.assetTransactionType.RegisterService) {
359
+ allReserveTransactionConfirmed = true;
360
+ allMoneyTransferTransactionConfirmed = true;
361
+ const registerServiceTransactionNumbers = yield repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.serialNumber');
362
+ if (registerServiceTransactionNumbers.length > 0) {
363
+ const referencedRegisterServiceTransactions = yield repos.assetTransaction.search({
364
+ project: { id: { $eq: params.project.id } },
365
+ typeOf: factory.assetTransactionType.RegisterService,
366
+ transactionNumber: { $in: registerServiceTransactionNumbers }
367
+ }, ['status']);
368
+ allRegisterServiceTransactionConfirmed =
369
+ referencedRegisterServiceTransactions.length === registerServiceTransactionNumbers.length
370
+ && referencedRegisterServiceTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
371
+ }
372
+ else {
373
+ allRegisterServiceTransactionConfirmed = true;
374
+ }
375
+ }
376
+ return allReserveTransactionConfirmed && allMoneyTransferTransactionConfirmed && allRegisterServiceTransactionConfirmed;
338
377
  });
339
378
  }
340
379
  function processing2inTransit(params) {
@@ -50,28 +50,26 @@ function creteOrder4inform(order) {
50
50
  */
51
51
  function createOnOrderSentTasksByTransaction(params) {
52
52
  const potentialActions = params.potentialActions;
53
- const now = new Date();
53
+ // const now = new Date();
54
54
  const taskAttributes = [];
55
- // tslint:disable-next-line:no-single-line-block-comment
56
- /* istanbul ignore else */
57
55
  if (potentialActions !== undefined) {
58
- if (Array.isArray(potentialActions.registerService)) {
59
- taskAttributes.push(...potentialActions.registerService.map((a) => {
60
- return {
61
- project: a.project,
62
- name: factory.taskName.ConfirmRegisterService,
63
- status: factory.taskStatus.Ready,
64
- runsAt: now,
65
- remainingNumberOfTries: 10,
66
- numberOfTried: 0,
67
- executionResults: [],
68
- data: a
69
- };
70
- }));
71
- }
56
+ // サービス登録廃止(2024-01-30~)
57
+ // if (Array.isArray(potentialActions.registerService)) {
58
+ // taskAttributes.push(...potentialActions.registerService.map(
59
+ // (a): factory.task.IAttributes<factory.taskName.ConfirmRegisterService> => {
60
+ // return {
61
+ // project: a.project,
62
+ // name: factory.taskName.ConfirmRegisterService,
63
+ // status: factory.taskStatus.Ready,
64
+ // runsAt: now, // なるはやで実行
65
+ // remainingNumberOfTries: 10,
66
+ // numberOfTried: 0,
67
+ // executionResults: [],
68
+ // data: a
69
+ // };
70
+ // }));
71
+ // }
72
72
  // 通貨転送廃止(2024-01-29~)
73
- // tslint:disable-next-line:no-single-line-block-comment
74
- /* istanbul ignore else */
75
73
  // if (Array.isArray(potentialActions.moneyTransfer)) {
76
74
  // taskAttributes.push(...potentialActions.moneyTransfer.map(
77
75
  // (a): factory.task.IAttributes<factory.taskName.ConfirmMoneyTransfer> => {
@@ -15,10 +15,5 @@ declare function createConfirmReservationActionObject4COAByOrder(params: {
15
15
  acceptedOffers: IAcceptedOffer[];
16
16
  };
17
17
  }): factory.task.confirmReserveTransaction.IObject4COAOptimized[];
18
- declare function createConfirmRegisterServiceActionObjectByOrder(params: {
19
- order: factory.order.IOrder & {
20
- acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
21
- };
22
- }): factory.action.interact.confirm.registerService.IObject[];
23
18
  type IExternalOrder = Pick<factory.order.IOrder, 'project' | 'typeOf' | 'seller' | 'customer' | 'confirmationNumber' | 'orderNumber' | 'price' | 'priceCurrency' | 'orderDate' | 'name' | 'orderStatus' | 'orderedItem' | 'paymentMethods'>;
24
- export { IAcceptedOffer, IExternalOrder, createInformTasks, createConfirmReservationActionObject4ChevreByOrder, createConfirmReservationActionObject4COAByOrder, createConfirmRegisterServiceActionObjectByOrder };
19
+ export { IAcceptedOffer, IExternalOrder, createInformTasks, createConfirmReservationActionObject4ChevreByOrder, createConfirmReservationActionObject4COAByOrder };
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createConfirmRegisterServiceActionObjectByOrder = exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = void 0;
4
+ exports.createConfirmReservationActionObject4COAByOrder = exports.createConfirmReservationActionObject4ChevreByOrder = exports.createInformTasks = void 0;
5
5
  const google_libphonenumber_1 = require("google-libphonenumber");
6
6
  const util_1 = require("util");
7
7
  const factory = require("../../../../factory");
@@ -167,15 +167,3 @@ function createConfirmReservationActionObject4COAByOrder(params) {
167
167
  });
168
168
  }
169
169
  exports.createConfirmReservationActionObject4COAByOrder = createConfirmReservationActionObject4COAByOrder;
170
- function createConfirmRegisterServiceActionObjectByOrder(params) {
171
- // いったん保留
172
- const chevreTransactionNumbers = [];
173
- return [...new Set(chevreTransactionNumbers)].map((transactionNumber) => {
174
- return {
175
- endDate: params.order.orderDate,
176
- transactionNumber,
177
- typeOf: factory.assetTransactionType.RegisterService
178
- };
179
- });
180
- }
181
- exports.createConfirmRegisterServiceActionObjectByOrder = createConfirmRegisterServiceActionObjectByOrder;
@@ -8,6 +8,8 @@ declare function onOrderProcessing(params: {
8
8
  acceptedOffers: IAcceptedOffer[];
9
9
  numAcceptedOffers: number;
10
10
  moneyTransferTransactionNumbers: string[];
11
+ itemOfferedTypeOf: factory.order.IItemOffered['typeOf'];
12
+ serialNumbers: string[];
11
13
  };
12
14
  placeOrderTransaction?: IPlaceOrderTransaction;
13
15
  }): (repos: {
@@ -45,7 +45,6 @@ function onOrderProcessing(params) {
45
45
  case factory.orderStatus.OrderProcessing:
46
46
  tasks = [
47
47
  ...(0, factory_1.createInformTasks)(params.order)
48
- // ...await createConfirmRegisterServiceTransactionTasks(params.order, simpleOrder)(repos) // ひとまず保留
49
48
  ];
50
49
  break;
51
50
  default:
@@ -54,9 +53,17 @@ function onOrderProcessing(params) {
54
53
  yield repos.task.saveMany(tasks, { emitImmediately: true });
55
54
  switch (params.order.orderStatus) {
56
55
  case factory.orderStatus.OrderProcessing:
57
- // 冗長なconfirmReserveTransactionタスク作成を回避(2023-08-25~)
58
- yield createConfirmReserveTransactionTasksIfNotExist(params.order, simpleOrder)(repos);
59
- yield createConfirmMoneyTransferTasksIfNotExist(params.order, simpleOrder)(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
+ }
60
67
  yield createGivePointAwardTaskIfNotExist({
61
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
62
69
  })(repos);
@@ -111,7 +118,7 @@ function createConfirmReserveTransactionTasksIfNotExist(order, simpleOrder) {
111
118
  function createConfirmMoneyTransferTasksIfNotExist(order, simpleOrder) {
112
119
  return (repos) => __awaiter(this, void 0, void 0, function* () {
113
120
  const taskRunsAt = new Date();
114
- yield Promise.all(order.moneyTransferTransactionNumbers.map((moneyTransferTransactionNumber) => __awaiter(this, void 0, void 0, function* () {
121
+ yield Promise.all(order.serialNumbers.map((moneyTransferTransactionNumber) => __awaiter(this, void 0, void 0, function* () {
115
122
  const data = {
116
123
  project: order.project,
117
124
  typeOf: factory.actionType.ConfirmAction,
@@ -124,7 +131,7 @@ function createConfirmMoneyTransferTasksIfNotExist(order, simpleOrder) {
124
131
  purpose: simpleOrder
125
132
  };
126
133
  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);
127
- const confirmReserveTransactionTask = {
134
+ const confirmMoneyTransferTransactionTask = {
128
135
  identifier: taskIdentifier,
129
136
  project: order.project,
130
137
  name: factory.taskName.ConfirmMoneyTransfer,
@@ -135,71 +142,41 @@ function createConfirmMoneyTransferTasksIfNotExist(order, simpleOrder) {
135
142
  executionResults: [],
136
143
  data
137
144
  };
138
- yield repos.task.createIfNotExistByIdentifier(confirmReserveTransactionTask, { emitImmediately: true });
145
+ yield repos.task.createIfNotExistByIdentifier(confirmMoneyTransferTransactionTask, { emitImmediately: true });
146
+ })));
147
+ });
148
+ }
149
+ function createConfirmRegisterServiceTasksIfNotExist(order, simpleOrder) {
150
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
151
+ const taskRunsAt = new Date();
152
+ yield Promise.all(order.serialNumbers.map((registerServiceTransactionNumber) => __awaiter(this, void 0, void 0, function* () {
153
+ const data = {
154
+ project: order.project,
155
+ typeOf: factory.actionType.ConfirmAction,
156
+ object: {
157
+ endDate: order.orderDate,
158
+ transactionNumber: registerServiceTransactionNumber,
159
+ typeOf: factory.assetTransactionType.RegisterService
160
+ },
161
+ agent: order.project,
162
+ purpose: simpleOrder
163
+ };
164
+ 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);
165
+ const confirmRegisterServiceTask = {
166
+ identifier: taskIdentifier,
167
+ project: order.project,
168
+ name: factory.taskName.ConfirmRegisterService,
169
+ status: factory.taskStatus.Ready,
170
+ runsAt: taskRunsAt,
171
+ remainingNumberOfTries: 10,
172
+ numberOfTried: 0,
173
+ executionResults: [],
174
+ data
175
+ };
176
+ yield repos.task.createIfNotExistByIdentifier(confirmRegisterServiceTask, { emitImmediately: true });
139
177
  })));
140
178
  });
141
179
  }
142
- // function createConfirmRegisterServiceTransactionTasks(
143
- // order: factory.order.IOrder & {
144
- // acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
145
- // },
146
- // simpleOrder: factory.order.ISimpleOrder
147
- // ) {
148
- // return async (repos: {
149
- // task: TaskRepo;
150
- // }): Promise<factory.task.IAttributes<factory.taskName.ConfirmRegisterServiceTransaction>[]> => {
151
- // const taskRunsAt = new Date();
152
- // if (USE_CONFIRM_REGISTER_SERVICE_TRANSACTION) {
153
- // const confirmObjects = createConfirmRegisterServiceActionObjectByOrder({ order });
154
- // const tasks: factory.task.IAttributes<factory.taskName.ConfirmRegisterServiceTransaction>[] = [];
155
- // await Promise.all(confirmObjects.map(async (confirmObject) => {
156
- // // 冗長なタスク作成を回避
157
- // const existingTasks = await repos.task.search(
158
- // {
159
- // limit: 1,
160
- // page: 1,
161
- // project: { id: { $eq: order.project.id } },
162
- // name: factory.taskName.ConfirmReserveTransaction,
163
- // data: {
164
- // object: { transactionNumber: { $eq: confirmObject.transactionNumber } },
165
- // purpose: { orderNumber: { $eq: order.orderNumber } }
166
- // }
167
- // },
168
- // {
169
- // data: 0, executionResults: 0, name: 0, numberOfTried: 0,
170
- // remainingNumberOfTries: 0, runsAt: 0, status: 0
171
- // }
172
- // );
173
- // if (existingTasks.length === 0) {
174
- // const data: factory.task.IData<factory.taskName.ConfirmRegisterServiceTransaction> = {
175
- // project: order.project,
176
- // typeOf: factory.actionType.ConfirmAction,
177
- // object: confirmObject,
178
- // agent: order.project,
179
- // purpose: simpleOrder,
180
- // instrument: {
181
- // typeOf: 'WebAPI',
182
- // identifier: factory.service.webAPI.Identifier.Chevre
183
- // }
184
- // };
185
- // tasks.push({
186
- // project: order.project,
187
- // name: factory.taskName.ConfirmRegisterServiceTransaction,
188
- // status: factory.taskStatus.Ready,
189
- // runsAt: taskRunsAt,
190
- // remainingNumberOfTries: 10,
191
- // numberOfTried: 0,
192
- // executionResults: [],
193
- // data
194
- // });
195
- // }
196
- // }));
197
- // return tasks;
198
- // } else {
199
- // return [];
200
- // }
201
- // };
202
- // }
203
180
  function createGivePointAwardTaskIfNotExist(params) {
204
181
  return (repos) => __awaiter(this, void 0, void 0, function* () {
205
182
  var _a;
@@ -12,6 +12,6 @@ export declare function confirmRegisterServiceTransaction(params: factory.action
12
12
  assetTransaction: AssetTransactionRepo;
13
13
  task: TaskRepo;
14
14
  }) => Promise<void>;
15
- export declare function onRegistered(__: factory.action.interact.confirm.registerService.IAttributes): (repos: {
15
+ export declare function onRegistered(params: factory.action.interact.confirm.registerService.IAttributes): (repos: {
16
16
  task: TaskRepo;
17
17
  }) => Promise<void>;
@@ -83,17 +83,39 @@ function confirmRegisterServiceTransaction(params) {
83
83
  });
84
84
  }
85
85
  exports.confirmRegisterServiceTransaction = confirmRegisterServiceTransaction;
86
- function onRegistered(__) {
86
+ function onRegistered(params) {
87
87
  return (repos) => __awaiter(this, void 0, void 0, function* () {
88
88
  const taskAttributes = [];
89
- // 次のメンバーシップ注文タスクを作成
90
- // 廃止(2023-08-18~)
91
- // const orderProgramMembershipTasks = actionAttributes.potentialActions?.orderProgramMembership;
92
- // if (Array.isArray(orderProgramMembershipTasks)) {
93
- // taskAttributes.push(...orderProgramMembershipTasks);
94
- // }
95
89
  // タスク保管
96
90
  yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
91
+ if (params.purpose.typeOf === factory.order.OrderType.Order) {
92
+ // タスク冪等作成
93
+ const onAssetTransactionStatusChangedTaskData = {
94
+ project: { id: params.project.id, typeOf: factory.organizationType.Project },
95
+ object: {
96
+ typeOf: params.object.typeOf,
97
+ transactionNumber: params.object.transactionNumber,
98
+ status: factory.transactionStatusType.Confirmed
99
+ },
100
+ purpose: {
101
+ confirmationNumber: '',
102
+ orderNumber: params.purpose.orderNumber,
103
+ typeOf: factory.order.OrderType.Order
104
+ },
105
+ useOnOrderStatusChanged: true
106
+ };
107
+ const onAssetTransactionStatusChangedTask = {
108
+ project: { id: params.project.id, typeOf: factory.organizationType.Project },
109
+ name: factory.taskName.OnAssetTransactionStatusChanged,
110
+ status: factory.taskStatus.Ready,
111
+ runsAt: new Date(),
112
+ remainingNumberOfTries: 10,
113
+ numberOfTried: 0,
114
+ executionResults: [],
115
+ data: onAssetTransactionStatusChangedTaskData
116
+ };
117
+ yield repos.task.createOnAssetTransactionStatusChangedTaskIfNotExist(onAssetTransactionStatusChangedTask, { emitImmediately: true });
118
+ }
97
119
  });
98
120
  }
99
121
  exports.onRegistered = onRegistered;
@@ -12,40 +12,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.createPotentialActions = void 0;
13
13
  const givePointAward_1 = require("./potentialActions/givePointAward");
14
14
  // import { createMoneyTransferActions } from './potentialActions/moneyTransfer';
15
- const registerService_1 = require("./potentialActions/registerService");
15
+ // import { createRegisterServiceActions } from './potentialActions/registerService';
16
16
  const sendEmailMessage_1 = require("./potentialActions/sendEmailMessage");
17
- // import { createMaskedCustomer } from '../../../factory/order';
18
17
  /**
19
18
  * 取引のポストアクションを作成する
20
19
  */
21
20
  function createPotentialActions(params) {
22
21
  return __awaiter(this, void 0, void 0, function* () {
23
- const registerServiceActions = yield (0, registerService_1.createRegisterServiceActions)(params);
22
+ // const registerServiceActions = await createRegisterServiceActions(params);
24
23
  // 通貨転送アクション
25
24
  // const moneyTransferActions = await createMoneyTransferActions(params);
26
25
  // ポイントインセンティブに対する承認アクションの分だけ、ポイントインセンティブ付与アクションを作成する
27
26
  const givePointAwardActions = yield (0, givePointAward_1.createGivePointAwardActions)(params);
28
27
  // 注文配送メール送信設定
29
28
  const sendEmailMessageActions = yield (0, sendEmailMessage_1.createSendEmailMessageActions)(params);
30
- // const maskedCustomer = createMaskedCustomer(params.order, { noProfile: true });
31
- // const simpleOrder: factory.order.ISimpleOrder = {
32
- // typeOf: params.order.typeOf,
33
- // seller: {
34
- // id: params.order.seller.id,
35
- // typeOf: params.order.seller.typeOf,
36
- // name: params.order.seller.name
37
- // },
38
- // // mask
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
29
  const sendOrderActionAttributes = {
46
30
  potentialActions: {
47
31
  // moneyTransfer: moneyTransferActions, // 廃止(2024-01-29~)
48
- registerService: registerServiceActions,
32
+ // registerService: registerServiceActions, // 廃止(2024-01-30~)
49
33
  sendEmailMessage: sendEmailMessageActions
50
34
  }
51
35
  };
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  ],
11
11
  "dependencies": {
12
12
  "@aws-sdk/credential-providers": "3.433.0",
13
- "@chevre/factory": "4.352.0-alpha.13",
13
+ "@chevre/factory": "4.352.0-alpha.14",
14
14
  "@cinerino/sdk": "5.9.0-alpha.2",
15
15
  "@motionpicture/coa-service": "9.3.0-alpha.4",
16
16
  "@motionpicture/gmo-service": "5.3.0-alpha.2",
@@ -111,5 +111,5 @@
111
111
  "postversion": "git push origin --tags",
112
112
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
113
113
  },
114
- "version": "21.20.0-alpha.56"
114
+ "version": "21.20.0-alpha.57"
115
115
  }