def get(self): """Get reservation by ID.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "_id": 1, "Reservation.Spectateur.Civilite": 1, } }, { "$sort": { "_id": 1 } }, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get Daily KPi.""" now = datetime.now() gen_time = datetime(now.year, now.month, now.day) dummy_id = ObjectId.from_datetime(gen_time) vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "_id": 1, "NbSpectateur": {"$size": "$Reservation"}, "TotalPrice": {"$sum": "$Reservation.prix"} }, }, {"$match": {"_id": {"$gte": dummy_id}}}, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def post(self): """reservation booking data.""" vdm_database = config.setup_mongo() collection = vdm_database["booking"] # data = utilities.handle_prices(request.get_json()) data = utilities.handle_utilities(request.get_json()) collection.insert_one(data) response = jsonify({'message': 'OK'}) response.status_code = 201 return response
def get(self): """Get reservation by ID.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.find({}, { '_id': 0 }).sort("_id", -1).limit(10) data = [] for reservation in cursor: data.append(reservation) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get bookinglist information.""" bookingId = request.args.get('bookingId') vdm_database = config.setup_mongo() cursor = vdm_database.booking.find({'_id': ObjectId(bookingId)}) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get Nb Booking and Nb Spect per days.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "date": { "$dateToString": { "format": "%d/%m/%Y", "date": "$CreatedAt" } }, "Nb_Booking": { "$sum": 1 }, "Nb_Spec": { "$size": "$Reservation" } } }, { "$group": { "_id": "$date", "Nb_Booking": { "$sum": "$Nb_Booking" }, "Nb_Spec": { "$sum": "$Nb_Spec" } } }, { "$sort": { "_id": -1 } }, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get reservation by ID.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "date": { "$dateToString": { "format": "%d/%m/%Y", "date": "$CreatedAt" } }, "Acheteur.Civilite": 1, "Nb": { "$sum": 1 } } }, { "$group": { "_id": { "date": "$date", "Civilite": "$Acheteur.Civilite" }, "total": { "$sum": "$Nb" } } }, { "$sort": { "_id": 1 } }, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get bookinglist information.""" start_date_tmp = request.args.get('startDate') end_date_tmp = request.args.get('endDate') startDate = datetime.strptime(start_date_tmp, '%Y-%m-%d') endDate = datetime.strptime(end_date_tmp, '%Y-%m-%d') print(startDate) start_gen_time = datetime(startDate.year, startDate.month, startDate.day) end_gen_time = datetime(endDate.year, endDate.month, endDate.day) start_date = ObjectId.from_datetime(start_gen_time) end_date = ObjectId.from_datetime(end_gen_time) vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([{ "$match": { "_id": { "$gte": start_date } } }, { "$match": { "_id": { "$lte": end_date } } }, { "$sort": { "_id": 1 } }]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get KPi.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "_id": 1, "NbSpectateur": {"$size": "$Reservation"}, "TotalPrice": {"$sum": "$Reservation.prix"} }, }, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get bookinglist information.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "_id": 0, "Game.Nom": 1, "CA": { "$sum": "$Reservation.prix" }, "Nb_Spec": { "$size": "$Reservation" } } }, { "$group": { "_id": { "Rooms": "$Game.Nom" }, "CA": { "$sum": "$CA" }, "Nb_Spec": { "$sum": "$Nb_Spec" } } }, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get incremental bookinglist information.""" lastId = request.args.get('lastId') vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "_id": 1, "Acheteur.Nom": 1, "Acheteur.Prenom": 1, "NbSpectateur": { "$size": "$Reservation" }, "Game.Nom": 1, "Game.Jour": 1, "TotalPrice": { "$sum": "$Reservation.prix" } } }, { "$match": { "_id": { "$gt": ObjectId(lastId) } } }, # {"$limit": 50} ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get reservation by ID.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "Game.Horaire": 1, "Nb": { "$size": "$Reservation" } } }, { "$group": { "_id": "$Game.Horaire", "total": { "$sum": "$Nb" } } }, { "$sort": { "_id": 1 } }, ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get reservation by ID.""" vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([ { "$project": { "Acheteur.Age": 1, "Nb": { "$sum": 1 } } }, # {"$limit": 3}, { "$group": { "_id": '', "[0-18[": { "$sum": { "$cond": [{ "$and": [ { "$gte": ["$Acheteur.Age", 0] }, { "$lt": ["$Acheteur.Age", 18] }, ] }, 1, 0], } }, "[18-25[": { "$sum": { "$cond": [{ "$and": [ { "$gte": ["$Acheteur.Age", 18] }, { "$lt": ["$Acheteur.Age", 25] }, ] }, 1, 0], } }, "[25-39]": { "$sum": { "$cond": [{ "$and": [ { "$gte": ["$Acheteur.Age", 25] }, { "$lte": ["$Acheteur.Age", 39] }, ] }, 1, 0], } }, "[40-54]": { "$sum": { "$cond": [{ "$and": [ { "$gte": ["$Acheteur.Age", 40] }, { "$lte": ["$Acheteur.Age", 54] }, ] }, 1, 0], } }, "[55 et plus": { "$sum": { "$cond": [{ "$and": [ { "$gte": ["$Acheteur.Age", 55] }, ] }, 1, 0], } }, } } ]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response
def get(self): """Get Hitoric KPI to extract with cronjob.""" now = datetime.now() gen_time = datetime(now.year, now.month, now.day) dummy_id = ObjectId.from_datetime(gen_time) vdm_database = config.setup_mongo() cursor = vdm_database.booking.aggregate([{ "$project": { "_id": 1, "date": { "$dateToString": { "format": "%d/%m/%Y", "date": "$CreatedAt" } }, "CA": { "$sum": "$Reservation.prix" }, "NbBooking": { "$sum": 1 }, "NbSpect": { "$size": "$Reservation" }, }, }, { "$match": { "_id": { "$lt": dummy_id } } }, { "$sort": { "_id": 1 } }, { "$group": { "_id": "$date", "CA": { "$sum": "$CA" }, "Nb Reservations": { "$sum": "$NbBooking" }, "Nb Spectateurs": { "$sum": "$NbSpect" }, } }, { "$project": { "Date": "$_id", "_id": 0, "CA": 1, "Nb Reservations": 1, "Nb Spectateurs": 1, "Prix Moyen Reservation (€)": { "$round": [{ "$divide": ["$CA", { "$sum": "$Nb Reservations" }] }, 2] }, "Ticket Moyen Spectateur (€)": { "$round": [{ "$divide": ["$CA", { "$sum": "$Nb Spectateurs" }] }, 2] }, } }]) data = [] for reservation in cursor: res_str = json.loads(dumps(reservation)) data.append(res_str) response = jsonify(data) response.headers.add('Access-Control-Allow-Origin', '*') response.status_code = 200 return response