@chevre/domain 21.2.0-alpha.47 → 21.2.0-alpha.48

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.
@@ -272,10 +272,16 @@ function processAuthorizeCreditCard(params, transaction, paymentServiceId) {
272
272
  }
273
273
  function processAuthorizeMovieTicket(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay) {
274
274
  return (repos) => __awaiter(this, void 0, void 0, function* () {
275
- const { accountId, checkResult, payAction } = yield MovieTicketPayment.authorize(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay)(repos);
275
+ const { accountId, payAction, accountsReceivablesByServiceType } = yield MovieTicketPayment.authorize(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay)(repos);
276
276
  return saveAuthorizeResult({
277
277
  id: transaction.id,
278
- update: Object.assign({ 'object.accountId': accountId, 'object.paymentMethod.accountId': accountId, 'object.payAction': payAction }, (checkResult !== undefined) ? { 'object.checkResult': checkResult } : undefined)
278
+ update: {
279
+ 'object.accountId': accountId,
280
+ 'object.paymentMethod.accountId': accountId,
281
+ 'object.payAction': payAction,
282
+ // 認証レスポンスより計上金額を保管(2023-05-15~)
283
+ 'object.accountsReceivablesByServiceType': accountsReceivablesByServiceType
284
+ }
279
285
  })(repos);
280
286
  });
281
287
  }
@@ -6,10 +6,14 @@ import { MongoRepository as EventRepo } from '../../../repo/event';
6
6
  import { MongoRepository as ProductRepo } from '../../../repo/product';
7
7
  import { MongoRepository as ProjectRepo } from '../../../repo/project';
8
8
  import { MongoRepository as SellerRepo } from '../../../repo/seller';
9
- import { ICheckResult } from './checkByIdentifier';
10
9
  export declare function validateMovieTicket(params: factory.assetTransaction.pay.IStartParamsWithoutDetail, paymentServiceId: string, useCheckMovieTicketBeforePay: boolean): (repos: {
11
10
  event: EventRepo;
12
11
  product: ProductRepo;
13
12
  project: ProjectRepo;
14
13
  seller: SellerRepo;
15
- }) => Promise<ICheckResult | undefined>;
14
+ }) => Promise<{
15
+ accountsReceivablesByServiceType: {
16
+ serviceType: string;
17
+ accountsReceivable?: number;
18
+ }[];
19
+ }>;
@@ -15,8 +15,8 @@ exports.validateMovieTicket = void 0;
15
15
  */
16
16
  const factory = require("../../../factory");
17
17
  const checkByIdentifier_1 = require("./checkByIdentifier");
