Showing
1 changed file
with
172 additions
and
0 deletions
... | @@ -322,6 +322,178 @@ apiRouter.post('/question7', (req, res) => { | ... | @@ -322,6 +322,178 @@ apiRouter.post('/question7', (req, res) => { |
322 | res.status(200).send(responseBody); | 322 | res.status(200).send(responseBody); |
323 | }); | 323 | }); |
324 | 324 | ||
325 | +apiRouter.post('/result', (req, res) => { | ||
326 | + var userId = req.body.userRequest.user.id; | ||
327 | + var mesg = req.body.userRequest.utterance; | ||
328 | + console.log('[result:user message] ', mesg); | ||
329 | + var mbti = ''; | ||
330 | + if (mesg == "네") { | ||
331 | + mbti = 'T'; | ||
332 | + } else if (mesg == "아니오") { | ||
333 | + mbti = 'F'; | ||
334 | + } | ||
335 | + userDB[userId][2] += mbti; | ||
336 | + console.log(userDB[userId]); | ||
337 | + result(userDB[userId]); | ||
338 | + const responseBody = { | ||
339 | + version: "2.0", | ||
340 | + template: { | ||
341 | + outputs: [ | ||
342 | + { | ||
343 | + simpleText: { | ||
344 | + text: "당신의 MBTI는 : "+userDB[userId][4] | ||
345 | + } | ||
346 | + } | ||
347 | + ], | ||
348 | + quickReplies: [{ | ||
349 | + action: "block", | ||
350 | + label: "MBTI 테스트 다시하기", | ||
351 | + message: "MBTI 테스트 다시하기", | ||
352 | + blockId : "6297b10d5ceed96c38544a06" | ||
353 | + }, | ||
354 | + { | ||
355 | + action: "block", | ||
356 | + label: "자세한 결과 보기", | ||
357 | + message: "자세한 결과 보기", | ||
358 | + blockId: "6297bc58ab89e678ee86b33a" | ||
359 | + }] | ||
360 | + } | ||
361 | + } | ||
362 | + res.status(200).send(responseBody); | ||
363 | +}); | ||
364 | + | ||
365 | +apiRouter.post('/detail', (req, res) => { | ||
366 | + var userId = req.body.userRequest.user.id; | ||
367 | + var mesg = req.body.userRequest.utterance; | ||
368 | + var E=0; | ||
369 | + var I=0; | ||
370 | + var N=0; | ||
371 | + var S=0; | ||
372 | + var F=0; | ||
373 | + var T=0; | ||
374 | + var P=0; | ||
375 | + var J=0; | ||
376 | + | ||
377 | + for(let j=0;j<4;j++){ | ||
378 | + for(let i=0; i<3; i++){ | ||
379 | + if(j==0){ | ||
380 | + if(userDB[userId][j][i]=="E"){ | ||
381 | + E++; | ||
382 | + } | ||
383 | + else{ | ||
384 | + I++; | ||
385 | + } | ||
386 | + } | ||
387 | + else if(j==1){ | ||
388 | + if(userDB[userId][j][i]=="N"){ | ||
389 | + N++; | ||
390 | + } | ||
391 | + else{ | ||
392 | + S++; | ||
393 | + } | ||
394 | + } | ||
395 | + else if(j==2){ | ||
396 | + if(userDB[userId][j][i]=="F"){ | ||
397 | + F++; | ||
398 | + } | ||
399 | + else{ | ||
400 | + T++; | ||
401 | + } | ||
402 | + } | ||
403 | + else if(j==3){ | ||
404 | + if(userDB[userId][j][i]=="N"){ | ||
405 | + P++; | ||
406 | + } | ||
407 | + else{ | ||
408 | + J++; | ||
409 | + } | ||
410 | + } | ||
411 | + } | ||
412 | + } | ||
413 | + | ||
414 | + const responseBody = { | ||
415 | + version: "2.0", | ||
416 | + template: { | ||
417 | + outputs: [ | ||
418 | + { | ||
419 | + simpleText: { | ||
420 | + text: "E와 I의 비율\nE : "+(E/(E+I)*100)+"%\nI : "+(I/(E+I)*100)+"\nN와 S의 비율\nN : "+(N/(N+S)*100)+"%\nS : "+(S/(N+S)*100)+"\nF와 T의 비율\nF : "+(F/(F+T)*100)+"%\nT : "+(T/(F+T)*100)+"\nJ와 P의 비율\nJ : "+(J/(J+P)*100)+"%\nP : "+(P/(J+P)*100) | ||
421 | + } | ||
422 | + } | ||
423 | + ] | ||
424 | + } | ||
425 | + } | ||
426 | + res.status(200).send(responseBody); | ||
427 | +}); | ||
428 | + | ||
429 | +function result(Array){ | ||
430 | + var E=0; | ||
431 | + var I=0; | ||
432 | + var N=0; | ||
433 | + var S=0; | ||
434 | + var F=0; | ||
435 | + var T=0; | ||
436 | + var P=0; | ||
437 | + var J=0; | ||
438 | + | ||
439 | + for(let j=0;j<4;j++){ | ||
440 | + for(let i=0; i<3; i++){ | ||
441 | + if(j==0){ | ||
442 | + if(Array[j][i]=="E"){ | ||
443 | + E++; | ||
444 | + } | ||
445 | + else{ | ||
446 | + I++; | ||
447 | + } | ||
448 | + } | ||
449 | + else if(j==1){ | ||
450 | + if(Array[j][i]=="N"){ | ||
451 | + N++; | ||
452 | + } | ||
453 | + else{ | ||
454 | + S++; | ||
455 | + } | ||
456 | + } | ||
457 | + else if(j==2){ | ||
458 | + if(Array[j][i]=="F"){ | ||
459 | + F++; | ||
460 | + } | ||
461 | + else{ | ||
462 | + T++; | ||
463 | + } | ||
464 | + } | ||
465 | + else if(j==3){ | ||
466 | + if(Array[j][i]=="N"){ | ||
467 | + P++; | ||
468 | + } | ||
469 | + else{ | ||
470 | + J++; | ||
471 | + } | ||
472 | + } | ||
473 | + } | ||
474 | + } | ||
475 | + | ||
476 | + if(E>I) | ||
477 | + Array[4]+='E'; | ||
478 | + else | ||
479 | + Array[4]+='I'; | ||
480 | + | ||
481 | + if(N>S) | ||
482 | + Array[4]+='N'; | ||
483 | + else | ||
484 | + Array[4]+='S'; | ||
485 | + | ||
486 | + if(F>T) | ||
487 | + Array[4]+='F'; | ||
488 | + else | ||
489 | + Array[4]+='T'; | ||
490 | + | ||
491 | + if(P>J) | ||
492 | + Array[4]+='P'; | ||
493 | + else | ||
494 | + Array[4]+='J'; | ||
495 | +} | ||
496 | + | ||
325 | app.listen((process.env.PORT || 3000), function() { | 497 | app.listen((process.env.PORT || 3000), function() { |
326 | console.log('Example skill server listening on port 3000!'); | 498 | console.log('Example skill server listening on port 3000!'); |
327 | }); | 499 | }); |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment