Eunsu486

Add user_input function

......@@ -4,93 +4,113 @@ var request = require('request');
const convert = require('xml-js');
require('dotenv').config();
var urlencode = require('urlencode');
/* GET home page. */
let GU_CODE;
let ANIMAL_INFO_API_KEY = process.env.REACT_APP_API_KEY;
let user_gu;
let user_latitude;
let user_longitude;
let gu_select;
//동물병원
router.post('/hospital', function (req, res) {
//gu 받아오기
// router.post('/hospital', function (req, res) {
// //gu 받아오기
// var body = req.body;
// var gu_select = body.user_gu;
// var menu = '동물병원';
// // encoding for url
// var menu_encode = urlencode(menu);
// var gu_select_encode = urlencode(gu_select);
// //api
// let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=200&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`;
// request(pet_url, function (err, response, body) {
// if (err) {
// console.log(`err => ${err}`)
// }
// else {
// if (res.statusCode == 200) {
// var hospital_list = [];
// var titles = '';
// var result = convert.xml2json(body, { compact: true, spaces: 4 });
// var petJson = JSON.parse(result);
// var itemList = petJson.response.body.items;
// var numRows = petJson.response.body.totalCount._text; //개수
// if (numRows == 1) {
// // state 정상인 것만 추리기
// if (itemList.item.state._text == '정상') {
// appliance_list.push(itemList.item);
// }
// }
// else if (numRows == 0) { }
// else {
// for (i = 0; i < numRows; i++) {
// // state 정상인 것만 추리기
// if (itemList.item[i].state._text == '정상') {
// appliance_list.push(itemList.item[i]);
// }
// }
// }
// //테스트용 console.log
// for (i = 0; i < hospital_list.length; i++) {
// titles = titles + hospital_list[i].title._text + '\n';
// }
// if (titles == '') { console.log('nothing'); }
// else { console.log(titles); }
// }
// }
// res.render('result', { category: 'hospital', titles: titles, hospital_list: hospital_list });
// })
// });
// 사용자가 index 페이지에서 주소를 입력하고 넘어오면
router.post('/', function (req, res) {
var body = req.body;
var gu_select = body.user_gu;
var menu = '동물병원';
gu_select = body.user_gu;
console.log(gu_select);
// encoding for url
var menu_encode = urlencode(menu);
var gu_select_encode = urlencode(gu_select);
});
router.get('/hospital', function (req, res) {
//api
var gu_select_encode = urlencode(gu_select);
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=200&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`;
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=%EB%8F%99%EB%AC%BC%EB%B3%91%EC%9B%90&where=${gu_select_encode}`;
request(pet_url, function (err, response, body) {
if (err) {
console.log(`err => ${err}`)
}
else {
if (res.statusCode == 200) {
var hospital_list = [];
var titles = '';
let hospital_list = [];
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result);
var petJson = JSON.parse(result)
var itemList = petJson.response.body.items;
var numRows = petJson.response.body.totalCount._text; //개수
if (numRows == 1) {
var numRows = itemList.item.length; //개수
for (i = 0; i < numRows; i++) {
// state 정상인 것만 추리기
if (itemList.item.state._text == '정상') {
appliance_list.push(itemList.item);
if (itemList.item[i].state._text == '정상') {
hospital_list.push(itemList.item[i]);
}
}
else if (numRows == 0) { }
else {
for (i = 0; i < numRows; i++) {
// state 정상인 것만 추리기
if (itemList.item[i].state._text == '정상') {
appliance_list.push(itemList.item[i]);
}
}
}
//테스트용 console.log
var titles = '';
for (i = 0; i < hospital_list.length; i++) {
titles = titles + hospital_list[i].title._text + '\n';
}
if (titles == '') { console.log('nothing'); }
else { console.log(titles); }
console.log(titles);
res.render('result', { category: 'hospital', titles: titles, hospital_list: hospital_list });
}
}
res.render('result', { category: 'hospital', titles: titles, hospital_list: hospital_list });
})
});
module.exports = router;
//동물약국
router.post('/medicine', function (req, res) {
router.get('/medicine', function (req, res) {
//gu 받아오기
var body = req.body;
var gu_select = body.user_gu;
var menu = '동물약국';
// encoding for url
var menu_encode = urlencode(menu);
var gu_select_encode = urlencode(gu_select);
//api
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=200&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`;
request(pet_url, function (err, response, body) {
......@@ -101,7 +121,6 @@ router.post('/medicine', function (req, res) {
if (res.statusCode == 200) {
var medicine_list = [];
var titles = '';
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result);
var itemList = petJson.response.body.items;
......@@ -134,18 +153,15 @@ router.post('/medicine', function (req, res) {
res.render('result', { category: 'medicine', titles: titles, medicine_list: medicine_list });
})
});
//의료기기
router.post('/appliance', function (req, res) {
router.get('/appliance', function (req, res) {
//gu 받아오기
var body = req.body;
var gu_select = body.user_gu;
var menu = "동물의료기기 판매 및 임대업체";
// encoding for url
var menu_encode = urlencode(menu);
var gu_select_encode = urlencode(gu_select);
//api
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode}&where=${gu_select_encode}`;
request(pet_url, function (err, response, body) {
......@@ -156,12 +172,10 @@ router.post('/appliance', function (req, res) {
if (res.statusCode == 200) {
var appliance_list = [];
var titles = '';
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result);
var itemList = petJson.response.body.items;
var numRows = petJson.response.body.totalCount._text; //개수
//-------------------------------------------------
if (numRows == 1) {
// state 정상인 것만 추리기
......@@ -192,21 +206,18 @@ router.post('/appliance', function (req, res) {
res.render('result', { category: 'appliance', titles: titles, appliance_list: appliance_list });
})
});
//체육시설
router.post('/park', function (req, res) {
//gu 받아오기
var body = req.body;
var gu_select = body.user_gu;
var menu = ["생활체육관", "학교체육시설", "풋살장", "축구장"];
// encoding for url
var menu_encode = [];
for (var j = 0; j < menu.length; j++) {
menu_encode[j] = urlencode(menu[j]);
}
var gu_select_encode = urlencode(gu_select);
//api
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode[0]}&where=${gu_select_encode}`;
request(pet_url, function (err, response, body) {
......@@ -217,12 +228,10 @@ router.post('/park', function (req, res) {
if (res.statusCode == 200) {
var appliance_list = [];
var titles = '';
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result)
var itemList = petJson.response.body.items;
var numRows = petJson.response.body.totalCount._text; //개수
if (numRows == 1) {
appliance_list.push(itemList.item);
}
......@@ -234,7 +243,6 @@ router.post('/park', function (req, res) {
}
}
}
//api
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode[1]}&where=${gu_select_encode}`;
//let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=%EC%83%9D%ED%99%9C%EC%B2%B4%EC%9C%A1%EA%B4%80&where=${gu_select_encode}`;
......@@ -244,13 +252,10 @@ router.post('/park', function (req, res) {
}
else {
if (res.statusCode == 200) {
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result)
var itemList = petJson.response.body.items;
var numRows = petJson.response.body.totalCount._text; //개수
if (numRows == 1) {
appliance_list.push(itemList.item);
}
......@@ -262,7 +267,6 @@ router.post('/park', function (req, res) {
}
}
}
//api
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode[2]}&where=${gu_select_encode}`;
request(pet_url, function (err, response, body) {
......@@ -273,10 +277,8 @@ router.post('/park', function (req, res) {
if (res.statusCode == 200) {
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result)
var itemList = petJson.response.body.items;
var numRows = petJson.response.body.totalCount._text; //개수
if (numRows == 1) {
appliance_list.push(itemList.item);
}
......@@ -288,7 +290,6 @@ router.post('/park', function (req, res) {
}
}
}
//api
let pet_url = `http://api.kcisa.kr/openapi/service/rest/convergence2019/getConver03?serviceKey=${ANIMAL_INFO_API_KEY}&numOfRows=100&pageNo=1&keyword=${menu_encode[3]}&where=${gu_select_encode}`;
request(pet_url, function (err, response, body) {
......@@ -299,10 +300,8 @@ router.post('/park', function (req, res) {
if (res.statusCode == 200) {
var result = convert.xml2json(body, { compact: true, spaces: 4 });
var petJson = JSON.parse(result)
var itemList = petJson.response.body.items;
var numRows = petJson.response.body.totalCount._text; //개수
if (numRows == 1) {
appliance_list.push(itemList.item);
}
......@@ -317,7 +316,6 @@ router.post('/park', function (req, res) {
for (i = 0; i < appliance_list.length; i++) {
titles = titles + appliance_list[i].title._text + '\n';
}
if (titles == '') { console.log('nothing'); }
else { console.log(titles); }
}
......@@ -328,7 +326,4 @@ router.post('/park', function (req, res) {
});
});
});
module.exports = router;
module.exports = router;
\ No newline at end of file
......