조건에 따른 음식 랜덤추천 기능 추가
추천 페이지에서 사용자가 원하는 조건을 입력했을때, 조건에 일치하는 음식리스트를 선별한 temp.json파일을 생성, temp.json파일에서 음식을 랜덤으로 선정하여 추천하는 기능 추가
Showing
1 changed file
with
33 additions
and
12 deletions
... | @@ -53,27 +53,48 @@ app.post('/food/recommendation', function(req, res) { | ... | @@ -53,27 +53,48 @@ app.post('/food/recommendation', function(req, res) { |
53 | var price = req.body.price; | 53 | var price = req.body.price; |
54 | var shape = req.body.shape; | 54 | var shape = req.body.shape; |
55 | var kinds = req.body.kinds; | 55 | var kinds = req.body.kinds; |
56 | - | 56 | + var list = { |
57 | - var rand = Math.floor(Math.random() * 3); //(Math.random() * (max - min)) + min | 57 | + food: [] |
58 | - var i = 0; | 58 | + }; |
59 | for (var foods in users) { | 59 | for (var foods in users) { |
60 | - if (rand == i) { | 60 | + if ((!price || users[foods]['price'] == price) && (!shape || users[foods]['shape'] == shape) && (!kinds || users[foods]['kinds'] == kinds)) { |
61 | - var food_value=foods; | 61 | + list.food.push(foods); |
62 | - // $('<li>').text(foods).appendTo('#users'); | ||
63 | } | 62 | } |
64 | - i++; | ||
65 | } | 63 | } |
64 | + fs.writeFile('data/temp.json', JSON.stringify(list), "utf8", function(err) { | ||
65 | + if (err) { | ||
66 | + console.log(err); | ||
67 | + res.status(500).send('Internal Server Error'); | ||
68 | + } | ||
69 | + }); | ||
66 | 70 | ||
67 | - res.render('print.ejs', { | 71 | + fs.readFile('data/temp.json', 'utf8', function(err, data) { |
68 | - title: 'Recommendation', | 72 | + if (err) { |
69 | - description: 'We recommend this...', | 73 | + console.log((err)); |
70 | - // name: users, | 74 | + res.status(500).send('Internal Server Error'); |
71 | - randvalue: food_value | 75 | + } else { |
76 | + var food = JSON.parse(data)['food']; | ||
77 | + var length=food.length; | ||
78 | + var rand = Math.floor(Math.random() * length); //(Math.random() * (max - min)) + min | ||
79 | + for (var i = 0; i < length; i++) { | ||
80 | + if (rand == i) { | ||
81 | + var food_value = food[i]; | ||
82 | + break; | ||
83 | + // $('<li>').text(foods).appendTo('#users'); | ||
84 | + } | ||
85 | + } | ||
86 | + res.render('print.ejs', { | ||
87 | + title: 'Recommendation', | ||
88 | + description: 'We recommend this...', | ||
89 | + randvalue: food_value | ||
90 | + }); | ||
91 | + } | ||
72 | }); | 92 | }); |
73 | } | 93 | } |
74 | }); | 94 | }); |
75 | }) | 95 | }) |
76 | 96 | ||
97 | + | ||
77 | app.listen(3000, function() { | 98 | app.listen(3000, function() { |
78 | console.log('Connected, 3000'); | 99 | console.log('Connected, 3000'); |
79 | }) | 100 | }) | ... | ... |
-
Please register or login to post a comment