@chevre/domain 21.35.0 → 21.36.0-alpha.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.
- package/lib/chevre/emailMessageBuilder.d.ts +1 -0
- package/lib/chevre/emailMessageBuilder.js +2 -2
- package/lib/chevre/service/transaction/placeOrderInProgress/confirm.js +2 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts +4 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +29 -18
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.d.ts +4 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +13 -4
- package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +4 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +9 -3
- package/lib/chevre/service/transaction/returnOrder.d.ts +2 -0
- package/lib/chevre/service/transaction/returnOrder.js +26 -4
- package/package.json +1 -1
|
@@ -22,6 +22,7 @@ declare function createReturnOrderMessage(params: {
|
|
|
22
22
|
order: factory.order.IOrder;
|
|
23
23
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
24
24
|
emailMessage?: factory.creativeWork.message.email.ICreativeWork;
|
|
25
|
+
index: number;
|
|
25
26
|
}): Promise<ISendableEmailMessage>;
|
|
26
27
|
/**
|
|
27
28
|
* 返金メッセージを作成する
|
|
@@ -224,8 +224,8 @@ function createReturnOrderMessage(params) {
|
|
|
224
224
|
}];
|
|
225
225
|
return {
|
|
226
226
|
typeOf: factory.creativeWorkType.EmailMessage,
|
|
227
|
-
identifier: `${about.identifier}:${params.order.orderNumber}`,
|
|
228
|
-
name: `${about.identifier}:${params.order.orderNumber}`,
|
|
227
|
+
identifier: `${about.identifier}:${params.order.orderNumber}:${params.index}`,
|
|
228
|
+
name: `${about.identifier}:${params.order.orderNumber}:${params.index}`,
|
|
229
229
|
sender: sender,
|
|
230
230
|
toRecipient: toRecipient,
|
|
231
231
|
about: about,
|
|
@@ -135,7 +135,7 @@ function confirm(params) {
|
|
|
135
135
|
yield saveMessagesIfNeeded({
|
|
136
136
|
options: params.options,
|
|
137
137
|
project: { id: transaction.project.id },
|
|
138
|
-
order:
|
|
138
|
+
order: { orderNumber, typeOf: factory.order.OrderType.Order }, seller: { id: seller.id }, emailMessages
|
|
139
139
|
})(repos);
|
|
140
140
|
// ステータス変更
|
|
141
141
|
try {
|
|
@@ -168,12 +168,11 @@ function saveMessagesIfNeeded(params) {
|
|
|
168
168
|
if (options.useSaveMessages) {
|
|
169
169
|
if (emailMessages.length > 0) {
|
|
170
170
|
const { orderNumber, typeOf } = order;
|
|
171
|
-
debug('saving', emailMessages.length, 'messages...', emailMessages);
|
|
172
171
|
const saveMessageResult = yield repos.message.upsertByIdentifier(emailMessages.map(({ identifier, name, about, text, toRecipient, sender }) => {
|
|
173
172
|
return {
|
|
174
173
|
identifier, name, about, text, toRecipient, sender,
|
|
175
174
|
project: { id: project.id, typeOf: factory.organizationType.Project },
|
|
176
|
-
provider: { id: seller.id, typeOf:
|
|
175
|
+
provider: { id: seller.id, typeOf: factory.organizationType.Corporation },
|
|
177
176
|
mainEntity: { orderNumber, typeOf }
|
|
178
177
|
};
|
|
179
178
|
}));
|
package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts
CHANGED
|
@@ -3,4 +3,7 @@ export declare function createReturnPaymentMethodActions(params: {
|
|
|
3
3
|
order: factory.order.IOrder;
|
|
4
4
|
returnOrderActionParams?: factory.transaction.returnOrder.IReturnOrderActionParams;
|
|
5
5
|
transaction: Pick<factory.transaction.returnOrder.ITransaction, 'object'>;
|
|
6
|
-
}): Promise<
|
|
6
|
+
}): Promise<{
|
|
7
|
+
emailMessagesOnReturnInvoice: factory.action.transfer.send.message.email.IObjectAsEmailMessage[];
|
|
8
|
+
returnPaymentMethodActions: factory.action.transfer.returnAction.order.IPotentialReturnInvoiceAction[];
|
|
9
|
+
}>;
|
|
@@ -27,6 +27,7 @@ function createReturnInvoicePotentialActions(params) {
|
|
|
27
27
|
var _a, _b, _c, _d;
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
const order = params.order;
|
|
30
|
+
const emailMessagesOnReturnEachPaymentMethodId = [];
|
|
30
31
|
const sendEmailMessageOnRefund = [];
|
|
31
32
|
// Eメールカスタマイズの指定を確認
|
|
32
33
|
let emailCustomization;
|
|
@@ -49,17 +50,16 @@ function createReturnInvoicePotentialActions(params) {
|
|
|
49
50
|
email: emailCustomization,
|
|
50
51
|
paymentMethodId: params.paymentMethod.paymentMethodId
|
|
51
52
|
});
|
|
52
|
-
|
|
53
|
-
// typeOf: order.typeOf,
|
|
54
|
-
// orderNumber: order.orderNumber,
|
|
55
|
-
// price: order.price,
|
|
56
|
-
// priceCurrency: order.priceCurrency,
|
|
57
|
-
// orderDate: order.orderDate
|
|
58
|
-
// };
|
|
53
|
+
emailMessagesOnReturnEachPaymentMethodId.push(emailMessage);
|
|
59
54
|
sendEmailMessageOnRefund.push({
|
|
60
55
|
// project: order.project, // discontinue(2024-06-26~)
|
|
61
56
|
// typeOf: factory.actionType.SendAction, // discontinue(2024-06-26~)
|
|
62
|
-
object
|
|
57
|
+
// standardize object(2024-06-27~)
|
|
58
|
+
// object: emailMessage
|
|
59
|
+
object: {
|
|
60
|
+
identifier: emailMessage.identifier,
|
|
61
|
+
typeOf: factory.creativeWorkType.EmailMessage
|
|
62
|
+
}
|
|
63
63
|
// agent: order.project, // discontinue(2024-06-26~)
|
|
64
64
|
// recipient: { // discontinue(2024-06-26~)
|
|
65
65
|
// typeOf: order.customer.typeOf,
|
|
@@ -70,13 +70,16 @@ function createReturnInvoicePotentialActions(params) {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
return {
|
|
73
|
-
|
|
73
|
+
emailMessagesOnReturnEachPaymentMethodId,
|
|
74
|
+
potentialActionsOnRefund: {
|
|
75
|
+
sendEmailMessage: sendEmailMessageOnRefund
|
|
76
|
+
}
|
|
74
77
|
};
|
|
75
78
|
});
|
|
76
79
|
}
|
|
77
80
|
function createReturnPaymentMethodActions(params) {
|
|
78
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
|
|
82
|
+
const emailMessagesOnReturnInvoice = [];
|
|
80
83
|
const potentialReturnInvoiceActions = [];
|
|
81
84
|
// const returnPaymentMethodPurpose: factory.order.ISimpleOrder = {
|
|
82
85
|
// typeOf: order.typeOf,
|
|
@@ -97,9 +100,10 @@ function createReturnPaymentMethodActions(params) {
|
|
|
97
100
|
return paymentMethod.issuedThrough.typeOf !== factory.service.paymentService.PaymentServiceType.MovieTicket;
|
|
98
101
|
})
|
|
99
102
|
.map((referencedInvoice) => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
-
const potentialActionsOnRefund = yield createReturnInvoicePotentialActions(Object.assign({ paymentMethod: { paymentMethodId: referencedInvoice.paymentMethodId }, order: params.order }, (params.returnOrderActionParams !== undefined)
|
|
103
|
+
const { emailMessagesOnReturnEachPaymentMethodId, potentialActionsOnRefund } = yield createReturnInvoicePotentialActions(Object.assign({ paymentMethod: { paymentMethodId: referencedInvoice.paymentMethodId }, order: params.order }, (params.returnOrderActionParams !== undefined)
|
|
101
104
|
? { returnOrderActionParams: params.returnOrderActionParams }
|
|
102
105
|
: undefined));
|
|
106
|
+
emailMessagesOnReturnInvoice.push(...emailMessagesOnReturnEachPaymentMethodId);
|
|
103
107
|
const { paymentStatus } = referencedInvoice, referencedInvoiceAsObject = __rest(referencedInvoice, ["paymentStatus"]);
|
|
104
108
|
const object = Object.assign(Object.assign({}, referencedInvoiceAsObject), { typeOf: 'Invoice' });
|
|
105
109
|
// optimize(2024-06-19~)
|
|
@@ -119,20 +123,22 @@ function createReturnPaymentMethodActions(params) {
|
|
|
119
123
|
// };
|
|
120
124
|
}))));
|
|
121
125
|
}
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
// 決済カード決済について
|
|
127
|
+
const { emailMessagesOnReturnMovieTicket, returnMovieTicketActions } = yield createReturnPaymentMethodIssuedThroughMovieTicketActions(params);
|
|
128
|
+
emailMessagesOnReturnInvoice.push(...emailMessagesOnReturnMovieTicket);
|
|
129
|
+
potentialReturnInvoiceActions.push(...returnMovieTicketActions);
|
|
130
|
+
return { emailMessagesOnReturnInvoice, returnPaymentMethodActions: potentialReturnInvoiceActions };
|
|
125
131
|
});
|
|
126
132
|
}
|
|
127
133
|
exports.createReturnPaymentMethodActions = createReturnPaymentMethodActions;
|
|
128
134
|
/**
|
|
129
|
-
*
|
|
135
|
+
* 決済カード決済の返却アクションを生成する
|
|
130
136
|
*/
|
|
131
137
|
function createReturnPaymentMethodIssuedThroughMovieTicketActions(params) {
|
|
132
138
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
// const order = params.order;
|
|
134
139
|
const returnFeesMovieTicketByTransaction = params.transaction.object.returnPolicy.returnFeesMovieTicket;
|
|
135
|
-
|
|
140
|
+
const emailMessagesOnReturnMovieTicket = [];
|
|
141
|
+
const returnMovieTicketActions = yield Promise.all(params.order.paymentMethods
|
|
136
142
|
.filter((invoice) => {
|
|
137
143
|
return invoice.issuedThrough.typeOf === factory.service.paymentService.PaymentServiceType.MovieTicket;
|
|
138
144
|
})
|
|
@@ -167,9 +173,10 @@ function createReturnPaymentMethodIssuedThroughMovieTicketActions(params) {
|
|
|
167
173
|
return returnPaymentMethod;
|
|
168
174
|
})
|
|
169
175
|
.map((referencedInvoice) => __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
const potentialActionsOnRefund = yield createReturnInvoicePotentialActions(Object.assign({ paymentMethod: { paymentMethodId: referencedInvoice.paymentMethodId }, order: params.order }, (params.returnOrderActionParams !== undefined)
|
|
176
|
+
const { emailMessagesOnReturnEachPaymentMethodId, potentialActionsOnRefund } = yield createReturnInvoicePotentialActions(Object.assign({ paymentMethod: { paymentMethodId: referencedInvoice.paymentMethodId }, order: params.order }, (params.returnOrderActionParams !== undefined)
|
|
171
177
|
? { returnOrderActionParams: params.returnOrderActionParams }
|
|
172
178
|
: undefined));
|
|
179
|
+
emailMessagesOnReturnMovieTicket.push(...emailMessagesOnReturnEachPaymentMethodId);
|
|
173
180
|
const { paymentStatus } = referencedInvoice, referencedInvoiceAsObject = __rest(referencedInvoice, ["paymentStatus"]);
|
|
174
181
|
const object = Object.assign(Object.assign({}, referencedInvoiceAsObject), { typeOf: 'Invoice' });
|
|
175
182
|
// optimize(2024-06-19~)
|
|
@@ -194,5 +201,9 @@ function createReturnPaymentMethodIssuedThroughMovieTicketActions(params) {
|
|
|
194
201
|
// potentialActions: potentialActionsOnRefund
|
|
195
202
|
// };
|
|
196
203
|
})));
|
|
204
|
+
return {
|
|
205
|
+
emailMessagesOnReturnMovieTicket,
|
|
206
|
+
returnMovieTicketActions
|
|
207
|
+
};
|
|
197
208
|
});
|
|
198
209
|
}
|
|
@@ -4,5 +4,8 @@ export declare function createSendEmailMessaegActionsOnReturn(params: {
|
|
|
4
4
|
order: factory.order.IOrder;
|
|
5
5
|
returnOrderActionParams?: factory.transaction.returnOrder.IReturnOrderActionParams;
|
|
6
6
|
emailMessageOnOrderReturned?: factory.creativeWork.message.email.ICreativeWork;
|
|
7
|
-
}): Promise<
|
|
7
|
+
}): Promise<{
|
|
8
|
+
emailMessagesOnReturn: factory.action.transfer.send.message.email.IObjectAsEmailMessage[];
|
|
9
|
+
sendEmailMessaegActionsOnReturn: IPotentialSendEmailMessageAction[];
|
|
10
|
+
}>;
|
|
8
11
|
export {};
|
|
@@ -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.createSendEmailMessaegActionsOnReturn = void 0;
|
|
13
13
|
const emailMessageBuilder = require("../../../../emailMessageBuilder");
|
|
14
|
+
const factory = require("../../../../factory");
|
|
14
15
|
function createSendEmailMessaegActionsOnReturn(params) {
|
|
15
16
|
var _a, _b;
|
|
16
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -23,17 +24,25 @@ function createSendEmailMessaegActionsOnReturn(params) {
|
|
|
23
24
|
// orderDate: order.orderDate
|
|
24
25
|
// };
|
|
25
26
|
// 返品後のEメール送信アクション
|
|
27
|
+
const emailMessagesOnReturn = [];
|
|
26
28
|
const sendEmailMessaegActionsOnReturn = [];
|
|
27
29
|
const sendEmailMessage = (_b = (_a = params.returnOrderActionParams) === null || _a === void 0 ? void 0 : _a.potentialActions) === null || _b === void 0 ? void 0 : _b.sendEmailMessage;
|
|
28
30
|
if (Array.isArray(sendEmailMessage)) {
|
|
29
|
-
sendEmailMessaegActionsOnReturn.push(...yield Promise.all(sendEmailMessage.map((sendEmailMessageParams) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const emailMessage = yield emailMessageBuilder.createReturnOrderMessage(Object.assign(Object.assign({ order
|
|
31
|
+
sendEmailMessaegActionsOnReturn.push(...yield Promise.all(sendEmailMessage.map((sendEmailMessageParams, index) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const emailMessage = yield emailMessageBuilder.createReturnOrderMessage(Object.assign(Object.assign({ order,
|
|
33
|
+
index }, (sendEmailMessageParams.object !== undefined) ? { email: sendEmailMessageParams.object } : undefined), (params.emailMessageOnOrderReturned !== undefined)
|
|
31
34
|
? { emailMessage: params.emailMessageOnOrderReturned }
|
|
32
35
|
: undefined));
|
|
36
|
+
emailMessagesOnReturn.push(emailMessage);
|
|
33
37
|
return {
|
|
34
38
|
// project: order.project, // optimize(2024-06-25~)
|
|
35
39
|
// typeOf: factory.actionType.SendAction, // optimize(2024-06-25~)
|
|
36
|
-
object
|
|
40
|
+
// standardize object(2024-06-27~)
|
|
41
|
+
// object: emailMessage
|
|
42
|
+
object: {
|
|
43
|
+
identifier: emailMessage.identifier,
|
|
44
|
+
typeOf: factory.creativeWorkType.EmailMessage
|
|
45
|
+
}
|
|
37
46
|
// agent: order.project, // optimize(2024-06-25~)
|
|
38
47
|
// recipient: { typeOf: order.customer.typeOf, id: order.customer.id }, // optimize(2024-06-25~)
|
|
39
48
|
// potentialActions: {} // optimize(2024-06-25~)
|
|
@@ -41,7 +50,7 @@ function createSendEmailMessaegActionsOnReturn(params) {
|
|
|
41
50
|
};
|
|
42
51
|
}))));
|
|
43
52
|
}
|
|
44
|
-
return sendEmailMessaegActionsOnReturn;
|
|
53
|
+
return { emailMessagesOnReturn, sendEmailMessaegActionsOnReturn };
|
|
45
54
|
});
|
|
46
55
|
}
|
|
47
56
|
exports.createSendEmailMessaegActionsOnReturn = createSendEmailMessaegActionsOnReturn;
|
|
@@ -9,4 +9,7 @@ export declare function createPotentialActions(params: {
|
|
|
9
9
|
potentialActions?: factory.transaction.returnOrder.IPotentialActionsParams;
|
|
10
10
|
transaction: Pick<factory.transaction.returnOrder.ITransaction, 'agent' | 'object'>;
|
|
11
11
|
emailMessageOnOrderReturned?: factory.creativeWork.message.email.ICreativeWork;
|
|
12
|
-
}): Promise<
|
|
12
|
+
}): Promise<{
|
|
13
|
+
emailMessages: factory.action.transfer.send.message.email.IObjectAsEmailMessage[];
|
|
14
|
+
potentialActions: factory.transaction.returnOrder.IPotentialActions;
|
|
15
|
+
}>;
|
|
@@ -22,6 +22,7 @@ const sendEmailMessage_1 = require("./potentialActions/sendEmailMessage");
|
|
|
22
22
|
function createPotentialActions(params) {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
let returnOrderActions = [];
|
|
25
|
+
const emailMessages = [];
|
|
25
26
|
returnOrderActions = yield Promise.all(params.orders.map((order) => __awaiter(this, void 0, void 0, function* () {
|
|
26
27
|
var _a, _b;
|
|
27
28
|
let returnOrderParams = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.returnOrder;
|
|
@@ -31,7 +32,8 @@ function createPotentialActions(params) {
|
|
|
31
32
|
}
|
|
32
33
|
const returnOrderActionParams = returnOrderParams === null || returnOrderParams === void 0 ? void 0 : returnOrderParams.find((p) => { var _a; return ((_a = p.object) === null || _a === void 0 ? void 0 : _a.orderNumber) === order.orderNumber; });
|
|
33
34
|
// 決済返却アクション
|
|
34
|
-
const returnPaymentMethodActions = yield (0, returnPaymentMethod_1.createReturnPaymentMethodActions)(Object.assign(Object.assign(Object.assign({}, params), { order }), (returnOrderActionParams !== undefined) ? { returnOrderActionParams } : undefined));
|
|
35
|
+
const { emailMessagesOnReturnInvoice, returnPaymentMethodActions } = yield (0, returnPaymentMethod_1.createReturnPaymentMethodActions)(Object.assign(Object.assign(Object.assign({}, params), { order }), (returnOrderActionParams !== undefined) ? { returnOrderActionParams } : undefined));
|
|
36
|
+
emailMessages.push(...emailMessagesOnReturnInvoice);
|
|
35
37
|
// ポイント特典の数だけ、返却アクションを作成
|
|
36
38
|
const returnPointAwardActions = yield (0, returnPointAward_1.createReturnPointAwardActions)(Object.assign(Object.assign({}, params), { order }));
|
|
37
39
|
// onOrderReturnedで生成へ移行(2024-02-04~)
|
|
@@ -41,7 +43,8 @@ function createPotentialActions(params) {
|
|
|
41
43
|
// moneyTransferAcceptedOffers: params.moneyTransferAcceptedOffers
|
|
42
44
|
// });
|
|
43
45
|
// 返品後のEメール送信アクション
|
|
44
|
-
const sendEmailMessaegActionsOnReturn = yield (0, sendEmailMessage_1.createSendEmailMessaegActionsOnReturn)(Object.assign(Object.assign(Object.assign({}, params), { order }), (returnOrderActionParams !== undefined) ? { returnOrderActionParams } : undefined));
|
|
46
|
+
const { emailMessagesOnReturn, sendEmailMessaegActionsOnReturn } = yield (0, sendEmailMessage_1.createSendEmailMessaegActionsOnReturn)(Object.assign(Object.assign(Object.assign({}, params), { order }), (returnOrderActionParams !== undefined) ? { returnOrderActionParams } : undefined));
|
|
47
|
+
emailMessages.push(...emailMessagesOnReturn);
|
|
45
48
|
const potentialActionsOnReturnOrder = {
|
|
46
49
|
returnPaymentMethod: returnPaymentMethodActions,
|
|
47
50
|
// returnMoneyTransfer: returnMoneyTransferActions, // onOrderReturnedで生成へ移行(2024-02-04~)
|
|
@@ -83,7 +86,10 @@ function createPotentialActions(params) {
|
|
|
83
86
|
};
|
|
84
87
|
})));
|
|
85
88
|
return {
|
|
86
|
-
|
|
89
|
+
emailMessages,
|
|
90
|
+
potentialActions: {
|
|
91
|
+
returnOrder: returnOrderActions
|
|
92
|
+
}
|
|
87
93
|
};
|
|
88
94
|
});
|
|
89
95
|
}
|
|
@@ -3,6 +3,7 @@ import type { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOf
|
|
|
3
3
|
import type { MongoRepository as EmailMessageRepo } from '../../repo/emailMessage';
|
|
4
4
|
import type { MongoRepository as EventRepo } from '../../repo/event';
|
|
5
5
|
import type { MongoRepository as MerchantReturnPolicyRepo } from '../../repo/merchantReturnPolicy';
|
|
6
|
+
import type { MessageRepo } from '../../repo/message';
|
|
6
7
|
import type { MongoRepository as OfferRepo } from '../../repo/offer';
|
|
7
8
|
import type { MongoRepository as OfferItemConditionRepo } from '../../repo/offerItemCondition';
|
|
8
9
|
import type { MongoRepository as OrderRepo } from '../../repo/order';
|
|
@@ -45,6 +46,7 @@ declare function confirm(params: factory.transaction.returnOrder.IConfirmParams
|
|
|
45
46
|
}): (repos: {
|
|
46
47
|
acceptedOffer: AcceptedOfferRepo;
|
|
47
48
|
emailMessage?: EmailMessageRepo;
|
|
49
|
+
message: MessageRepo;
|
|
48
50
|
order: OrderRepo;
|
|
49
51
|
transaction: TransactionRepo;
|
|
50
52
|
}) => Promise<any>;
|
|
@@ -13,7 +13,7 @@ exports.exportTasksById = exports.confirm = exports.start = exports.preStart = v
|
|
|
13
13
|
/**
|
|
14
14
|
* 返品取引サービス
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
const createDebug = require("debug");
|
|
17
17
|
const moment = require("moment-timezone");
|
|
18
18
|
const factory = require("../../factory");
|
|
19
19
|
const factory_1 = require("./returnOrder/exportTasks/factory");
|
|
@@ -21,7 +21,7 @@ const potentialActions_1 = require("./returnOrder/potentialActions");
|
|
|
21
21
|
const preStart_1 = require("./returnOrder/preStart");
|
|
22
22
|
Object.defineProperty(exports, "preStart", { enumerable: true, get: function () { return preStart_1.preStart; } });
|
|
23
23
|
const errorHandler_1 = require("../../errorHandler");
|
|
24
|
-
|
|
24
|
+
const debug = createDebug('chevre-domain:service:transaction');
|
|
25
25
|
/**
|
|
26
26
|
* 返品取引開始
|
|
27
27
|
*/
|
|
@@ -59,6 +59,24 @@ function start(params) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
exports.start = start;
|
|
62
|
+
function saveMessagesIfNeeded(params) {
|
|
63
|
+
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const { project, order, emailMessages, seller } = params;
|
|
65
|
+
if (emailMessages.length > 0) {
|
|
66
|
+
const { orderNumber } = order;
|
|
67
|
+
debug('saving', emailMessages.length, 'messages...', JSON.stringify(emailMessages));
|
|
68
|
+
const saveMessageResult = yield repos.message.upsertByIdentifier(emailMessages.map(({ identifier, name, about, text, toRecipient, sender }) => {
|
|
69
|
+
return {
|
|
70
|
+
identifier, name, about, text, toRecipient, sender,
|
|
71
|
+
project: { id: project.id, typeOf: factory.organizationType.Project },
|
|
72
|
+
provider: { id: seller.id, typeOf: factory.organizationType.Corporation },
|
|
73
|
+
mainEntity: { orderNumber, typeOf: factory.order.OrderType.Order }
|
|
74
|
+
};
|
|
75
|
+
}));
|
|
76
|
+
debug(emailMessages.length, 'messages saved.', saveMessageResult);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
62
80
|
/**
|
|
63
81
|
* 取引確定
|
|
64
82
|
*/
|
|
@@ -83,7 +101,6 @@ function confirm(params) {
|
|
|
83
101
|
if (transaction.object.order.length !== 1) {
|
|
84
102
|
throw new factory.errors.Argument('object.order', 'number of orders must be 1');
|
|
85
103
|
}
|
|
86
|
-
// 注文数を1に限定であれば、findByConfirmationNumberに変更できる(2022-04-28~)
|
|
87
104
|
const orders = yield repos.order.search({
|
|
88
105
|
limit: 1,
|
|
89
106
|
page: 1,
|
|
@@ -105,7 +122,12 @@ function confirm(params) {
|
|
|
105
122
|
emailMessageOnOrderReturned = searchEmailMessagesResult.shift();
|
|
106
123
|
}
|
|
107
124
|
const result = {};
|
|
108
|
-
const potentialActions = yield (0, potentialActions_1.createPotentialActions)(Object.assign(Object.assign({ dateReturned: params.object.order.dateReturned, orders: orders, transaction: transaction }, (params.potentialActions !== undefined) ? { potentialActions: params.potentialActions } : undefined), (emailMessageOnOrderReturned !== undefined) ? { emailMessageOnOrderReturned } : undefined));
|
|
125
|
+
const { emailMessages, potentialActions } = yield (0, potentialActions_1.createPotentialActions)(Object.assign(Object.assign({ dateReturned: params.object.order.dateReturned, orders: orders, transaction: transaction }, (params.potentialActions !== undefined) ? { potentialActions: params.potentialActions } : undefined), (emailMessageOnOrderReturned !== undefined) ? { emailMessageOnOrderReturned } : undefined));
|
|
126
|
+
// save messages(2024-06-27~)
|
|
127
|
+
yield saveMessagesIfNeeded({
|
|
128
|
+
project: { id: transaction.project.id },
|
|
129
|
+
order: { orderNumber: orders[0].orderNumber }, seller: { id: orders[0].seller.id }, emailMessages
|
|
130
|
+
})(repos);
|
|
109
131
|
// ステータス変更
|
|
110
132
|
yield repos.transaction.confirm({
|
|
111
133
|
typeOf: transaction.typeOf,
|
package/package.json
CHANGED