오세헌

print out recipes that contain as many input ingredients as possible

1 var express = require('express'); 1 var express = require('express');
2 const request = require('request'); 2 const request = require('request');
3 const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' 3 const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
4 -const TOKEN = '' 4 +const TOKEN = 'zVAczqoJ+L9oykqhEj7HoP7f6Nyb+R3T1TntHXQhYihI+KIxH4SZDGpKu0jKsMXMHKBVXpmbybA+oaV8u/dfLppKe3NHXU9AdBVypy9NgfWiFPLlcwm3GdkVPAZGoS4nvOCXWDKUb+ixPKWjlbnChAdB04t89/1O/w1cDnyilFU='
5 const fs = require('fs'); 5 const fs = require('fs');
6 const path = require('path'); 6 const path = require('path');
7 const HTTPS = require('https'); 7 const HTTPS = require('https');
...@@ -26,28 +26,33 @@ app.post('/hook', function (req, res) { ...@@ -26,28 +26,33 @@ app.post('/hook', function (req, res) {
26 var db = mysql.createConnection({ 26 var db = mysql.createConnection({
27 host: 'chatbot.c7fzgftc3yrm.us-east-1.rds.amazonaws.com', 27 host: 'chatbot.c7fzgftc3yrm.us-east-1.rds.amazonaws.com',
28 user: 'chatbot', 28 user: 'chatbot',
29 - password: '', 29 + password: '11111111',
30 database: 'chatbot', 30 database: 'chatbot',
31 port: '3306' 31 port: '3306'
32 }); 32 });
33 33
34 db.connect(); 34 db.connect();
35 35
36 + var max = 0;
37 +
36 db.query('SELECT * FROM recipe', function (error, results, fields) { 38 db.query('SELECT * FROM recipe', function (error, results, fields) {
37 if (error) { 39 if (error) {
38 console.log(error); 40 console.log(error);
39 } 41 }
40 var arr1 = new Array(); 42 var arr1 = new Array();
41 - var arr2 = new Array();
42 var input_ingredients_list = message.text.split(" "); 43 var input_ingredients_list = message.text.split(" ");
43 console.log(input_ingredients_list); 44 console.log(input_ingredients_list);
44 for (var i = 0; i < results.length; i++) { 45 for (var i = 0; i < results.length; i++) {
45 var ingredients_list = results[i].ingrediant.split(","); 46 var ingredients_list = results[i].ingrediant.split(",");
46 var count = ingredients_list.filter(x => input_ingredients_list.includes(x)).length; 47 var count = ingredients_list.filter(x => input_ingredients_list.includes(x)).length;
48 + if (count > max) {
49 + max = count;
50 + var arr2 = new Array();
51 + }
47 if (count === input_ingredients_list.length) { 52 if (count === input_ingredients_list.length) {
48 arr1.push(i); 53 arr1.push(i);
49 } 54 }
50 - else if (arr1.length === 0 && count != 0) { 55 + else if (arr1.length === 0 && count != 0 && count === max) {
51 arr2.push(i); 56 arr2.push(i);
52 } 57 }
53 } 58 }
......