fix(analytics.gblib): Improvements in customer feedback.

This commit is contained in:
Rodrigo Rodriguez 2020-11-23 08:33:48 -03:00
parent 6343313579
commit d5f42982f6
2 changed files with 17 additions and 11 deletions

View file

@ -53,22 +53,22 @@ export class AnalyticsService {
}
public async updateConversationRate(
instanceId: number,
instanceId: number,
conversationId: number,
rate: number
): Promise<GuaribasConversation> {
const options = { where: {} };
// TODO: Filter by instanceId: instanceId
options.where = { conversationId: conversationId };
const options = { where: { } };
options.where = { conversationId: conversationId, instanceId: instanceId };
const item = await GuaribasConversation.findOne(options);
item.rate = rate;
item.rateDate = new Date();
item.rateDate = new Date();
return item.save();
}
public async createMessage(
instanceId: number,
instanceId: number,
conversation: GuaribasConversation,
userId: number,
content: string

View file

@ -44,6 +44,7 @@ import { CSService } from '../services/CSService';
import { Messages } from '../strings';
import { SecService } from '../../security.gbapp/services/SecService';
import { GBServer } from '../../../src/app';
import { AnalyticsService } from '../../analytics.gblib/services/AnalyticsService';
/**
* Dialog for feedback collecting.
@ -141,20 +142,25 @@ export class FeedbackDialog extends IGBDialog {
const user = await min.userProfile.get(step.context, {});
const rate = await AzureText.getSentiment(
minBoot.instance.textAnalyticsKey ? minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
minBoot.instance.textAnalyticsEndpoint ? minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsEndpoint,
minBoot.instance.textAnalyticsKey ? minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
minBoot.instance.textAnalyticsEndpoint ? minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsEndpoint,
user.systemUser.locale,
step.result
);
const fixedLocale= 'en-US';
// Updates values to perform Bot Analytics.
// const analytics = new AnalyticsService();
// analytics.updateConversationRate(min.instance.instanceId, user.conversation, rate);
const fixedLocale = 'en-US';
if (rate > 0.5) {
await min.conversationalService.sendText(min, step, Messages[fixedLocale].glad_you_liked);
await min.conversationalService.sendText(min, step, Messages[fixedLocale].glad_you_liked);
} else {
const message = min.core.getParam<string>(min.instance, "Feedback Improve Message",
Messages[fixedLocale].we_will_improve); // TODO: Improve to be multi-language.
await min.conversationalService.sendText(min, step, message);
}