Minor fixes in imports and exact match question processing.

This commit is contained in:
Rodrigo Rodriguez 2018-05-13 16:35:57 -03:00
parent f899029963
commit a55c677833
3 changed files with 29 additions and 13 deletions

View file

@ -33,7 +33,7 @@
"use strict"; "use strict";
import { UrlJoin } from "urljoin"; const UrlJoin = require("url-join");
import { AzureSearch } from "pragmatismo-io-framework"; import { AzureSearch } from "pragmatismo-io-framework";
import { Prompts, Session, UniversalBot } from 'botbuilder'; import { Prompts, Session, UniversalBot } from 'botbuilder';
import { GBMinInstance } from "botlib"; import { GBMinInstance } from "botlib";

View file

@ -52,7 +52,7 @@ export class WelcomeDialog extends IGBDialog {
date < 12 ? "bom dia" : date < 18 ? "boa tarde" : "boa noite"; date < 12 ? "bom dia" : date < 18 ? "boa tarde" : "boa noite";
session.sendTyping(); session.sendTyping();
let msgs = [`Oi, ${msg}..`, `Oi!`, `Olá, ${msg}`, `Olá!`]; let msgs = [`Oi, ${msg}.`, `Oi!`, `Olá, ${msg}`, `Olá!`];
session.endDialog(msgs); session.endDialog(msgs);
} }

View file

@ -40,6 +40,12 @@ const Walk = require("fs-walk");
const WaitUntil = require("wait-until"); const WaitUntil = require("wait-until");
const marked = require("marked"); const marked = require("marked");
import { Sequelize } from "sequelize-typescript";
import { GBConfigService } from './../../core.gbapp/services/GBConfigService';
import { GuaribasQuestion, GuaribasAnswer, GuaribasSubject } from "../models"; import { GuaribasQuestion, GuaribasAnswer, GuaribasSubject } from "../models";
import { GBServiceCallback, IGBCoreService, IGBConversationalService, IGBInstance } from "botlib"; import { GBServiceCallback, IGBCoreService, IGBConversationalService, IGBInstance } from "botlib";
import { AzureSearch } from "pragmatismo-io-framework"; import { AzureSearch } from "pragmatismo-io-framework";
@ -74,17 +80,22 @@ export class KBService {
GuaribasQuestion.findOne({ GuaribasQuestion.findOne({
where: { where: {
instanceId: instanceId, instanceId: instanceId,
content: `${text.trim()}?` content: { $like: `%${text.trim()}%` }
} }
}).then((question: GuaribasQuestion) => { }).then((question: GuaribasQuestion) => {
GuaribasAnswer.findAll({ if (question) {
where: { GuaribasAnswer.findAll({
instanceId: instanceId, where: {
answerId: question.answerId instanceId: instanceId,
} answerId: question.answerId
}).then((answer: GuaribasAnswer[]) => { }
cb({ question: question, answer: answer[0] }, null); }).then((answer: GuaribasAnswer[]) => {
}); cb({ question: question, answer: answer[0] }, null);
});
}
else {
cb(null, null);
}
}); });
} }
@ -125,7 +136,7 @@ export class KBService {
var _this = this; var _this = this;
if (instance.searchKey) { if (instance.searchKey && GBConfigService.get("DATABASE_DIALECT") == "mssql") {
let service = new AzureSearch( let service = new AzureSearch(
instance.searchKey, instance.searchKey,
instance.searchHost, instance.searchHost,
@ -154,7 +165,12 @@ export class KBService {
}); });
} else { } else {
this.getAnswerByText(instance.instanceId, what, (data, err) => { this.getAnswerByText(instance.instanceId, what, (data, err) => {
cb({ answer: data.answer, questionId: data.question.questionId }, null); if (data) {
cb({ answer: data.answer, questionId: data.question.questionId }, null);
}
else {
cb(null, err);
}
}); });
} }
} }