@chevre/domain 21.25.0-alpha.0 → 21.25.0-alpha.2
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/searchSlicedAcceptedOffersByOrderNumber.ts +6 -3
- package/lib/chevre/service/delivery/factory.d.ts +1 -0
- package/lib/chevre/service/delivery/factory.js +7 -2
- package/lib/chevre/service/order/deleteOrder.js +2 -1
- package/lib/chevre/service/order/sendOrder.js +7 -2
- package/package.json +1 -1
|
@@ -6,14 +6,17 @@ import { chevre } from '../../../lib/index';
|
|
|
6
6
|
async function main() {
|
|
7
7
|
await mongoose.connect(<string>process.env.MONGOLAB_URI);
|
|
8
8
|
|
|
9
|
+
const limit = 1;
|
|
10
|
+
const page = 2;
|
|
9
11
|
const acceptedOfferRepo = await chevre.repository.AcceptedOffer.createInstance(mongoose.connection);
|
|
10
12
|
|
|
11
13
|
const result = await acceptedOfferRepo.searchSlicedAcceptedOffersByOrderNumber(
|
|
12
14
|
{
|
|
13
|
-
orderNumber: { $eq: '
|
|
14
|
-
project: { id: { $eq: String(process.env.PROJECT_ID) } },
|
|
15
|
+
orderNumber: { $eq: 'TTT6-4203485-8379924' },
|
|
16
|
+
// project: { id: { $eq: String(process.env.PROJECT_ID) } },
|
|
17
|
+
project: { id: { $eq: 'ttts-development' } },
|
|
15
18
|
// tslint:disable-next-line:no-magic-numbers
|
|
16
|
-
$slice: [
|
|
19
|
+
$slice: [limit * (page - 1), limit]
|
|
17
20
|
}
|
|
18
21
|
);
|
|
19
22
|
console.log(result);
|
|
@@ -7,4 +7,5 @@ export declare function createOwnershipInfosFromOrder(params: {
|
|
|
7
7
|
order: Pick<factory.order.IOrder, 'orderDate' | 'project' | 'customer' | 'orderNumber' | 'seller'> & {
|
|
8
8
|
acceptedOffers: factory.order.IAcceptedOffer<factory.order.IItemOffered>[];
|
|
9
9
|
};
|
|
10
|
+
offerIndexBase: number;
|
|
10
11
|
}): IOwnershipInfo[];
|
|
@@ -19,7 +19,12 @@ function createOwnershipInfosFromOrder(params) {
|
|
|
19
19
|
let ownershipInfo;
|
|
20
20
|
const ownedFrom = moment(params.order.orderDate)
|
|
21
21
|
.toDate();
|
|
22
|
-
const identifier = createOwnershipInfoIdentifier({
|
|
22
|
+
const identifier = createOwnershipInfoIdentifier({
|
|
23
|
+
order: params.order,
|
|
24
|
+
itemOffered,
|
|
25
|
+
offerIndex,
|
|
26
|
+
offerIndexBase: params.offerIndexBase
|
|
27
|
+
});
|
|
23
28
|
const acquiredFrom = createAcquiredFrom(params);
|
|
24
29
|
const ownedBy = createOwnedby(params);
|
|
25
30
|
const itemOfferedType = itemOffered.typeOf;
|
|
@@ -60,7 +65,7 @@ function createOwnershipInfosFromOrder(params) {
|
|
|
60
65
|
}
|
|
61
66
|
exports.createOwnershipInfosFromOrder = createOwnershipInfosFromOrder;
|
|
62
67
|
function createOwnershipInfoIdentifier(params) {
|
|
63
|
-
return util.format('%s-%s-%s-%s', params.order.customer.id, params.itemOffered.typeOf, params.order.orderNumber, params.offerIndex);
|
|
68
|
+
return util.format('%s-%s-%s-%s', params.order.customer.id, params.itemOffered.typeOf, params.order.orderNumber, (params.offerIndexBase + params.offerIndex));
|
|
64
69
|
}
|
|
65
70
|
function createAcquiredFrom(params) {
|
|
66
71
|
// 最低限の情報に絞る
|
|
@@ -81,7 +81,8 @@ function deleteOwnershipInfosByOrder(order) {
|
|
|
81
81
|
order: Object.assign(Object.assign({}, order), { acceptedOffers: yield repos.acceptedOffer.searchAcceptedOffersByOrderNumber({
|
|
82
82
|
orderNumber: { $eq: order.orderNumber },
|
|
83
83
|
project: { id: { $eq: order.project.id } }
|
|
84
|
-
}) })
|
|
84
|
+
}) }),
|
|
85
|
+
offerIndexBase: 0
|
|
85
86
|
});
|
|
86
87
|
const ownershipIdentifiers = ownershipInfos.map((o) => String(o.identifier));
|
|
87
88
|
if (ownershipIdentifiers.length > 0) {
|
|
@@ -103,15 +103,20 @@ function sendOrder(params) {
|
|
|
103
103
|
createOwnerships = true;
|
|
104
104
|
}
|
|
105
105
|
try {
|
|
106
|
+
const offerIndexBase = (limit * (page - 1));
|
|
106
107
|
const searchSlicedAcceptedOffersResult = yield repos.acceptedOffer.searchSlicedAcceptedOffersByOrderNumber({
|
|
107
|
-
$slice: [
|
|
108
|
+
$slice: [offerIndexBase, limit],
|
|
108
109
|
orderNumber: { $eq: order.orderNumber },
|
|
109
110
|
project: { id: { $eq: order.project.id } }
|
|
110
111
|
});
|
|
111
112
|
acceptedOffers = searchSlicedAcceptedOffersResult.acceptedOffers;
|
|
113
|
+
debug('delivering...', order.orderNumber, acceptedOffers.map((offer) => `${offer.itemOffered.id}`), params.object.acceptedOffers, 'offerIndexBase:', offerIndexBase);
|
|
112
114
|
// 所有権作成
|
|
113
115
|
if (createOwnerships) {
|
|
114
|
-
ownershipInfos = (0, factory_1.createOwnershipInfosFromOrder)({
|
|
116
|
+
ownershipInfos = (0, factory_1.createOwnershipInfosFromOrder)({
|
|
117
|
+
order: Object.assign(Object.assign({}, order), { acceptedOffers }),
|
|
118
|
+
offerIndexBase
|
|
119
|
+
});
|
|
115
120
|
ownershipInfos = yield Promise.all(ownershipInfos.map((ownershipInfo) => __awaiter(this, void 0, void 0, function* () {
|
|
116
121
|
return repos.ownershipInfo.createIfNotExistByIdentifier(ownershipInfo);
|
|
117
122
|
})));
|
package/package.json
CHANGED