@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.
- package/lib/chevre/service/assetTransaction/pay.js +8 -2
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -2
- package/lib/chevre/service/payment/movieTicket/validation.js +12 -25
- package/lib/chevre/service/payment/movieTicket.d.ts +4 -1
- package/lib/chevre/service/payment/movieTicket.js +4 -3
- package/package.json +1 -1
|
@@ -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,
|
|
275
|
+
const { accountId, payAction, accountsReceivablesByServiceType } = yield MovieTicketPayment.authorize(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay)(repos);
|
|
276
276
|
return saveAuthorizeResult({
|
|
277
277
|
id: transaction.id,
|
|
278
|
-
update:
|
|
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<
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
145
|
+
return { accountId, payAction, accountsReceivablesByServiceType };
|
|
145
146
|
});
|
|
146
147
|
}
|
|
147
148
|
exports.authorize = authorize;
|
package/package.json
CHANGED