Trivago data added to regions endpoint

This commit is contained in:
Timo John 2020-06-18 14:44:39 +02:00
parent 61aac61469
commit 64abbe4e30
3 changed files with 31 additions and 17 deletions

View File

@ -1,4 +1,4 @@
const climateArrayFormatting = require("./../util/climateArrayFormatting.js")
const arrayFormatting = require("../util/databaseArrayFormatting.js")
module.exports = async (dbConn, id) => {
const region = await dbConn.query(
@ -11,6 +11,7 @@ module.exports = async (dbConn, id) => {
rcma.rain_days AS rain_days,
rcma.sun_hours AS sun_hours,
regions_byt.average_per_day_costs AS average_per_day_costs,
rtma.avg_price_relative AS avg_price_relative,
regions_byt.accommodation_costs AS accommodation_costs,
regions_byt.food_costs AS food_costs,
regions_byt.water_costs AS water_costs,
@ -30,19 +31,25 @@ module.exports = async (dbConn, id) => {
FROM region_climate_monthly_avg AS rcma
GROUP BY rcma.region_id) rcma ON rcma.region_id = regions.id
LEFT JOIN regions_byt ON regions.id = regions_byt.region_id
LEFT JOIN (SELECT rtma.region_id,
GROUP_CONCAT(IFNULL(rtma.avg_price_relative,"") ORDER BY rtma.month SEPARATOR ', ') AS avg_price_relative
FROM regions_trivago_monthly_avg AS rtma
GROUP BY rtma.region_id) rtma
ON regions.id = rtma.region_id
WHERE regions_byt.travelstyle = 1
AND regions.id = ?`,
[id]
);
for (k = 0; k < region.length; k++) {
//region[k].temperature_mean = climateArrayFormatting(region[k].temperature_mean);
//region[k].temperature_mean_min = climateArrayFormatting(region[k].temperature_mean_min);
region[k].temperature_mean_max = climateArrayFormatting(region[k].temperature_mean_max);
region[k].precipitation = climateArrayFormatting(region[k].precipitation);
region[k].rain_days = climateArrayFormatting(region[k].rain_days);
region[k].sun_hours = climateArrayFormatting(region[k].sun_hours);
//region[k].humidity = climateArrayFormatting(region[k].humidity);
region[k].avg_price_relative = arrayFormatting(region[k].avg_price_relative);
//region[k].temperature_mean = arrayFormatting(region[k].temperature_mean);
//region[k].temperature_mean_min = arrayFormatting(region[k].temperature_mean_min);
region[k].temperature_mean_max = arrayFormatting(region[k].temperature_mean_max);
region[k].precipitation = arrayFormatting(region[k].precipitation);
region[k].rain_days = arrayFormatting(region[k].rain_days);
region[k].sun_hours = arrayFormatting(region[k].sun_hours);
//region[k].humidity = arrayFormatting(region[k].humidity);
}
const emptyArr = Array.from({ length: 12 }, () => null)
if (region.temperature_mean_max === null) region.temperature_mean_max = emptyArr

View File

@ -1,4 +1,4 @@
const climateArrayFormatting = require("./../util/climateArrayFormatting.js");
const arrayFormatting = require("../util/databaseArrayFormatting.js");
const { takeRightWhile } = require("lodash");
module.exports = async (dbConn) => {
@ -12,6 +12,7 @@ module.exports = async (dbConn) => {
rcma.rain_days AS rain_days,
rcma.sun_hours AS sun_hours,
regions_byt.average_per_day_costs AS average_per_day_costs,
rtma.avg_price_relative AS avg_price_relative,
regions_byt.accommodation_costs AS accommodation_costs,
regions_byt.food_costs AS food_costs,
regions_byt.water_costs AS water_costs,
@ -31,20 +32,26 @@ module.exports = async (dbConn) => {
FROM region_climate_monthly_avg AS rcma
GROUP BY rcma.region_id) rcma ON rcma.region_id = regions.id
LEFT JOIN regions_byt ON regions.id = regions_byt.region_id
LEFT JOIN (SELECT rtma.region_id,
GROUP_CONCAT(IFNULL(rtma.avg_price_relative,"") ORDER BY rtma.month SEPARATOR ', ') AS avg_price_relative
FROM regions_trivago_monthly_avg AS rtma
GROUP BY rtma.region_id) rtma
ON regions.id = rtma.region_id
WHERE regions_byt.travelstyle = 1`
);
for (k = 0; k < regions.length; k++) {
//regions[k].temperature_mean = climateArrayFormatting(regions[k].temperature_mean);
//regions[k].temperature_mean_min = climateArrayFormatting(regions[k].temperature_mean_min);
regions[k].temperature_mean_max = climateArrayFormatting(regions[k].temperature_mean_max);
regions[k].precipitation = climateArrayFormatting(regions[k].precipitation);
regions[k].rain_days = climateArrayFormatting(regions[k].rain_days);
regions[k].sun_hours = climateArrayFormatting(regions[k].sun_hours);
//regions[k].humidity = climateArrayFormatting(regions[k].humidity);
regions[k].avg_price_relative = arrayFormatting(regions[k].avg_price_relative);
//regions[k].temperature_mean = arrayFormatting(regions[k].temperature_mean);
//regions[k].temperature_mean_min = arrayFormatting(regions[k].temperature_mean_min);
regions[k].temperature_mean_max = arrayFormatting(regions[k].temperature_mean_max);
regions[k].precipitation = arrayFormatting(regions[k].precipitation);
regions[k].rain_days = arrayFormatting(regions[k].rain_days);
regions[k].sun_hours = arrayFormatting(regions[k].sun_hours);
//regions[k].humidity = arrayFormatting(regions[k].humidity);
}
console.log(regions.filter(region => region.rain_days === null))
//console.log(regions.filter(region => region.rain_days === null))
return regions.map(region => {
const emptyArr = Array.from({ length: 12 }, () => null)
if (region.temperature_mean_max === null) region.temperature_mean_max = emptyArr