공정훈

Add mbti analysis

...@@ -306,7 +306,6 @@ apiRouter.post('/question20', (req, res) => { ...@@ -306,7 +306,6 @@ apiRouter.post('/question20', (req, res) => {
306 apiRouter.post('/result', (req, res) => { 306 apiRouter.post('/result', (req, res) => {
307 var userId = req.body.userRequest.user.id; 307 var userId = req.body.userRequest.user.id;
308 var mesg = req.body.userRequest.utterance; 308 var mesg = req.body.userRequest.utterance;
309 - console.log('[result:user message] ', mesg);
310 var mbti = ''; 309 var mbti = '';
311 if (mesg == "네") { 310 if (mesg == "네") {
312 mbti = 'J'; 311 mbti = 'J';
...@@ -315,13 +314,15 @@ apiRouter.post('/result', (req, res) => { ...@@ -315,13 +314,15 @@ apiRouter.post('/result', (req, res) => {
315 } 314 }
316 userDB[userId][3] += mbti; 315 userDB[userId][3] += mbti;
317 console.log(userDB[userId]); 316 console.log(userDB[userId]);
317 + analysis_mbti(userDB[userId]);
318 const responseBody = { 318 const responseBody = {
319 version: "2.0", 319 version: "2.0",
320 template: { 320 template: {
321 outputs: [ 321 outputs: [
322 { 322 {
323 simpleText: { 323 simpleText: {
324 - text: "당신의 MBTI는 : "+userDB[userId] 324 + text: "당신의 MBTI는 : "+userDB[userId][4]
325 +
325 } 326 }
326 } 327 }
327 ], 328 ],
...@@ -336,6 +337,47 @@ apiRouter.post('/result', (req, res) => { ...@@ -336,6 +337,47 @@ apiRouter.post('/result', (req, res) => {
336 res.status(200).send(responseBody); 337 res.status(200).send(responseBody);
337 }); 338 });
338 339
340 +function analysis_mbti(userdb) {
341 + var e = count_mbti(userdb[0], 'E');
342 + var i = 1-e; //-> 5
343 + var n = count_mbti(userdb[1], 'N');
344 + var s = 1-n; //-> 5
345 + var f = count_mbti(userdb[2], 'F');
346 + var t = 2-f; //-> 5
347 + var j = count_mbti(userdb[3], 'J');
348 + var p = 2-j; //-> 5
349 + if (e > i) {
350 + userdb[4] += 'E';
351 + } else {
352 + userdb[4] += 'I';
353 + }
354 + if (n > s) {
355 + userdb[4] += 'N';
356 + } else {
357 + userdb[4] += 'S';
358 + }
359 + if (f > t) {
360 + userdb[4] += 'F';
361 + } else {
362 + userdb[4] += 'T';
363 + }
364 + if (j > p) {
365 + userdb[4] += 'J';
366 + } else {
367 + userdb[4] += 'P';
368 + }
369 +}
370 +
371 +function count_mbti(item_list, mbti_ch) {
372 + var result = 0;
373 + for (var i=0; i<5; i++) {
374 + if(item_list[i] == 'mbti_ch'){
375 + result += 1;
376 + }
377 + }
378 + return result;
379 +}
380 +
339 app.listen((process.env.PORT || 3000), function() { 381 app.listen((process.env.PORT || 3000), function() {
340 console.log('Example skill server listening on port 3000!'); 382 console.log('Example skill server listening on port 3000!');
341 }); 383 });
...\ No newline at end of file ...\ No newline at end of file
......