조건에 따른 음식 랜덤추천 기능 추가
추천 페이지에서 사용자가 원하는 조건을 입력했을때, 조건에 일치하는 음식리스트를 선별한 temp.json파일을 생성, temp.json파일에서 음식을 랜덤으로 선정하여 추천하는 기능 추가
Showing
1 changed file
with
28 additions
and
7 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 ((!price || users[foods]['price'] == price) && (!shape || users[foods]['shape'] == shape) && (!kinds || users[foods]['kinds'] == kinds)) { | ||
61 | + list.food.push(foods); | ||
62 | + } | ||
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 | + }); | ||
70 | + | ||
71 | + fs.readFile('data/temp.json', 'utf8', function(err, data) { | ||
72 | + if (err) { | ||
73 | + console.log((err)); | ||
74 | + res.status(500).send('Internal Server Error'); | ||
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++) { | ||
60 | if (rand == i) { | 80 | if (rand == i) { |
61 | - var food_value=foods; | 81 | + var food_value = food[i]; |
82 | + break; | ||
62 | // $('<li>').text(foods).appendTo('#users'); | 83 | // $('<li>').text(foods).appendTo('#users'); |
63 | } | 84 | } |
64 | - i++; | ||
65 | } | 85 | } |
66 | - | ||
67 | res.render('print.ejs', { | 86 | res.render('print.ejs', { |
68 | title: 'Recommendation', | 87 | title: 'Recommendation', |
69 | description: 'We recommend this...', | 88 | description: 'We recommend this...', |
70 | - // name: users, | ||
71 | randvalue: food_value | 89 | randvalue: food_value |
72 | }); | 90 | }); |
73 | } | 91 | } |
74 | }); | 92 | }); |
93 | + } | ||
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