diff --git a/api/app/queries.js b/api/app/queries.js index 9869e6292d8a9245f487fd00aaeef59ebaf07a1d..f813a53fd337e16d3ab409325308dea4128b9a97 100644 --- a/api/app/queries.js +++ b/api/app/queries.js @@ -107,7 +107,7 @@ exports.byAggregateCustomerId = (req, res) => { var id = Long.fromString(req.params.id); console.log(id); - //u.logReq(req); + u.logReq(req); db.collection('orders').aggregate([ { $match: { 'customer.id': { $eq: id } } } ]).toArray((err, docs) => { @@ -122,13 +122,8 @@ exports.byAggregateCustomerId = (req, res) => { exports.ordersAggregateByCustomer = (req, res) => { - - var id = Long.fromString(req.params.id); - console.log(id); - - //u.logReq(req); + u.logReq(req); db.collection('orders').aggregate([ - //{ $match: { 'customer.id': { $eq: id } }}, { $group: { _id : {id: "$customer.id", pseudo: "$customer.pseudo"}, count: { $sum: 1}} @@ -141,4 +136,23 @@ exports.ordersAggregateByCustomer = (req, res) => { console.log(docs); res.json(docs); }); +} + + +exports.ordersAggregateCAVendor = (req, res) => { + u.logReq(req); + db.collection('orders').aggregate([ + { $unwind: "$items" }, + { $group: { + _id: "$items.vendor", + ChiffreAffaire: { $sum: { $multiply: ["$items.finalprice", "$items.qty"]}} + }} + ]).toArray((err, docs) => { + if (err) { + console.log(err); + res.send(err); + } + console.log(docs); + res.json(docs); + }); } \ No newline at end of file diff --git a/api/app/router.js b/api/app/router.js index e11973a29614e9b010482e781ad7e194bdd6c6ec..4111f14d0f76b62495cf18f914e84c1145e91650 100644 --- a/api/app/router.js +++ b/api/app/router.js @@ -19,7 +19,9 @@ router.get('/pseudo-with-more-equal-bags/:number', queries.showPseudoOfOrdersBag router.get('/by-customer-id/:id', queries.byAggregateCustomerId); -router.get('/orders-by-customer/:id', queries.ordersAggregateByCustomer); +router.get('/orders-by-customer', queries.ordersAggregateByCustomer); + +router.get('/ca-vendors', queries.ordersAggregateCAVendor); router.use((_, res) => res.status(404).send({ message: 'Route not found' }));