18
- // tslint:disable-next-line:max-func-body-length
19
18
  function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBeforePay) {
19
+ // tslint:disable-next-line:max-func-body-length
20
20
  return (repos) => __awaiter(this, void 0, void 0, function* () {
21
21
  var _a, _b, _c, _d;
22
22
  const movieTickets = (_a = params.object.paymentMethod) === null || _a === void 0 ? void 0 : _a.movieTickets;
@@ -54,7 +54,7 @@ function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBefore
54
54
  }
55
55
  // オプション追加(2023-03-06~)
56
56
  if (!useCheckMovieTicketBeforePay) {
57
- return;
57
+ return { accountsReceivablesByServiceType: [] };
58
58
  }
59
59
  const checkResult = yield (0, checkByIdentifier_1.checkByIdentifier)({
60
60
  movieTickets: movieTickets,
@@ -62,24 +62,16 @@ function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBefore
62
62
  screeningEvent: screeningEvent,
63
63
  paymentServiceId
64
64
  })(repos);
65
- // checkResult.movieTicketsへの依存排除(2023-03-24~)
66
- // 要求に対して十分かどうか検証する
67
- // const availableMovieTickets = checkResult.movieTickets.filter((t) => t.amount?.validThrough === undefined);
68
- // 総数が足りているか(券種ごとに枚数検証を実行するので不要)
69
- // if (availableMovieTickets.length < movieTickets.length) {
70
- // throw new factory.errors.Argument(
71
- // 'movieTickets',
72
- // `${movieTickets.length - availableMovieTickets.length} movie tickets short`
73
- // );
74
- // }
65
+ const accountsReceivablesByServiceType = [];
75
66
  // 券種ごとに枚数が足りているか
76
67
  const serviceTypes = [...new Set(movieTickets.map((t) => t.serviceType))];
77
68
  serviceTypes.forEach((serviceType) => {
78
- var _a, _b, _c;
69
+ var _a, _b;
79
70
  const requiredMovieTicketsCountByServiceType = movieTickets.filter((t) => t.serviceType === serviceType).length;
80
71
  let availableMovieTicketsCountByServiceType = 0;
81
72
  const ykknInfos = (_b = (_a = checkResult.purchaseNumberAuthResult.knyknrNoInfoOut) === null || _a === void 0 ? void 0 : _a.find((knyknrNoInfoOut) => knyknrNoInfoOut.knyknrNo === movieTicketIdentifiers[0])) === null || _b === void 0 ? void 0 : _b.ykknInfo;
82
- const ykknKnshbtsmiNum = (_c = ykknInfos === null || ykknInfos === void 0 ? void 0 : ykknInfos.find((ykknInfo) => ykknInfo.ykknshTyp === serviceType)) === null || _c === void 0 ? void 0 : _c.ykknKnshbtsmiNum;
73
+ const ykknInfoOfServiceType = ykknInfos === null || ykknInfos === void 0 ? void 0 : ykknInfos.find((ykknInfo) => ykknInfo.ykknshTyp === serviceType);
74
+ const ykknKnshbtsmiNum = ykknInfoOfServiceType === null || ykknInfoOfServiceType === void 0 ? void 0 : ykknInfoOfServiceType.ykknKnshbtsmiNum;
83
75
  if (typeof ykknKnshbtsmiNum === 'string') {
84
76
  availableMovieTicketsCountByServiceType = Number(ykknKnshbtsmiNum);
85
77
  }
@@ -87,18 +79,13 @@ function validateMovieTicket(params, paymentServiceId, useCheckMovieTicketBefore
87
79
  const shortNumber = requiredMovieTicketsCountByServiceType - availableMovieTicketsCountByServiceType;
88
80
  throw new factory.errors.Argument('movieTickets', `${shortNumber} movie tickets by service type ${serviceType} short`);
89
81
  }
90
- // const availableMovieTicketsByServiceType = availableMovieTickets.filter((t) => t.serviceType === serviceType);
91
- // if (availableMovieTicketsByServiceType.length < requiredMovieTicketsCountByServiceType) {
92
- // const shortNumber = requiredMovieTicketsCountByServiceType - availableMovieTicketsByServiceType.length;
93
- // throw new factory.errors.Argument(
94
- // 'movieTickets',
95
- // `${shortNumber} movie tickets by service type ${serviceType} short`
96
- // );
97
- // }
82
+ // checkResultから計上金額を取得
83
+ const accountsReceivableByResponse = ykknInfoOfServiceType === null || ykknInfoOfServiceType === void 0 ? void 0 : ykknInfoOfServiceType.kijUnip;
84
+ accountsReceivablesByServiceType.push(Object.assign({ serviceType }, (typeof accountsReceivableByResponse === 'string')
85
+ ? { accountsReceivable: Number(accountsReceivableByResponse) }
86
+ : undefined));
98
87
  });
99
- // checkはするが保管は保留(2023-03-09~)
100
- return;
101
- // return checkResult;
88
+ return { accountsReceivablesByServiceType };
102
89
  });
103
90
  }
104
91
  exports.validateMovieTicket = validateMovieTicket;
@@ -42,7 +42,10 @@ declare function checkMovieTicket(params: factory.action.check.paymentMethod.mov
42
42
  }>;
43
43
  interface IAuthorizeResult {
44
44
  accountId: string;
45
- checkResult?: ICheckResult;
45
+ accountsReceivablesByServiceType: {
46
+ serviceType: string;
47
+ accountsReceivable?: number;
48
+ }[];
46
49
  payAction: factory.action.trade.pay.IAction;
47
50
  }
48
51
  /**
@@ -106,11 +106,12 @@ function authorize(params, transaction, paymentServiceId, useCheckMovieTicketBef
106
106
  return (repos) => __awaiter(this, void 0, void 0, function* () {
107
107
  var _a, _b;
108
108
  let accountId;
109
- let checkResult;
110
109
  let payAction;
110
+ let accountsReceivablesByServiceType = [];
111
111
  try {
112
112
  // MovieTicket決済の場合、認証
113
- checkResult = yield (0, validation_1.validateMovieTicket)(params, paymentServiceId, useCheckMovieTicketBeforePay)(repos);
113
+ const validateMovieTicketResult = yield (0, validation_1.validateMovieTicket)(params, paymentServiceId, useCheckMovieTicketBeforePay)(repos);
114
+ accountsReceivablesByServiceType = validateMovieTicketResult.accountsReceivablesByServiceType;
114
115
  const paymentMethod = transaction.object.paymentMethod;
115
116
  const paymentMethodType = String(paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.typeOf);
116
117
  const additionalProperty = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.additionalProperty;
@@ -141,7 +142,7 @@ function authorize(params, transaction, paymentServiceId, useCheckMovieTicketBef
141
142
  catch (error) {
142
143
  throw (0, errorHandler_1.handleMvtkReserveError)(error);
143
144
  }
144
- return { accountId, checkResult, payAction };
145
+ return { accountId, payAction, accountsReceivablesByServiceType };
145
146
  });
146
147
  }
147
148
  exports.authorize = authorize;
package/package.json CHANGED
@@ -117,5 +117,5 @@
117
117
  "postversion": "git push origin --tags",
118
118
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
119
119
  },
120
- "version": "21.2.0-alpha.47"
120
+ "version": "21.2.0-alpha.48"
121
121
  }