Eunsu486

Merge branch 'master' of eunsu

...@@ -13,6 +13,8 @@ let user_gu; ...@@ -13,6 +13,8 @@ let user_gu;
13 let user_latitude; 13 let user_latitude;
14 let user_longitude; 14 let user_longitude;
15 15
16 +
17 +//동물병원
16 router.post('/hospital', function (req, res) { 18 router.post('/hospital', function (req, res) {
17 //gu 받아오기 19 //gu 받아오기
18 var body = req.body; 20 var body = req.body;
...@@ -24,24 +26,36 @@ router.post('/hospital', function (req, res) { ...@@ -24,24 +26,36 @@ router.post('/hospital', function (req, res) {
24 var gu_select_encode = urlencode(gu_select); 26 var gu_select_encode = urlencode(gu_select);
25 27
26 //api 28 //api
27 - 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}`; 29 +
30 + 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}`;
28 request(pet_url, function (err, response, body) { 31 request(pet_url, function (err, response, body) {
29 if (err) { 32 if (err) {
30 console.log(`err => ${err}`) 33 console.log(`err => ${err}`)
31 } 34 }
32 else { 35 else {
33 if (res.statusCode == 200) { 36 if (res.statusCode == 200) {
34 - var hospital_list = []; //얘를 전역으로 선언해서 중복이 발생했던 거였어요 ㅠ 37 + var hospital_list = [];
35 var titles = ''; 38 var titles = '';
36 39
37 var result = convert.xml2json(body, { compact: true, spaces: 4 }); 40 var result = convert.xml2json(body, { compact: true, spaces: 4 });
38 - var petJson = JSON.parse(result) 41 + var petJson = JSON.parse(result);
39 var itemList = petJson.response.body.items; 42 var itemList = petJson.response.body.items;
40 - var numRows = itemList.item.length; //개수 43 + var numRows = petJson.response.body.totalCount._text; //개수
41 - for (i = 0; i < numRows; i++) { 44 +
45 + if (numRows == 1) {
42 // state 정상인 것만 추리기 46 // state 정상인 것만 추리기
43 - if (itemList.item[i].state._text == '정상') { 47 + if (itemList.item.state._text == '정상') {
44 - hospital_list.push(itemList.item[i]); 48 + appliance_list.push(itemList.item);
49 + }
50 + }
51 + else if (numRows == 0) { }
52 + else {
53 + for (i = 0; i < numRows; i++) {
54 + // state 정상인 것만 추리기
55 + if (itemList.item[i].state._text == '정상') {
56 + appliance_list.push(itemList.item[i]);
57 + }
58 +
45 } 59 }
46 } 60 }
47 61
...@@ -49,7 +63,9 @@ router.post('/hospital', function (req, res) { ...@@ -49,7 +63,9 @@ router.post('/hospital', function (req, res) {
49 for (i = 0; i < hospital_list.length; i++) { 63 for (i = 0; i < hospital_list.length; i++) {
50 titles = titles + hospital_list[i].title._text + '\n'; 64 titles = titles + hospital_list[i].title._text + '\n';
51 } 65 }
52 - console.log(titles); 66 +
67 + if (titles == '') { console.log('nothing'); }
68 + else { console.log(titles); }
53 } 69 }
54 } 70 }
55 res.render('result', { category: 'hospital', titles: titles, hospital_list: hospital_list }); 71 res.render('result', { category: 'hospital', titles: titles, hospital_list: hospital_list });
...@@ -59,3 +75,255 @@ router.post('/hospital', function (req, res) { ...@@ -59,3 +75,255 @@ router.post('/hospital', function (req, res) {
59 module.exports = router; 75 module.exports = router;
60 76
61 77
78 +
79 +//동물약국
80 +router.post('/medicine', function (req, res) {
81 + //gu 받아오기
82 + var body = req.body;
83 + var gu_select = body.user_gu;
84 + var menu = '동물약국';
85 +
86 + // encoding for url
87 + var menu_encode = urlencode(menu);
88 + var gu_select_encode = urlencode(gu_select);
89 +
90 + //api
91 + 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}`;
92 + request(pet_url, function (err, response, body) {
93 + if (err) {
94 + console.log(`err => ${err}`)
95 + }
96 + else {
97 + if (res.statusCode == 200) {
98 + var medicine_list = [];
99 + var titles = '';
100 +
101 + var result = convert.xml2json(body, { compact: true, spaces: 4 });
102 + var petJson = JSON.parse(result);
103 + var itemList = petJson.response.body.items;
104 + var numRows = petJson.response.body.totalCount._text; //개수
105 +
106 + if (numRows == 1) {
107 + // state 정상인 것만 추리기
108 + if (itemList.item.state._text == '정상') {
109 + appliance_list.push(itemList.item);
110 + }
111 + }
112 + else if (numRows == 0) { }
113 + else {
114 + for (i = 0; i < numRows; i++) {
115 + // state 정상인 것만 추리기
116 + if (itemList.item[i].state._text == '정상') {
117 + appliance_list.push(itemList.item[i]);
118 + }
119 + }
120 + }
121 +
122 + //테스트용 console.log
123 + for (i = 0; i < medicine_list.length; i++) {
124 + titles = titles + medicine_list[i].title._text + '\n';
125 + }
126 + if (titles == '') { console.log('nothing'); }
127 + else { console.log(titles); }
128 + }
129 + }
130 + res.render('result', { category: 'medicine', titles: titles, medicine_list: medicine_list });
131 + })
132 +});
133 +
134 +//의료기기
135 +router.post('/appliance', function (req, res) {
136 + //gu 받아오기
137 + var body = req.body;
138 + var gu_select = body.user_gu;
139 + var menu = "동물의료기기 판매 및 임대업체";
140 +
141 + // encoding for url
142 + var menu_encode = urlencode(menu);
143 + var gu_select_encode = urlencode(gu_select);
144 +
145 + //api
146 + 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}`;
147 + request(pet_url, function (err, response, body) {
148 + if (err) {
149 + console.log(`err => ${err}`)
150 + }
151 + else {
152 + if (res.statusCode == 200) {
153 + var appliance_list = [];
154 + var titles = '';
155 +
156 + var result = convert.xml2json(body, { compact: true, spaces: 4 });
157 + var petJson = JSON.parse(result);
158 + var itemList = petJson.response.body.items;
159 + var numRows = petJson.response.body.totalCount._text; //개수
160 +
161 + //-------------------------------------------------
162 + if (numRows == 1) {
163 + // state 정상인 것만 추리기
164 + if (itemList.item.state._text == '정상') {
165 + appliance_list.push(itemList.item);
166 + }
167 + }
168 + else if (numRows == 0) { }
169 + else {
170 + for (i = 0; i < numRows; i++) {
171 + // state 정상인 것만 추리기
172 + if (itemList.item[i].state._text == '정상') {
173 + appliance_list.push(itemList.item[i]);
174 + }
175 + }
176 + }
177 + //-----------------------------------------------
178 +
179 + //테스트용 console.log
180 + for (i = 0; i < appliance_list.length; i++) {
181 + titles = titles + appliance_list[i].title._text + '\n';
182 + }
183 + if (titles == '') { console.log('nothing'); }
184 + else { console.log(titles); }
185 +
186 + }
187 + }
188 + res.render('result', { category: 'appliance', titles: titles, appliance_list: appliance_list });
189 + })
190 +});
191 +
192 +//체육시설
193 +router.post('/park', function (req, res) {
194 + //gu 받아오기
195 + var body = req.body;
196 + var gu_select = body.user_gu;
197 + var menu = ["생활체육관", "학교체육시설", "풋살장", "축구장"];
198 +
199 + // encoding for url
200 + var menu_encode = [];
201 + for (var j = 0; j < menu.length; j++) {
202 + menu_encode[j] = urlencode(menu[j]);
203 + }
204 + var gu_select_encode = urlencode(gu_select);
205 +
206 + //api
207 + 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}`;
208 + request(pet_url, function (err, response, body) {
209 + if (err) {
210 + console.log(`err => ${err}`)
211 + }
212 + else {
213 + if (res.statusCode == 200) {
214 + var appliance_list = [];
215 + var titles = '';
216 +
217 + var result = convert.xml2json(body, { compact: true, spaces: 4 });
218 + var petJson = JSON.parse(result)
219 + var itemList = petJson.response.body.items;
220 + var numRows = petJson.response.body.totalCount._text; //개수
221 +
222 + if (numRows == 1) {
223 + appliance_list.push(itemList.item);
224 + }
225 + else if (numRows == 0) { }
226 + else {
227 + for (i = 0; i < numRows; i++) {
228 + appliance_list.push(itemList.item[i]);
229 + }
230 + }
231 + }
232 + }
233 +
234 + //api
235 + 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}`;
236 + //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}`;
237 + request(pet_url, function (err, response, body) {
238 + if (err) {
239 + console.log(`err => ${err}`)
240 + }
241 + else {
242 + if (res.statusCode == 200) {
243 +
244 + var result = convert.xml2json(body, { compact: true, spaces: 4 });
245 + var petJson = JSON.parse(result)
246 +
247 + var itemList = petJson.response.body.items;
248 + var numRows = petJson.response.body.totalCount._text; //개수
249 +
250 + if (numRows == 1) {
251 + appliance_list.push(itemList.item);
252 + }
253 + else if (numRows == 0) { }
254 + else {
255 + for (i = 0; i < numRows; i++) {
256 + appliance_list.push(itemList.item[i]);
257 + }
258 + }
259 + }
260 + }
261 +
262 + //api
263 + 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}`;
264 + request(pet_url, function (err, response, body) {
265 + if (err) {
266 + console.log(`err => ${err}`)
267 + }
268 + else {
269 + if (res.statusCode == 200) {
270 + var result = convert.xml2json(body, { compact: true, spaces: 4 });
271 + var petJson = JSON.parse(result)
272 +
273 + var itemList = petJson.response.body.items;
274 + var numRows = petJson.response.body.totalCount._text; //개수
275 +
276 + if (numRows == 1) {
277 + appliance_list.push(itemList.item);
278 + }
279 + else if (numRows == 0) { }
280 + else {
281 + for (i = 0; i < numRows; i++) {
282 + appliance_list.push(itemList.item[i]);
283 + }
284 + }
285 + }
286 + }
287 +
288 + //api
289 + 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}`;
290 + request(pet_url, function (err, response, body) {
291 + if (err) {
292 + console.log(`err => ${err}`)
293 + }
294 + else {
295 + if (res.statusCode == 200) {
296 + var result = convert.xml2json(body, { compact: true, spaces: 4 });
297 + var petJson = JSON.parse(result)
298 +
299 + var itemList = petJson.response.body.items;
300 + var numRows = petJson.response.body.totalCount._text; //개수
301 +
302 + if (numRows == 1) {
303 + appliance_list.push(itemList.item);
304 + }
305 + else if (numRows == 0) { }
306 + else {
307 + for (i = 0; i < numRows; i++) {
308 + appliance_list.push(itemList.item[i]);
309 + }
310 + }
311 +
312 + //테스트용 console.log
313 + for (i = 0; i < appliance_list.length; i++) {
314 + titles = titles + appliance_list[i].title._text + '\n';
315 + }
316 +
317 + if (titles == '') { console.log('nothing'); }
318 + else { console.log(titles); }
319 + }
320 + }
321 + res.render('result', { category: 'park', titles: titles, appliance_list: appliance_list });
322 + });
323 + });
324 + });
325 + });
326 +});
327 +
328 +module.exports = router;
329 +
......
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
91 <p> 91 <p>
92 지역 선택 92 지역 선택
93 </p> 93 </p>
94 - <form action="/category/hospital" method="post" name="location" id="location"> 94 + <form action="/category/park" method="post" name="location" id="location">
95 <select onchange="sm()" name="user_gu" id="user_gu_select"> 95 <select onchange="sm()" name="user_gu" id="user_gu_select">
96 <option value='' selected="true" disabled="true">--Please choose an option--</option> 96 <option value='' selected="true" disabled="true">--Please choose an option--</option>
97 <option value='금천구'>금천구</option> 97 <option value='금천구'>금천구</option>
......
1 +it's appliance page
...\ No newline at end of file ...\ No newline at end of file
1 +it's medicine page
...\ No newline at end of file ...\ No newline at end of file
1 +it's park page
...\ No newline at end of file ...\ No newline at end of file