@chevre/domain 21.18.0-alpha.2 → 21.18.0-alpha.20
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/example/src/chevre/aggreateOwnershipInfosByOrder.ts +24 -0
- package/example/src/chevre/searchAcceptedOfferIds.ts +57 -0
- package/example/src/chevre/searchOrderAcceptedOffers.ts +12 -12
- package/example/src/chevre/searchOrders.ts +36 -19
- package/example/src/chevre/searchReservationsByOrder.ts +30 -0
- package/example/src/chevre/searchTransactions.ts +41 -0
- package/example/src/chevre/transaction/processReturnOrder.ts +1 -0
- package/example/src/chevre/upsertMoviesByIdentifier.ts +57 -0
- package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +141 -0
- package/example/src/duration.ts +22 -0
- package/lib/chevre/repo/acceptedOffer.d.ts +60 -0
- package/lib/chevre/repo/acceptedOffer.js +158 -0
- package/lib/chevre/repo/creativeWork.d.ts +5 -1
- package/lib/chevre/repo/creativeWork.js +42 -22
- package/lib/chevre/repo/event.d.ts +12 -0
- package/lib/chevre/repo/event.js +61 -0
- package/lib/chevre/repo/offerCatalog.d.ts +8 -2
- package/lib/chevre/repo/offerCatalog.js +8 -8
- package/lib/chevre/repo/order.d.ts +14 -54
- package/lib/chevre/repo/order.js +46 -180
- package/lib/chevre/repo/place.js +14 -10
- package/lib/chevre/repo/transaction.d.ts +5 -4
- package/lib/chevre/repository.d.ts +5 -7
- package/lib/chevre/repository.js +14 -17
- package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +3 -1
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +3 -3
- package/lib/chevre/service/assetTransaction/pay.d.ts +2 -0
- package/lib/chevre/service/assetTransaction/pay.js +10 -6
- package/lib/chevre/service/delivery/factory.d.ts +3 -1
- package/lib/chevre/service/delivery/factory.js +4 -2
- package/lib/chevre/service/delivery.d.ts +1 -2
- package/lib/chevre/service/delivery.js +1 -3
- package/lib/chevre/service/offer/product.d.ts +0 -14
- package/lib/chevre/service/offer/product.js +59 -42
- package/lib/chevre/service/order/confirmPayTransaction.d.ts +2 -0
- package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
- package/lib/chevre/service/order/createAccountingReportIfNotExist.d.ts +3 -1
- package/lib/chevre/service/order/createAccountingReportIfNotExist.js +4 -1
- package/lib/chevre/service/order/deleteOrder.d.ts +2 -0
- package/lib/chevre/service/order/deleteOrder.js +15 -4
- package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +3 -1
- package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -2
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +3 -3
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +15 -9
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +11 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +54 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.d.ts +10 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +38 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +12 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +111 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +12 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +64 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.d.ts +10 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +103 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +30 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +227 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +14 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +216 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +10 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +110 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.d.ts +14 -0
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +164 -0
- package/lib/chevre/service/order/onOrderStatusChanged.d.ts +9 -15
- package/lib/chevre/service/order/onOrderStatusChanged.js +11 -446
- package/lib/chevre/service/order/onOrderUpdated/factory.d.ts +6 -0
- package/lib/chevre/service/order/onOrderUpdated/factory.js +45 -0
- package/lib/chevre/service/order/onOrderUpdated.js +1 -1
- package/lib/chevre/service/order/payOrder.d.ts +2 -2
- package/lib/chevre/service/order/placeOrder.d.ts +2 -3
- package/lib/chevre/service/order/placeOrder.js +65 -22
- package/lib/chevre/service/order/returnOrder.d.ts +2 -2
- package/lib/chevre/service/order/returnOrder.js +34 -13
- package/lib/chevre/service/order/sendOrder.d.ts +2 -2
- package/lib/chevre/service/order/sendOrder.js +19 -6
- package/lib/chevre/service/order.d.ts +2 -2
- package/lib/chevre/service/order.js +2 -2
- package/lib/chevre/service/payment/any.js +1 -1
- package/lib/chevre/service/reserve/searchByOrder.d.ts +21 -0
- package/lib/chevre/service/reserve/searchByOrder.js +113 -0
- package/lib/chevre/service/reserve/verifyToken4reservation.js +0 -11
- package/lib/chevre/service/reserve.d.ts +2 -1
- package/lib/chevre/service/reserve.js +3 -1
- package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
- package/lib/chevre/service/task/deleteTransaction.js +2 -0
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +5 -6
- package/lib/chevre/service/task/onAuthorizationCreated.js +9 -18
- package/lib/chevre/service/task/onOrderPaymentCompleted.js +5 -6
- package/lib/chevre/service/task/placeOrder.js +10 -17
- package/lib/chevre/service/task/returnOrder.js +10 -17
- package/lib/chevre/service/task/sendOrder.js +10 -17
- package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -7
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +2 -0
- package/lib/chevre/service/transaction/moneyTransfer.js +3 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +1 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +1 -0
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +3 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +1 -0
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -1
- package/lib/chevre/service/transaction/returnOrder.d.ts +3 -0
- package/lib/chevre/service/transaction/returnOrder.js +73 -55
- package/package.json +2 -2
- package/lib/chevre/repo/action/registerServiceInProgress.d.ts +0 -29
- package/lib/chevre/repo/action/registerServiceInProgress.js +0 -58
- package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +0 -42
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +0 -467
|
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.call = void 0;
|
|
13
13
|
const factory = require("../../factory");
|
|
14
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
14
15
|
const action_1 = require("../../repo/action");
|
|
15
16
|
const assetTransaction_1 = require("../../repo/assetTransaction");
|
|
16
17
|
const code_1 = require("../../repo/code");
|
|
@@ -26,6 +27,7 @@ const reserve_1 = require("../reserve");
|
|
|
26
27
|
function call(data) {
|
|
27
28
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
28
29
|
yield onAuthorizationCreated(data)({
|
|
30
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
29
31
|
action: new action_1.MongoRepository(settings.connection),
|
|
30
32
|
assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
|
|
31
33
|
code: new code_1.MongoRepository(settings.connection),
|
|
@@ -38,6 +40,7 @@ function call(data) {
|
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
exports.call = call;
|
|
43
|
+
// tslint:disable-next-line:max-func-body-length
|
|
41
44
|
function onAuthorizationCreated(params) {
|
|
42
45
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
43
46
|
// 発券対象予約ID
|
|
@@ -55,24 +58,12 @@ function onAuthorizationCreated(params) {
|
|
|
55
58
|
// 注文検索
|
|
56
59
|
const orderNumber = authorizationObject.orderNumber;
|
|
57
60
|
if (typeof orderNumber === 'string' && orderNumber.length > 0) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
65
|
-
const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
|
|
66
|
-
reservationNumbers = acceptedOffers
|
|
67
|
-
.filter((o) => o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
68
|
-
|| o.itemOffered.typeOf === factory.reservationType.BusReservation)
|
|
69
|
-
.map((o) => o.itemOffered.reservationNumber);
|
|
70
|
-
reservationNumbers = [...new Set(reservationNumbers)];
|
|
71
|
-
reservationForIds = acceptedOffers
|
|
72
|
-
.filter((o) => o.itemOffered.typeOf === factory.reservationType.EventReservation
|
|
73
|
-
|| o.itemOffered.typeOf === factory.reservationType.BusReservation)
|
|
74
|
-
.map((o) => String(o.itemOffered.reservationFor.id));
|
|
75
|
-
reservationForIds = [...new Set(reservationForIds)];
|
|
61
|
+
reservationNumbers = yield repos.acceptedOffer.distinctValues({
|
|
62
|
+
orderNumber: { $in: [orderNumber] }
|
|
63
|
+
}, 'acceptedOffers.itemOffered.reservationNumber');
|
|
64
|
+
reservationForIds = yield repos.acceptedOffer.distinctValues({
|
|
65
|
+
orderNumber: { $in: [orderNumber] }
|
|
66
|
+
}, 'acceptedOffers.itemOffered.reservationFor.id');
|
|
76
67
|
}
|
|
77
68
|
break;
|
|
78
69
|
case 'OwnershipInfo':
|
|
@@ -10,8 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.call = void 0;
|
|
13
|
-
const
|
|
14
|
-
const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
|
|
13
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
15
14
|
const order_1 = require("../../repo/order");
|
|
16
15
|
const task_1 = require("../../repo/task");
|
|
17
16
|
const transaction_1 = require("../../repo/transaction");
|
|
@@ -21,12 +20,12 @@ const payOrder_1 = require("../order/payOrder");
|
|
|
21
20
|
*/
|
|
22
21
|
function call(data) {
|
|
23
22
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
if (settings.redisClient === undefined) {
|
|
25
|
-
|
|
26
|
-
}
|
|
23
|
+
// if (settings.redisClient === undefined) {
|
|
24
|
+
// throw new factory.errors.Argument('settings', 'redisClient required');
|
|
25
|
+
// }
|
|
27
26
|
yield (0, payOrder_1.payOrder)(data)({
|
|
27
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
28
28
|
order: new order_1.MongoRepository(settings.connection),
|
|
29
|
-
registerActionInProgress: new registerServiceInProgress_1.RedisRepository(settings.redisClient),
|
|
30
29
|
task: new task_1.MongoRepository(settings.connection),
|
|
31
30
|
transaction: new transaction_1.MongoRepository(settings.connection)
|
|
32
31
|
});
|
|
@@ -10,10 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.call = void 0;
|
|
13
|
-
const
|
|
13
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
14
14
|
const accountingReport_1 = require("../../repo/accountingReport");
|
|
15
15
|
const action_1 = require("../../repo/action");
|
|
16
|
-
const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
|
|
17
16
|
const order_1 = require("../../repo/order");
|
|
18
17
|
const task_1 = require("../../repo/task");
|
|
19
18
|
const transaction_1 = require("../../repo/transaction");
|
|
@@ -23,22 +22,16 @@ const OrderService = require("../order");
|
|
|
23
22
|
*/
|
|
24
23
|
function call(data) {
|
|
25
24
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
if (settings.redisClient === undefined) {
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
const actionRepo = new action_1.MongoRepository(settings.connection);
|
|
30
|
-
const accountingReportRepo = new accountingReport_1.MongoRepository(settings.connection);
|
|
31
|
-
const orderRepo = new order_1.MongoRepository(settings.connection);
|
|
32
|
-
const taskRepo = new task_1.MongoRepository(settings.connection);
|
|
33
|
-
const transactionRepo = new transaction_1.MongoRepository(settings.connection);
|
|
34
|
-
const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
|
|
25
|
+
// if (settings.redisClient === undefined) {
|
|
26
|
+
// throw new factory.errors.Argument('settings', 'redisClient required');
|
|
27
|
+
// }
|
|
35
28
|
yield OrderService.placeOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
task:
|
|
41
|
-
transaction:
|
|
29
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
30
|
+
accountingReport: new accountingReport_1.MongoRepository(settings.connection),
|
|
31
|
+
action: new action_1.MongoRepository(settings.connection),
|
|
32
|
+
order: new order_1.MongoRepository(settings.connection),
|
|
33
|
+
task: new task_1.MongoRepository(settings.connection),
|
|
34
|
+
transaction: new transaction_1.MongoRepository(settings.connection)
|
|
42
35
|
});
|
|
43
36
|
});
|
|
44
37
|
}
|
|
@@ -10,9 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.call = void 0;
|
|
13
|
-
const
|
|
13
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
14
14
|
const action_1 = require("../../repo/action");
|
|
15
|
-
const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
|
|
16
15
|
const order_1 = require("../../repo/order");
|
|
17
16
|
const ownershipInfo_1 = require("../../repo/ownershipInfo");
|
|
18
17
|
const task_1 = require("../../repo/task");
|
|
@@ -23,22 +22,16 @@ const returnOrder_1 = require("../order/returnOrder");
|
|
|
23
22
|
*/
|
|
24
23
|
function call(data) {
|
|
25
24
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
if (settings.redisClient === undefined) {
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
const actionRepo = new action_1.MongoRepository(settings.connection);
|
|
30
|
-
const orderRepo = new order_1.MongoRepository(settings.connection);
|
|
31
|
-
const ownershipInfoRepo = new ownershipInfo_1.MongoRepository(settings.connection);
|
|
32
|
-
const taskRepo = new task_1.MongoRepository(settings.connection);
|
|
33
|
-
const transactionRepo = new transaction_1.MongoRepository(settings.connection);
|
|
34
|
-
const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
|
|
25
|
+
// if (settings.redisClient === undefined) {
|
|
26
|
+
// throw new factory.errors.Argument('settings', 'redisClient required');
|
|
27
|
+
// }
|
|
35
28
|
yield (0, returnOrder_1.returnOrder)(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
task:
|
|
41
|
-
transaction:
|
|
29
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
30
|
+
action: new action_1.MongoRepository(settings.connection),
|
|
31
|
+
order: new order_1.MongoRepository(settings.connection),
|
|
32
|
+
ownershipInfo: new ownershipInfo_1.MongoRepository(settings.connection),
|
|
33
|
+
task: new task_1.MongoRepository(settings.connection),
|
|
34
|
+
transaction: new transaction_1.MongoRepository(settings.connection)
|
|
42
35
|
});
|
|
43
36
|
});
|
|
44
37
|
}
|
|
@@ -10,9 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.call = void 0;
|
|
13
|
-
const
|
|
13
|
+
const acceptedOffer_1 = require("../../repo/acceptedOffer");
|
|
14
14
|
const action_1 = require("../../repo/action");
|
|
15
|
-
const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
|
|
16
15
|
const order_1 = require("../../repo/order");
|
|
17
16
|
const ownershipInfo_1 = require("../../repo/ownershipInfo");
|
|
18
17
|
const task_1 = require("../../repo/task");
|
|
@@ -23,22 +22,16 @@ const OrderService = require("../order");
|
|
|
23
22
|
*/
|
|
24
23
|
function call(data) {
|
|
25
24
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
if (settings.redisClient === undefined) {
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
const actionRepo = new action_1.MongoRepository(settings.connection);
|
|
30
|
-
const orderRepo = new order_1.MongoRepository(settings.connection);
|
|
31
|
-
const ownershipInfoRepo = new ownershipInfo_1.MongoRepository(settings.connection);
|
|
32
|
-
const taskRepo = new task_1.MongoRepository(settings.connection);
|
|
33
|
-
const transactionRepo = new transaction_1.MongoRepository(settings.connection);
|
|
34
|
-
const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
|
|
25
|
+
// if (settings.redisClient === undefined) {
|
|
26
|
+
// throw new factory.errors.Argument('settings', 'redisClient required');
|
|
27
|
+
// }
|
|
35
28
|
yield OrderService.sendOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
task:
|
|
41
|
-
transaction:
|
|
29
|
+
acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
|
|
30
|
+
action: new action_1.MongoRepository(settings.connection),
|
|
31
|
+
order: new order_1.MongoRepository(settings.connection),
|
|
32
|
+
ownershipInfo: new ownershipInfo_1.MongoRepository(settings.connection),
|
|
33
|
+
task: new task_1.MongoRepository(settings.connection),
|
|
34
|
+
transaction: new transaction_1.MongoRepository(settings.connection)
|
|
42
35
|
});
|
|
43
36
|
});
|
|
44
37
|
}
|
|
@@ -10,9 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.call = void 0;
|
|
13
|
-
const factory = require("../../factory");
|
|
14
13
|
const action_1 = require("../../repo/action");
|
|
15
|
-
const registerServiceInProgress_1 = require("../../repo/action/registerServiceInProgress");
|
|
16
14
|
const assetTransaction_1 = require("../../repo/assetTransaction");
|
|
17
15
|
const transaction_1 = require("../../repo/transaction");
|
|
18
16
|
const ProductOfferService = require("../offer/product");
|
|
@@ -21,17 +19,15 @@ const ProductOfferService = require("../offer/product");
|
|
|
21
19
|
*/
|
|
22
20
|
function call(data) {
|
|
23
21
|
return (settings) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
if (settings.redisClient === undefined) {
|
|
25
|
-
|
|
26
|
-
}
|
|
22
|
+
// if (settings.redisClient === undefined) {
|
|
23
|
+
// throw new factory.errors.Argument('settings', 'redisClient required');
|
|
24
|
+
// }
|
|
27
25
|
const actionRepo = new action_1.MongoRepository(settings.connection);
|
|
28
|
-
const registerActionInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
|
|
29
26
|
const assetTransactionRepo = new assetTransaction_1.MongoRepository(settings.connection);
|
|
30
27
|
const transactionRepo = new transaction_1.MongoRepository(settings.connection);
|
|
31
28
|
yield ProductOfferService.voidTransaction(data)({
|
|
32
29
|
action: actionRepo,
|
|
33
30
|
assetTransaction: assetTransactionRepo,
|
|
34
|
-
registerActionInProgress: registerActionInProgressRepo,
|
|
35
31
|
transaction: transactionRepo
|
|
36
32
|
});
|
|
37
33
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as factory from '../../factory';
|
|
2
|
+
import type { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
|
|
2
3
|
import type { MongoRepository as AccountingReportRepo } from '../../repo/accountingReport';
|
|
3
4
|
import type { MongoRepository as ActionRepo } from '../../repo/action';
|
|
4
5
|
import type { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
|
|
@@ -13,6 +14,7 @@ import type { MongoRepository as TransactionRepo } from '../../repo/transaction'
|
|
|
13
14
|
* 冪等性を確保すること
|
|
14
15
|
*/
|
|
15
16
|
export declare function deleteTransaction(params: factory.task.IData<factory.taskName.DeleteTransaction>): (repos: {
|
|
17
|
+
acceptedOffer: AcceptedOfferRepo;
|
|
16
18
|
accountingReport: AccountingReportRepo;
|
|
17
19
|
action: ActionRepo;
|
|
18
20
|
assetTransaction: AssetTransactionRepo;
|
|
@@ -412,8 +412,8 @@ function validateFromLocation(project, fromLocationBeforeStart, issuedThrough) {
|
|
|
412
412
|
orderNumbers: [String(fromLocation.orderNumber)],
|
|
413
413
|
confirmationNumbers: [String(fromLocation.confirmationNumber)]
|
|
414
414
|
}, {
|
|
415
|
-
|
|
416
|
-
|
|
415
|
+
identifier: 1,
|
|
416
|
+
orderStatus: 1
|
|
417
417
|
});
|
|
418
418
|
const order = orders.shift();
|
|
419
419
|
if (order === undefined) {
|
|
@@ -467,8 +467,7 @@ function validateToLocation(project, toLocationBeforeStart, issuedThrough) {
|
|
|
467
467
|
orderNumbers: [String(toLocation.orderNumber)],
|
|
468
468
|
confirmationNumbers: [String(toLocation.confirmationNumber)]
|
|
469
469
|
}, {
|
|
470
|
-
|
|
471
|
-
orderedItem: 0
|
|
470
|
+
identifier: 1
|
|
472
471
|
});
|
|
473
472
|
const order = orders.shift();
|
|
474
473
|
if (order === undefined) {
|
|
@@ -10,4 +10,4 @@ export declare function createOrder(params: {
|
|
|
10
10
|
orderStatus: factory.orderStatus;
|
|
11
11
|
isGift: boolean;
|
|
12
12
|
authorizeActions: factory.action.authorize.IAction<factory.action.authorize.IAttributes<any, any>>[];
|
|
13
|
-
}): factory.
|
|
13
|
+
}): factory.transaction.placeOrder.IOrderAsResult;
|
|
@@ -32,7 +32,7 @@ export type IResultOrderParams = factory.transaction.placeOrder.IResultOrderPara
|
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
34
|
export declare function validateNumItems(params: {
|
|
35
|
-
order: factory.
|
|
35
|
+
order: factory.transaction.placeOrder.IOrderAsResult;
|
|
36
36
|
result: {
|
|
37
37
|
order: IResultOrderParams;
|
|
38
38
|
};
|
package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ import * as factory from '../../../../factory';
|
|
|
2
2
|
export type WebAPIIdentifier = factory.service.webAPI.Identifier;
|
|
3
3
|
export declare function createReturnMoneyTransferActions(params: {
|
|
4
4
|
order: factory.order.IOrder;
|
|
5
|
+
moneyTransferAcceptedOffers: Pick<factory.order.IAcceptedOffer<factory.order.IMoneyTransfer>, 'itemOffered'>[];
|
|
5
6
|
returnOrderActionParams?: factory.transaction.returnOrder.IReturnOrderActionParams;
|
|
6
7
|
}): Promise<factory.task.IData<factory.taskName.ReturnMoneyTransfer>[]>;
|
|
@@ -32,9 +32,9 @@ function createReturnMoneyTransferActions(params) {
|
|
|
32
32
|
priceCurrency: order.priceCurrency,
|
|
33
33
|
orderDate: order.orderDate
|
|
34
34
|
};
|
|
35
|
-
//
|
|
36
|
-
const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
|
|
37
|
-
for (const acceptedOffer of
|
|
35
|
+
// 注文オファーから返却アクションを作成する
|
|
36
|
+
// const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
|
|
37
|
+
for (const acceptedOffer of params.moneyTransferAcceptedOffers) {
|
|
38
38
|
if (acceptedOffer.itemOffered.typeOf === factory.actionType.MoneyTransfer) {
|
|
39
39
|
const moneyTransfer = acceptedOffer.itemOffered;
|
|
40
40
|
const transactionNumber = String((_b = (_a = moneyTransfer.object) === null || _a === void 0 ? void 0 : _a.pendingTransaction) === null || _b === void 0 ? void 0 : _b.transactionNumber);
|
|
@@ -9,4 +9,5 @@ export declare function createPotentialActions(params: {
|
|
|
9
9
|
potentialActions?: factory.transaction.returnOrder.IPotentialActionsParams;
|
|
10
10
|
transaction: factory.transaction.returnOrder.ITransaction;
|
|
11
11
|
emailMessageOnOrderReturned?: factory.creativeWork.message.email.ICreativeWork;
|
|
12
|
+
moneyTransferAcceptedOffers: Pick<factory.order.IAcceptedOffer<factory.order.IMoneyTransfer>, 'itemOffered'>[];
|
|
12
13
|
}): Promise<factory.transaction.returnOrder.IPotentialActions>;
|
|
@@ -34,7 +34,7 @@ function createPotentialActions(params) {
|
|
|
34
34
|
const returnPaymentMethodActions = yield (0, returnPaymentMethod_1.createReturnPaymentMethodActions)(Object.assign(Object.assign({}, params), { order, returnOrderActionParams }));
|
|
35
35
|
// ポイント特典の数だけ、返却アクションを作成
|
|
36
36
|
const returnPointAwardActions = yield (0, returnPointAward_1.createReturnPointAwardActions)(Object.assign(Object.assign({}, params), { order }));
|
|
37
|
-
const returnMoneyTransferActions = yield (0, returnMoneyTransfer_1.createReturnMoneyTransferActions)(Object.assign(Object.assign({}, params), { order, returnOrderActionParams }));
|
|
37
|
+
const returnMoneyTransferActions = yield (0, returnMoneyTransfer_1.createReturnMoneyTransferActions)(Object.assign(Object.assign({}, params), { order, moneyTransferAcceptedOffers: params.moneyTransferAcceptedOffers, returnOrderActionParams }));
|
|
38
38
|
// 返品後のEメール送信アクション
|
|
39
39
|
const sendEmailMessaegActionsOnReturn = yield (0, sendEmailMessage_1.createSendEmailMessaegActionsOnReturn)(Object.assign(Object.assign({}, params), { order, returnOrderActionParams }));
|
|
40
40
|
const potentialActionsOnReturnOrder = {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as factory from '../../factory';
|
|
2
|
+
import type { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
|
|
2
3
|
import type { MongoRepository as EmailMessageRepo } from '../../repo/emailMessage';
|
|
3
4
|
import type { MongoRepository as EventRepo } from '../../repo/event';
|
|
4
5
|
import type { MongoRepository as MerchantReturnPolicyRepo } from '../../repo/merchantReturnPolicy';
|
|
@@ -11,6 +12,7 @@ import type { MongoRepository as SellerRepo } from '../../repo/seller';
|
|
|
11
12
|
import type { MongoRepository as TaskRepo } from '../../repo/task';
|
|
12
13
|
import type { MongoRepository as TransactionRepo } from '../../repo/transaction';
|
|
13
14
|
export interface IStartOperationRepos {
|
|
15
|
+
acceptedOffer: AcceptedOfferRepo;
|
|
14
16
|
event: EventRepo;
|
|
15
17
|
merchantReturnPolicy: MerchantReturnPolicyRepo;
|
|
16
18
|
offer: OfferRepo;
|
|
@@ -40,6 +42,7 @@ export declare function confirm(params: factory.transaction.returnOrder.IConfirm
|
|
|
40
42
|
};
|
|
41
43
|
};
|
|
42
44
|
}): (repos: {
|
|
45
|
+
acceptedOffer: AcceptedOfferRepo;
|
|
43
46
|
emailMessage?: EmailMessageRepo;
|
|
44
47
|
order: OrderRepo;
|
|
45
48
|
transaction: TransactionRepo;
|
|
@@ -172,25 +172,34 @@ function fixOrders(params) {
|
|
|
172
172
|
project: { id: { $eq: params.project.id } },
|
|
173
173
|
confirmationNumbers: [params.object.order[0].confirmationNumber],
|
|
174
174
|
orderNumbers: [params.object.order[0].orderNumber]
|
|
175
|
-
},
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
175
|
+
},
|
|
176
|
+
// positive projectionで検索(2023-12-08~)
|
|
177
|
+
{
|
|
178
|
+
confirmationNumber: 1, dateReturned: 1, orderDate: 1, orderNumber: 1, orderStatus: 1,
|
|
179
|
+
paymentMethods: 1, price: 1, project: 1, seller: 1, typeOf: 1
|
|
180
|
+
}
|
|
181
|
+
// {
|
|
182
|
+
// // acceptedOffers: 0, // カスタム返品ポリシーに必要
|
|
183
|
+
// customer: 0,
|
|
184
|
+
// orderedItem: 0
|
|
185
|
+
// // paymentMethods: 0 // 適用決済方法検証に必要
|
|
186
|
+
// }
|
|
187
|
+
);
|
|
181
188
|
if (orders.length !== params.object.order.length) {
|
|
182
189
|
throw new factory.errors.NotFound('Order');
|
|
183
190
|
}
|
|
184
|
-
const offerIds = yield repos.
|
|
185
|
-
project: { id: { $eq: params.project.id } },
|
|
186
|
-
confirmationNumbers: [params.object.order[0].confirmationNumber],
|
|
187
|
-
orderNumbers: [params.object.order[0].orderNumber]
|
|
188
|
-
});
|
|
189
|
-
const eventIds = yield repos.order.searchReservationForIdsByOrderNumbers({
|
|
191
|
+
const offerIds = yield repos.acceptedOffer.distinctValues({
|
|
190
192
|
orderNumber: { $in: [params.object.order[0].orderNumber] }
|
|
191
|
-
});
|
|
192
|
-
const
|
|
193
|
+
}, 'acceptedOffers.id');
|
|
194
|
+
const eventIds = yield repos.acceptedOffer.distinctValues({
|
|
193
195
|
orderNumber: { $in: [params.object.order[0].orderNumber] }
|
|
196
|
+
}, 'acceptedOffers.itemOffered.reservationFor.id');
|
|
197
|
+
// const acceptedOffers = await repos.acceptedOffer.searchAcceptedOffersByOrderNumbers({
|
|
198
|
+
// orderNumber: { $in: [params.object.order[0].orderNumber] }
|
|
199
|
+
// });
|
|
200
|
+
const acceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
201
|
+
orderNumber: { $eq: params.object.order[0].orderNumber },
|
|
202
|
+
project: { id: { $eq: params.project.id } }
|
|
194
203
|
});
|
|
195
204
|
return { acceptedOffers, eventIds, offerIds, orders };
|
|
196
205
|
});
|
|
@@ -208,9 +217,12 @@ function checkUsedReservationExists(params) {
|
|
|
208
217
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
209
218
|
let usedReservationExists = false;
|
|
210
219
|
// 注文に含まれる予約の状態検証
|
|
211
|
-
const reservationNumbers =
|
|
220
|
+
// const reservationNumbers = await repos.acceptedOffer.searchReservationNumbersByOrderNumbers({
|
|
221
|
+
// orderNumber: { $in: params.orders.map((order) => order.orderNumber) }
|
|
222
|
+
// });
|
|
223
|
+
const reservationNumbers = yield repos.acceptedOffer.distinctValues({
|
|
212
224
|
orderNumber: { $in: params.orders.map((order) => order.orderNumber) }
|
|
213
|
-
});
|
|
225
|
+
}, 'acceptedOffers.itemOffered.reservationNumber');
|
|
214
226
|
if (reservationNumbers.length > 0) {
|
|
215
227
|
// 使用済の予約がひとつでもあれば不可
|
|
216
228
|
const existingUsedReservations = yield repos.reservation.search({
|
|
@@ -279,42 +291,40 @@ function createOrder4returnPolicy(params) {
|
|
|
279
291
|
orderDate: params.order.orderDate,
|
|
280
292
|
orderNumber: params.order.orderNumber,
|
|
281
293
|
price: params.order.price,
|
|
282
|
-
acceptedOffers:
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
// superEvent: reservation.reservationFor.superEvent
|
|
296
|
-
},
|
|
297
|
-
reservedTicket: {
|
|
298
|
-
ticketedSeat: reservation.reservedTicket.ticketedSeat
|
|
299
|
-
}
|
|
294
|
+
acceptedOffers: params.order.acceptedOffers.map((o) => {
|
|
295
|
+
var _a;
|
|
296
|
+
if (o.itemOffered.typeOf === factory.reservationType.EventReservation) {
|
|
297
|
+
const reservation = o.itemOffered;
|
|
298
|
+
const priceComponent = (_a = o.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent;
|
|
299
|
+
return {
|
|
300
|
+
itemOffered: {
|
|
301
|
+
additionalProperty: reservation.additionalProperty,
|
|
302
|
+
reservationFor: {
|
|
303
|
+
doorTime: reservation.reservationFor.doorTime,
|
|
304
|
+
endDate: reservation.reservationFor.endDate,
|
|
305
|
+
startDate: reservation.reservationFor.startDate
|
|
306
|
+
// superEvent: reservation.reservationFor.superEvent
|
|
300
307
|
},
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
? priceComponent.map((component) => {
|
|
304
|
-
const { accounting, name, priceCurrency, valueAddedTaxIncluded } = component, postingComponent = __rest(component, ["accounting", "name", "priceCurrency", "valueAddedTaxIncluded"]);
|
|
305
|
-
return postingComponent;
|
|
306
|
-
})
|
|
307
|
-
: []
|
|
308
|
+
reservedTicket: {
|
|
309
|
+
ticketedSeat: reservation.reservedTicket.ticketedSeat
|
|
308
310
|
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
311
|
+
},
|
|
312
|
+
priceSpecification: {
|
|
313
|
+
priceComponent: (Array.isArray(priceComponent))
|
|
314
|
+
? priceComponent.map((component) => {
|
|
315
|
+
const { accounting, name, priceCurrency, valueAddedTaxIncluded } = component, postingComponent = __rest(component, ["accounting", "name", "priceCurrency", "valueAddedTaxIncluded"]);
|
|
316
|
+
return postingComponent;
|
|
317
|
+
})
|
|
318
|
+
: []
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
return {
|
|
324
|
+
priceSpecification: o.priceSpecification
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
})
|
|
318
328
|
};
|
|
319
329
|
}
|
|
320
330
|
const TIMEOUT = 5000;
|
|
@@ -389,7 +399,7 @@ function findApplicableReturnPolicy(params) {
|
|
|
389
399
|
if (typeof returnPolicySameAsByPoject === 'string' && returnPolicySameAsByPoject.length > 0) {
|
|
390
400
|
const returnPolicyByProject = yield getReturnPolicyByProject({
|
|
391
401
|
sameAs: returnPolicySameAsByPoject,
|
|
392
|
-
order: params.orders[0]
|
|
402
|
+
order: Object.assign(Object.assign({}, params.orders[0]), { acceptedOffers: params.acceptedOffers })
|
|
393
403
|
});
|
|
394
404
|
applicalbleReturnPolicies.push(returnPolicyByProject);
|
|
395
405
|
}
|
|
@@ -601,6 +611,7 @@ function validateOffersReturnPolicy(params) {
|
|
|
601
611
|
// 決済カード取消ポリシーを確定(2023-05-23~)
|
|
602
612
|
const returnFeesMovieTicket = [];
|
|
603
613
|
params.acceptedOffers.forEach((acceptedOffer) => {
|
|
614
|
+
var _a, _b;
|
|
604
615
|
const unitPriceOffer = params.offers.find((offer) => offer.id === acceptedOffer.id);
|
|
605
616
|
if (unitPriceOffer === undefined) {
|
|
606
617
|
throw new factory.errors.NotFound(`UnitPriceOffer ${acceptedOffer.id}`);
|
|
@@ -613,11 +624,11 @@ function validateOffersReturnPolicy(params) {
|
|
|
613
624
|
if (policyByOffer === undefined) {
|
|
614
625
|
throw new factory.errors.NotFound(`MerchantReturnPolicy acceptedOffer:${acceptedOffer.id}`);
|
|
615
626
|
}
|
|
616
|
-
const movieTicketTypeChargeSpecExists = acceptedOffer.priceSpecification.priceComponent.some((component) => {
|
|
627
|
+
const movieTicketTypeChargeSpecExists = (_a = acceptedOffer.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent.some((component) => {
|
|
617
628
|
return component.typeOf === factory.priceSpecificationType.MovieTicketTypeChargeSpecification;
|
|
618
629
|
});
|
|
619
|
-
if (movieTicketTypeChargeSpecExists) {
|
|
620
|
-
acceptedOffer.priceSpecification.priceComponent.forEach((component) => {
|
|
630
|
+
if (movieTicketTypeChargeSpecExists === true) {
|
|
631
|
+
(_b = acceptedOffer.priceSpecification) === null || _b === void 0 ? void 0 : _b.priceComponent.forEach((component) => {
|
|
621
632
|
if (component.typeOf === factory.priceSpecificationType.UnitPriceSpecification) {
|
|
622
633
|
if (Array.isArray(component.appliesToMovieTicket)) {
|
|
623
634
|
component.appliesToMovieTicket.forEach((appliesToMovieTicket) => {
|
|
@@ -706,12 +717,19 @@ function confirm(params) {
|
|
|
706
717
|
emailMessageOnOrderReturned = searchEmailMessagesResult.shift();
|
|
707
718
|
}
|
|
708
719
|
const result = {};
|
|
720
|
+
const moneyTransferAcceptedOffers = yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
721
|
+
orderNumber: { $eq: transaction.object.order[0].orderNumber },
|
|
722
|
+
project: { id: { $eq: transaction.project.id } },
|
|
723
|
+
acceptedOffers: { itemOffered: { typeOf: { $in: [factory.actionType.MoneyTransfer] } } }
|
|
724
|
+
}, ['itemOffered']);
|
|
725
|
+
debug(moneyTransferAcceptedOffers.length, 'moneyTransferAcceptedOffers found.', moneyTransferAcceptedOffers);
|
|
709
726
|
const potentialActions = yield (0, potentialActions_1.createPotentialActions)({
|
|
710
727
|
dateReturned: params.object.order.dateReturned,
|
|
711
728
|
orders: orders,
|
|
712
729
|
potentialActions: params.potentialActions,
|
|
713
730
|
transaction: transaction,
|
|
714
|
-
emailMessageOnOrderReturned: emailMessageOnOrderReturned
|
|
731
|
+
emailMessageOnOrderReturned: emailMessageOnOrderReturned,
|
|
732
|
+
moneyTransferAcceptedOffers
|
|
715
733
|
});
|
|
716
734
|
// ステータス変更
|
|
717
735
|
yield repos.transaction.confirm({
|
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.
|
|
13
|
+
"@chevre/factory": "4.346.0",
|
|
14
14
|
"@cinerino/sdk": "5.3.0",
|
|
15
15
|
"@motionpicture/coa-service": "9.2.0",
|
|
16
16
|
"@motionpicture/gmo-service": "5.2.0",
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"postversion": "git push origin --tags",
|
|
116
116
|
"prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
|
|
117
117
|
},
|
|
118
|
-
"version": "21.18.0-alpha.
|
|
118
|
+
"version": "21.18.0-alpha.20"
|
|
119
119
|
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { RedisClientType } from 'redis';
|
|
2
|
-
/**
|
|
3
|
-
* 進行アクションキーインターフェース
|
|
4
|
-
*/
|
|
5
|
-
export interface IProgressKey {
|
|
6
|
-
agent: {
|
|
7
|
-
id: string;
|
|
8
|
-
};
|
|
9
|
-
product: {
|
|
10
|
-
id: string;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* 進行中サービス登録アクションリポジトリ
|
|
15
|
-
*/
|
|
16
|
-
export declare class RedisRepository {
|
|
17
|
-
private static readonly KEY_PREFIX;
|
|
18
|
-
private readonly redisClient;
|
|
19
|
-
constructor(redisClient: RedisClientType);
|
|
20
|
-
/**
|
|
21
|
-
* ロックする
|
|
22
|
-
*/
|
|
23
|
-
lock(progressKey: IProgressKey, holder: string): Promise<boolean>;
|
|
24
|
-
/**
|
|
25
|
-
* メンバーシップ登録進行ロックを解除する
|
|
26
|
-
*/
|
|
27
|
-
unlock(progressKey: IProgressKey): Promise<void>;
|
|
28
|
-
getHolder(progressKey: IProgressKey): Promise<string | null>;
|
|
29
|
-
}
|