seungmi

조건에 따른 음식 랜덤추천 기능 추가

추천 페이지에서 사용자가 원하는 조건을 입력했을때,
조건에 일치하는 음식리스트를 선별한 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 })
......