@chevre/domain 25.0.0-alpha.2 → 25.0.0-alpha.21
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 +10 -4
- package/lib/chevre/emailMessageBuilder.js +48 -73
- package/lib/chevre/repo/acceptedOffer.d.ts +1 -5
- package/lib/chevre/repo/acceptedOffer.js +5 -5
- package/lib/chevre/repo/acceptedOfferInReserve.d.ts +1 -5
- package/lib/chevre/repo/acceptedOfferInReserve.js +4 -4
- package/lib/chevre/repo/emailMessage.d.ts +18 -9
- package/lib/chevre/repo/emailMessage.js +26 -36
- package/lib/chevre/repo/factory/acceptedOffer/reserveTransaction2itemOffered.d.ts +1 -3
- package/lib/chevre/repo/factory/acceptedOffer/reserveTransaction2itemOffered.js +2 -3
- package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +9 -1
- package/lib/chevre/repo/mongoose/schemas/emailMessages.js +5 -20
- package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -0
- package/lib/chevre/repo/mongoose/schemas/order.js +11 -110
- package/lib/chevre/repo/mongoose/schemas/setting.d.ts +0 -6
- package/lib/chevre/repo/order.d.ts +3 -7
- package/lib/chevre/repo/order.js +56 -26
- package/lib/chevre/repo/orderInTransaction.d.ts +50 -33
- package/lib/chevre/repo/orderInTransaction.js +109 -73
- package/lib/chevre/repo/orderNumber.d.ts +4 -0
- package/lib/chevre/repo/orderNumber.js +32 -60
- package/lib/chevre/repo/passport.d.ts +5 -2
- package/lib/chevre/repo/task.d.ts +1 -1
- package/lib/chevre/repo/transaction/placeOrder.d.ts +1 -6
- package/lib/chevre/repo/transaction/placeOrder.js +37 -26
- package/lib/chevre/repo/transaction.d.ts +6 -2
- package/lib/chevre/repo/transaction.js +6 -2
- package/lib/chevre/service/assetTransaction/reserve/start.d.ts +0 -2
- package/lib/chevre/service/offer/any.d.ts +3 -8
- package/lib/chevre/service/offer/any.js +7 -6
- package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +0 -2
- package/lib/chevre/service/offer/event/authorize.d.ts +0 -4
- package/lib/chevre/service/offer/event/authorize.js +5 -6
- package/lib/chevre/service/offer/event/voidTransaction.js +29 -17
- package/lib/chevre/service/offer/event/voidTransactionByActionId.js +16 -12
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +0 -6
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +10 -12
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +1 -1
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +7 -7
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +21 -17
- package/lib/chevre/service/order/deleteOrder.d.ts +6 -10
- package/lib/chevre/service/order/deleteOrder.js +8 -49
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.d.ts +4 -1
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +1 -26
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
- package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +3 -2
- package/lib/chevre/service/order/placeOrder/factory.d.ts +1 -1
- package/lib/chevre/service/order/placeOrder/factory.js +10 -8
- package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.d.ts +1 -3
- package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -15
- package/lib/chevre/service/order/placeOrder.js +6 -6
- package/lib/chevre/service/order.d.ts +1 -2
- package/lib/chevre/service/order.js +1 -5
- package/lib/chevre/service/payment/any/authorize/fixOrderAsNeeded.d.ts +2 -4
- package/lib/chevre/service/payment/any/authorize/fixOrderAsNeeded.js +4 -6
- package/lib/chevre/service/payment/any/authorize.d.ts +2 -0
- package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +0 -4
- package/lib/chevre/service/payment/any/publishPaymentUrl.js +5 -8
- package/lib/chevre/service/reserve/findByCode.js +1 -1
- package/lib/chevre/service/reserve/searchByOrder.js +1 -1
- package/lib/chevre/service/task/acceptCOAOffer.js +8 -10
- package/lib/chevre/service/task/authorizePayment.js +2 -6
- package/lib/chevre/service/task/confirmReserveTransaction.js +1 -1
- package/lib/chevre/service/task/deleteTransaction.js +0 -8
- package/lib/chevre/service/task/payment/payByTask.js +1 -1
- package/lib/chevre/service/task/publishPaymentUrl.js +6 -9
- package/lib/chevre/service/taskHandler.js +0 -1
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +8 -14
- package/lib/chevre/service/transaction/deleteTransaction.js +11 -117
- package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.d.ts +7 -2
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +3 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +8 -23
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +3 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +1 -6
- package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -7
- package/lib/chevre/service/transaction/placeOrder/confirm.js +42 -36
- package/lib/chevre/service/transaction/placeOrder/issueOrderNumberIfNotExist.d.ts +5 -0
- package/lib/chevre/service/transaction/placeOrder/issueOrderNumberIfNotExist.js +37 -23
- package/lib/chevre/service/transaction/placeOrder/start/factory.d.ts +19 -4
- package/lib/chevre/service/transaction/placeOrder/start/factory.js +23 -12
- package/lib/chevre/service/transaction/placeOrder/start.d.ts +9 -4
- package/lib/chevre/service/transaction/placeOrder/start.js +18 -1
- package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +0 -4
- package/lib/chevre/service/transaction/placeOrder/updateAgent.js +20 -22
- package/lib/chevre/service/transaction/placeOrder.d.ts +1 -2
- package/lib/chevre/service/transaction/placeOrder.js +1 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +2 -37
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.d.ts +2 -2
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +3 -18
- package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +0 -1
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +0 -4
- package/lib/chevre/service/transaction/returnOrder/preStart.js +1 -1
- package/lib/chevre/service/transaction/returnOrder.d.ts +0 -2
- package/lib/chevre/service/transaction/returnOrder.js +13 -12
- package/lib/chevre/service/validation/validateOrder.js +1 -1
- package/lib/chevre/service.d.ts +0 -2
- package/lib/chevre/service.js +0 -2
- package/package.json +2 -2
- package/lib/chevre/factory/order.d.ts +0 -2
- package/lib/chevre/factory/order.js +0 -5
- package/lib/chevre/service/order/placeOrderWithoutTransaction.d.ts +0 -22
- package/lib/chevre/service/order/placeOrderWithoutTransaction.js +0 -51
- package/lib/chevre/service/task/deletePerson.d.ts +0 -6
- package/lib/chevre/service/task/deletePerson.js +0 -465
|
@@ -3,6 +3,10 @@ import { IVirtuals } from '../virtuals';
|
|
|
3
3
|
import { factory } from '../../../factory';
|
|
4
4
|
type IDocType = Omit<factory.order.IOrder, 'id'> & {
|
|
5
5
|
acceptedOffers?: factory.order.IAcceptedOffer[];
|
|
6
|
+
/**
|
|
7
|
+
* 注文取引IDとして再定義(2026-06-22~)
|
|
8
|
+
*/
|
|
9
|
+
identifier?: string;
|
|
6
10
|
};
|
|
7
11
|
type IModel = Model<IDocType, Record<string, never>, Record<string, never>, IVirtuals>;
|
|
8
12
|
type ISchemaDefinition = SchemaDefinition<IDocType>;
|
|
@@ -12,7 +12,7 @@ const schemaDefinition = {
|
|
|
12
12
|
project: { type: mongoose_1.SchemaTypes.Mixed, required: true },
|
|
13
13
|
typeOf: { type: String, required: true },
|
|
14
14
|
name: String,
|
|
15
|
-
seller: mongoose_1.SchemaTypes.Mixed,
|
|
15
|
+
seller: { type: mongoose_1.SchemaTypes.Mixed, required: true },
|
|
16
16
|
customer: mongoose_1.SchemaTypes.Mixed,
|
|
17
17
|
returner: mongoose_1.SchemaTypes.Mixed,
|
|
18
18
|
confirmationNumber: String,
|
|
@@ -25,7 +25,8 @@ const schemaDefinition = {
|
|
|
25
25
|
previousOrderStatus: String,
|
|
26
26
|
orderDate: { type: Date, required: true },
|
|
27
27
|
dateReturned: Date,
|
|
28
|
-
orderedItem: [mongoose_1.SchemaTypes.Mixed]
|
|
28
|
+
orderedItem: [mongoose_1.SchemaTypes.Mixed],
|
|
29
|
+
identifier: { type: String, required: true }, // 注文取引IDとして再定義(2026-06-22~)
|
|
29
30
|
// 以下廃止(2026-06-13~)
|
|
30
31
|
// identifier: SchemaTypes.Mixed, // 廃止するためにMixed化(2026-06-12~)
|
|
31
32
|
// isGift: Boolean,
|
|
@@ -60,15 +61,14 @@ const indexes = [
|
|
|
60
61
|
{ 'project.id': 1, orderDate: -1 },
|
|
61
62
|
{ name: 'searchByProjectId-v20220721' }
|
|
62
63
|
],
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// ],
|
|
64
|
+
[
|
|
65
|
+
// 注文取引IDはユニークなはず
|
|
66
|
+
{ identifier: 1 },
|
|
67
|
+
{
|
|
68
|
+
unique: true,
|
|
69
|
+
name: 'uniqueIdentifier'
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
72
|
[
|
|
73
73
|
// 注文番号はユニークなはず
|
|
74
74
|
{ orderNumber: 1 },
|
|
@@ -77,15 +77,6 @@ const indexes = [
|
|
|
77
77
|
name: 'uniqueOrderNumber'
|
|
78
78
|
}
|
|
79
79
|
],
|
|
80
|
-
// [
|
|
81
|
-
// { 'seller.typeOf': 1, orderDate: -1 },
|
|
82
|
-
// {
|
|
83
|
-
// name: 'searchBySellerTypeOf',
|
|
84
|
-
// partialFilterExpression: {
|
|
85
|
-
// 'seller.typeOf': { $exists: true }
|
|
86
|
-
// }
|
|
87
|
-
// }
|
|
88
|
-
// ],
|
|
89
80
|
[
|
|
90
81
|
{ 'seller.id': 1, orderDate: -1 },
|
|
91
82
|
{
|
|
@@ -152,24 +143,6 @@ const indexes = [
|
|
|
152
143
|
}
|
|
153
144
|
}
|
|
154
145
|
],
|
|
155
|
-
// [
|
|
156
|
-
// { 'customer.additionalProperty': 1, orderDate: -1 },
|
|
157
|
-
// {
|
|
158
|
-
// name: 'searchByCustomerAdditionalProperty',
|
|
159
|
-
// partialFilterExpression: {
|
|
160
|
-
// 'customer.additionalProperty': { $exists: true }
|
|
161
|
-
// }
|
|
162
|
-
// }
|
|
163
|
-
// ],
|
|
164
|
-
// [
|
|
165
|
-
// { 'customer.memberOf.membershipNumber': 1, orderDate: -1 },
|
|
166
|
-
// {
|
|
167
|
-
// name: 'searchByCustomerMemberhipNumberAndOrderDate',
|
|
168
|
-
// partialFilterExpression: {
|
|
169
|
-
// 'customer.memberOf.membershipNumber': { $exists: true }
|
|
170
|
-
// }
|
|
171
|
-
// }
|
|
172
|
-
// ],
|
|
173
146
|
[
|
|
174
147
|
{ 'customer.givenName': 1, orderDate: -1 },
|
|
175
148
|
{
|
|
@@ -233,15 +206,6 @@ const indexes = [
|
|
|
233
206
|
}
|
|
234
207
|
}
|
|
235
208
|
],
|
|
236
|
-
// [
|
|
237
|
-
// { 'paymentMethods.typeOf': 1, orderDate: -1 },
|
|
238
|
-
// {
|
|
239
|
-
// name: 'searchByPaymentMethodTypeAndOrderDate',
|
|
240
|
-
// partialFilterExpression: {
|
|
241
|
-
// 'paymentMethods.typeOf': { $exists: true }
|
|
242
|
-
// }
|
|
243
|
-
// }
|
|
244
|
-
// ],
|
|
245
209
|
[
|
|
246
210
|
{ 'paymentMethods.paymentMethod.identifier': 1, orderDate: -1 },
|
|
247
211
|
{
|
|
@@ -269,15 +233,6 @@ const indexes = [
|
|
|
269
233
|
}
|
|
270
234
|
}
|
|
271
235
|
],
|
|
272
|
-
// [
|
|
273
|
-
// { 'acceptedOffers.itemOffered.identifier': 1, orderDate: -1 },
|
|
274
|
-
// {
|
|
275
|
-
// name: 'searchByItemOfferedIdentifier',
|
|
276
|
-
// partialFilterExpression: {
|
|
277
|
-
// 'acceptedOffers.itemOffered.identifier': { $exists: true }
|
|
278
|
-
// }
|
|
279
|
-
// }
|
|
280
|
-
// ],
|
|
281
236
|
[
|
|
282
237
|
{ 'acceptedOffers.itemOffered.id': 1, orderDate: -1 },
|
|
283
238
|
{
|
|
@@ -287,42 +242,6 @@ const indexes = [
|
|
|
287
242
|
}
|
|
288
243
|
}
|
|
289
244
|
],
|
|
290
|
-
// [
|
|
291
|
-
// { 'acceptedOffers.itemOffered.issuedThrough.typeOf': 1, orderDate: -1 },
|
|
292
|
-
// {
|
|
293
|
-
// name: 'searchByItemOfferedIssuedThroughTypeOf',
|
|
294
|
-
// partialFilterExpression: {
|
|
295
|
-
// 'acceptedOffers.itemOffered.issuedThrough.typeOf': { $exists: true }
|
|
296
|
-
// }
|
|
297
|
-
// }
|
|
298
|
-
// ],
|
|
299
|
-
// [
|
|
300
|
-
// { 'acceptedOffers.itemOffered.issuedThrough.id': 1, orderDate: -1 },
|
|
301
|
-
// {
|
|
302
|
-
// name: 'searchByItemOfferedIssuedThroughId',
|
|
303
|
-
// partialFilterExpression: {
|
|
304
|
-
// 'acceptedOffers.itemOffered.issuedThrough.id': { $exists: true }
|
|
305
|
-
// }
|
|
306
|
-
// }
|
|
307
|
-
// ],
|
|
308
|
-
// [
|
|
309
|
-
// { 'acceptedOffers.itemOffered.programMembershipUsed.identifier': 1, orderDate: -1 },
|
|
310
|
-
// {
|
|
311
|
-
// name: 'searchByItemOfferedProgramMembershipUsedIdentifier',
|
|
312
|
-
// partialFilterExpression: {
|
|
313
|
-
// 'acceptedOffers.itemOffered.programMembershipUsed.identifier': { $exists: true }
|
|
314
|
-
// }
|
|
315
|
-
// }
|
|
316
|
-
// ],
|
|
317
|
-
// [
|
|
318
|
-
// { 'acceptedOffers.itemOffered.programMembershipUsed.issuedThrough.serviceType.codeValue': 1, orderDate: -1 },
|
|
319
|
-
// {
|
|
320
|
-
// name: 'searchByItemOfferedMembershipUsedServiceType',
|
|
321
|
-
// partialFilterExpression: {
|
|
322
|
-
// 'acceptedOffers.itemOffered.programMembershipUsed.issuedThrough.serviceType.codeValue': { $exists: true }
|
|
323
|
-
// }
|
|
324
|
-
// }
|
|
325
|
-
// ],
|
|
326
245
|
[
|
|
327
246
|
{ 'acceptedOffers.itemOffered.reservationNumber': 1, orderDate: -1 },
|
|
328
247
|
{
|
|
@@ -341,24 +260,6 @@ const indexes = [
|
|
|
341
260
|
}
|
|
342
261
|
}
|
|
343
262
|
],
|
|
344
|
-
// [
|
|
345
|
-
// { 'acceptedOffers.itemOffered.reservationFor.identifier': 1, orderDate: -1 },
|
|
346
|
-
// {
|
|
347
|
-
// name: 'searchByItemOfferedReservationForIdentifierAndOrderDate',
|
|
348
|
-
// partialFilterExpression: {
|
|
349
|
-
// 'acceptedOffers.itemOffered.reservationFor.identifier': { $exists: true }
|
|
350
|
-
// }
|
|
351
|
-
// }
|
|
352
|
-
// ],
|
|
353
|
-
// [
|
|
354
|
-
// { 'acceptedOffers.itemOffered.reservationFor.name': 1, orderDate: -1 },
|
|
355
|
-
// {
|
|
356
|
-
// name: 'searchByItemOfferedReservationForNameAndOrderDate',
|
|
357
|
-
// partialFilterExpression: {
|
|
358
|
-
// 'acceptedOffers.itemOffered.reservationFor.name': { $exists: true }
|
|
359
|
-
// }
|
|
360
|
-
// }
|
|
361
|
-
// ],
|
|
362
263
|
[
|
|
363
264
|
{ 'acceptedOffers.itemOffered.reservationFor.endDate': 1, orderDate: -1 },
|
|
364
265
|
{
|
|
@@ -111,7 +111,6 @@ export interface IJWTSetting {
|
|
|
111
111
|
algorithm: Algorithm;
|
|
112
112
|
}
|
|
113
113
|
export interface IOrderNumberSetting {
|
|
114
|
-
validFrom: Date;
|
|
115
114
|
/**
|
|
116
115
|
* fpe暗号鍵
|
|
117
116
|
*/
|
|
@@ -120,11 +119,6 @@ export interface IOrderNumberSetting {
|
|
|
120
119
|
* "A"
|
|
121
120
|
*/
|
|
122
121
|
version: string;
|
|
123
|
-
versioningForceProjects?: string[];
|
|
124
|
-
/**
|
|
125
|
-
* 強制的にバージョニング不使用のプロジェクト
|
|
126
|
-
*/
|
|
127
|
-
versioningExceptionProjects?: string[];
|
|
128
122
|
}
|
|
129
123
|
export interface ITransactionNumberSetting {
|
|
130
124
|
validFrom: Date;
|
|
@@ -26,7 +26,7 @@ interface IAggregateOrder {
|
|
|
26
26
|
export type IOrderOnStatusChanged = Pick<IOrderWithoutAcceptedOffers & {
|
|
27
27
|
id: string;
|
|
28
28
|
}, 'id' | 'orderNumber' | 'broker' | 'confirmationNumber' | 'customer' | 'dateReturned' | 'name' | 'orderDate' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'previousOrderStatus' | 'price' | 'priceCurrency' | 'project' | 'returner' | 'seller' | 'typeOf'>;
|
|
29
|
-
type ISearchConditions = Pick<factory.order.ISearchConditions, 'acceptedOffers' | 'broker' | 'confirmationNumbers' | 'customer' | 'name' | 'orderDate' | 'orderNumbers' | 'orderStatuses' | 'paymentMethods' | 'project' | 'provider' | 'seller'>;
|
|
29
|
+
type ISearchConditions = Pick<factory.order.ISearchConditions, 'acceptedOffers' | 'broker' | 'confirmationNumbers' | 'customer' | 'name' | 'orderDate' | 'orderNumbers' | 'orderStatuses' | 'paymentMethods' | 'project' | 'provider' | 'seller' | 'identifier'>;
|
|
30
30
|
/**
|
|
31
31
|
* 注文リポジトリ
|
|
32
32
|
*/
|
|
@@ -34,12 +34,6 @@ export declare class OrderRepo {
|
|
|
34
34
|
private readonly orderModel;
|
|
35
35
|
constructor(connection: Connection);
|
|
36
36
|
static CREATE_MONGO_CONDITIONS(params: ISearchConditions): FilterQuery<factory.order.IOrder>[];
|
|
37
|
-
/**
|
|
38
|
-
* なければ作成する
|
|
39
|
-
*/
|
|
40
|
-
createIfNotExist(order: IOrderWithoutAcceptedOffers & {
|
|
41
|
-
acceptedOffers: factory.order.IAcceptedOffer[];
|
|
42
|
-
}): Promise<void>;
|
|
43
37
|
/**
|
|
44
38
|
* 注文ステータスを変更する
|
|
45
39
|
*/
|
|
@@ -140,12 +134,14 @@ export declare class OrderRepo {
|
|
|
140
134
|
})[]>;
|
|
141
135
|
getCursor(conditions: any, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, Record<string, never>, IDocType, import("./mongoose/virtuals").IVirtuals, {}> & Omit<factory.order.IOrder, "id"> & {
|
|
142
136
|
acceptedOffers?: factory.order.IAcceptedOffer[];
|
|
137
|
+
identifier?: string;
|
|
143
138
|
} & {
|
|
144
139
|
_id: import("mongoose").Types.ObjectId;
|
|
145
140
|
} & {
|
|
146
141
|
__v: number;
|
|
147
142
|
}, import("mongoose").QueryOptions<IDocType>, (import("mongoose").Document<unknown, Record<string, never>, IDocType, import("./mongoose/virtuals").IVirtuals, {}> & Omit<factory.order.IOrder, "id"> & {
|
|
148
143
|
acceptedOffers?: factory.order.IAcceptedOffer[];
|
|
144
|
+
identifier?: string;
|
|
149
145
|
} & {
|
|
150
146
|
_id: import("mongoose").Types.ObjectId;
|
|
151
147
|
} & {
|
package/lib/chevre/repo/order.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OrderRepo = void 0;
|
|
4
4
|
const factory_1 = require("../factory");
|
|
5
5
|
const order_1 = require("./mongoose/schemas/order");
|
|
6
|
-
|
|
6
|
+
// import { isMongoDuplicateError } from '../errorHandler';
|
|
7
7
|
const settings_1 = require("../settings");
|
|
8
8
|
/**
|
|
9
9
|
* ドキュメント検索時に指定可能なprojectionフィールドを厳密に定義する
|
|
@@ -239,6 +239,10 @@ class OrderRepo {
|
|
|
239
239
|
}
|
|
240
240
|
});
|
|
241
241
|
}
|
|
242
|
+
const identifierEq = params.identifier?.$eq;
|
|
243
|
+
if (typeof identifierEq === 'string') {
|
|
244
|
+
andConditions.push({ identifier: { $eq: identifierEq } });
|
|
245
|
+
}
|
|
242
246
|
if (Array.isArray(params.orderNumbers)) {
|
|
243
247
|
if (params.orderNumbers.length === 1) {
|
|
244
248
|
// use $eq(2025-04-01~)
|
|
@@ -483,31 +487,37 @@ class OrderRepo {
|
|
|
483
487
|
}
|
|
484
488
|
return andConditions;
|
|
485
489
|
}
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
490
|
+
// OrderInTransactionリポジトリにて注文ドキュメントが生成されるように変更したのでもう不要
|
|
491
|
+
// /**
|
|
492
|
+
// * なければ作成する
|
|
493
|
+
// */
|
|
494
|
+
// public async createIfNotExist(order: IOrderWithoutAcceptedOffers & {
|
|
495
|
+
// acceptedOffers: factory.order.IAcceptedOffer[];
|
|
496
|
+
// }): Promise<void> {
|
|
497
|
+
// try {
|
|
498
|
+
// // 存在しなければ上書き
|
|
499
|
+
// // updateOneに変更(2024-01-14~)
|
|
500
|
+
// // await this.orderModel.findOneAndUpdate(
|
|
501
|
+
// await this.orderModel.updateOne(
|
|
502
|
+
// { orderNumber: order.orderNumber },
|
|
503
|
+
// { $setOnInsert: order },
|
|
504
|
+
// {
|
|
505
|
+
// // new: true,
|
|
506
|
+
// upsert: true
|
|
507
|
+
// }
|
|
508
|
+
// )
|
|
509
|
+
// .exec();
|
|
510
|
+
// } catch (error) {
|
|
511
|
+
// let throwsError = true;
|
|
512
|
+
// if (await isMongoDuplicateError(error)) {
|
|
513
|
+
// // すでにorderNumberが存在する場合ok
|
|
514
|
+
// throwsError = false;
|
|
515
|
+
// }
|
|
516
|
+
// if (throwsError) {
|
|
517
|
+
// throw error;
|
|
518
|
+
// }
|
|
519
|
+
// }
|
|
520
|
+
// }
|
|
511
521
|
/**
|
|
512
522
|
* 注文ステータスを変更する
|
|
513
523
|
*/
|
|
@@ -838,6 +848,26 @@ class OrderRepo {
|
|
|
838
848
|
})
|
|
839
849
|
.exec();
|
|
840
850
|
}
|
|
851
|
+
// public async updateIdentifier4migration(params: {
|
|
852
|
+
// project: { id: string };
|
|
853
|
+
// orderNumber: string;
|
|
854
|
+
// identifier: string;
|
|
855
|
+
// }) {
|
|
856
|
+
// const { orderNumber, project, identifier } = params;
|
|
857
|
+
// return this.orderModel.updateOne(
|
|
858
|
+
// {
|
|
859
|
+
// orderNumber: { $eq: orderNumber },
|
|
860
|
+
// 'project.id': { $eq: project.id },
|
|
861
|
+
// typeOf: { $eq: factory.order.OrderType.Order }
|
|
862
|
+
// },
|
|
863
|
+
// {
|
|
864
|
+
// $set: {
|
|
865
|
+
// ...(typeof identifier === 'string') ? { identifier } : undefined
|
|
866
|
+
// }
|
|
867
|
+
// }
|
|
868
|
+
// )
|
|
869
|
+
// .exec();
|
|
870
|
+
// }
|
|
841
871
|
async aggregateOrder(params) {
|
|
842
872
|
const matchConditions = {
|
|
843
873
|
orderDate: {
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import type { Connection } from 'mongoose';
|
|
2
2
|
import { factory } from '../factory';
|
|
3
3
|
import { AcceptedOfferInReserveRepo } from './acceptedOfferInReserve';
|
|
4
|
-
type IOrderInTransaction = Pick<factory.order.IOrder, 'orderNumber' | 'project'> & {
|
|
4
|
+
export type IOrderInTransaction = Pick<factory.order.IOrder, 'orderNumber' | 'project' | 'broker'> & {
|
|
5
5
|
typeOf: factory.transactionType.PlaceOrder;
|
|
6
6
|
orderDate: Date;
|
|
7
|
-
acceptedOffers: factory.order.IAcceptedOffer[];
|
|
8
|
-
customer?: factory.order.ICustomer;
|
|
9
|
-
};
|
|
10
|
-
type IAcceptedOffer = factory.order.IAcceptedOffer & {
|
|
11
7
|
/**
|
|
12
|
-
*
|
|
8
|
+
* 注文取引IDとして再定義(2026-06-22~)
|
|
13
9
|
*/
|
|
14
|
-
|
|
10
|
+
identifier: string;
|
|
11
|
+
acceptedOffers: factory.order.IAcceptedOffer[];
|
|
12
|
+
customer?: factory.order.ICustomer;
|
|
13
|
+
seller?: factory.order.ISeller;
|
|
15
14
|
};
|
|
16
15
|
/**
|
|
17
16
|
* typeOf: Orderへドキュメント変換時の編集フィールド
|
|
18
17
|
*/
|
|
19
|
-
export type IPlacingOrder = Pick<factory.order.IOrder, '
|
|
18
|
+
export type IPlacingOrder = Pick<factory.order.IOrder, 'confirmationNumber' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'price' | 'priceCurrency' | 'typeOf'> & {
|
|
20
19
|
url?: never;
|
|
21
20
|
identifier?: never;
|
|
22
21
|
name?: never;
|
|
@@ -28,6 +27,14 @@ export type IPlacingOrder = Pick<factory.order.IOrder, 'broker' | 'confirmationN
|
|
|
28
27
|
* 上書きしてはいけない
|
|
29
28
|
*/
|
|
30
29
|
customer?: never;
|
|
30
|
+
/**
|
|
31
|
+
* 上書きしてはいけない
|
|
32
|
+
*/
|
|
33
|
+
broker?: never;
|
|
34
|
+
/**
|
|
35
|
+
* 上書きしてはいけない
|
|
36
|
+
*/
|
|
37
|
+
seller?: never;
|
|
31
38
|
};
|
|
32
39
|
export type IMinimizedReservationFor = Pick<factory.order.IEventAsReservationFor, 'endDate' | 'id' | 'startDate' | 'typeOf'> & {
|
|
33
40
|
location: Pick<factory.order.IEventAsReservationFor['location'], 'branchCode' | 'typeOf'>;
|
|
@@ -55,12 +62,35 @@ export type IMinimizedAcceptedOffer = Pick<factory.order.IOptimizedAcceptedOffer
|
|
|
55
62
|
export declare class OrderInTransactionRepo extends AcceptedOfferInReserveRepo {
|
|
56
63
|
private readonly orderModel;
|
|
57
64
|
constructor(connection: Connection);
|
|
65
|
+
createPlaceOrderIfNotExists(params: Pick<IOrderInTransaction, 'orderNumber' | 'project' | 'identifier' | 'broker' | 'seller' | 'customer'>): Promise<import("mongoose").UpdateWriteOpResult | undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* 注文取引から注文番号を参照する
|
|
68
|
+
* 存在しなければNotFoundError
|
|
69
|
+
*/
|
|
70
|
+
findOrderNumberByIdentifier(params: {
|
|
71
|
+
identifier: string;
|
|
72
|
+
project: {
|
|
73
|
+
id: string;
|
|
74
|
+
};
|
|
75
|
+
}, options: {
|
|
76
|
+
/**
|
|
77
|
+
* 注文取引タイプのドキュメントのみを参照対象にするかどうか
|
|
78
|
+
*/
|
|
79
|
+
onlyPlaceOrder: boolean;
|
|
80
|
+
}): Promise<string>;
|
|
81
|
+
/**
|
|
82
|
+
* 注文ドキュメントからcustomer属性を参照する
|
|
83
|
+
* customer未設定であれば、NotFound
|
|
84
|
+
*/
|
|
85
|
+
findCustomerByOrderIdentifier(params: {
|
|
86
|
+
identifier: string;
|
|
87
|
+
}): Promise<factory.order.ICustomer>;
|
|
58
88
|
/**
|
|
59
89
|
* 取引進行中の注文からacceptedOffersを検索する
|
|
60
90
|
* 予約取引から予約ごとの価格仕様も参照する
|
|
61
91
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
92
|
+
findAcceptedOffersWithPriceByIdentifier(params: {
|
|
93
|
+
identifier: string;
|
|
64
94
|
project: {
|
|
65
95
|
id: string;
|
|
66
96
|
};
|
|
@@ -71,25 +101,22 @@ export declare class OrderInTransactionRepo extends AcceptedOfferInReserveRepo {
|
|
|
71
101
|
* 注文を受注する
|
|
72
102
|
* typeOf: PlaceOrder -> typeOf: Order
|
|
73
103
|
*/
|
|
74
|
-
|
|
104
|
+
placeOrderByIdentifier(filter: {
|
|
105
|
+
identifier: string;
|
|
106
|
+
}, order: IPlacingOrder): Promise<void>;
|
|
75
107
|
/**
|
|
76
108
|
* 注文documentがなければ作成し、受け入れられたオファーを追加する
|
|
77
109
|
* このメソッドでdocumentが初めて生成される(typeOf:PlaceOrderとして)
|
|
78
110
|
*/
|
|
79
|
-
|
|
80
|
-
acceptedOffers: IMinimizedAcceptedOffer[] |
|
|
81
|
-
/**
|
|
82
|
-
* COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
|
|
83
|
-
*/
|
|
84
|
-
priceSpecification?: factory.order.ITicketPriceSpecification;
|
|
85
|
-
})[];
|
|
111
|
+
acceptOfferByIdentifier(params: Pick<IOrderInTransaction, 'project' | 'identifier'> & {
|
|
112
|
+
acceptedOffers: IMinimizedAcceptedOffer[] | factory.order.ICOAAcceptedOffer[];
|
|
86
113
|
}): Promise<import("mongoose").UpdateWriteOpResult | undefined>;
|
|
87
114
|
/**
|
|
88
115
|
* serialNumberからオファーを除外する
|
|
89
116
|
* ホワイトリストとブラックリスト両方に対応
|
|
90
117
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
118
|
+
voidAcceptedOfferByIdentifier(params: {
|
|
119
|
+
identifier: string;
|
|
93
120
|
acceptedOffers: {
|
|
94
121
|
serialNumber: {
|
|
95
122
|
$in?: string[];
|
|
@@ -97,20 +124,10 @@ export declare class OrderInTransactionRepo extends AcceptedOfferInReserveRepo {
|
|
|
97
124
|
};
|
|
98
125
|
};
|
|
99
126
|
}): Promise<import("mongoose").UpdateWriteOpResult | undefined>;
|
|
100
|
-
|
|
127
|
+
setCustomerByIdentifier(params: Pick<IOrderInTransaction, 'project' | 'identifier'> & {
|
|
101
128
|
customer: factory.order.ICustomer;
|
|
102
129
|
}): Promise<import("mongoose").UpdateWriteOpResult>;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
* customer未設定であれば、NotFound
|
|
106
|
-
*/
|
|
107
|
-
findCustomerByOrderNumber(params: {
|
|
108
|
-
orderNumber: {
|
|
109
|
-
$eq: string;
|
|
110
|
-
};
|
|
111
|
-
}): Promise<factory.order.ICustomer>;
|
|
112
|
-
deleteByOrderNumber(params: {
|
|
113
|
-
orderNumber: string;
|
|
130
|
+
deleteByIdentifier(params: {
|
|
131
|
+
identifier: string;
|
|
114
132
|
}): Promise<import("mongodb").DeleteResult>;
|
|
115
133
|
}
|
|
116
|
-
export {};
|