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( public async updateConversationRate(
instanceId: number, instanceId: number,
conversationId: number, conversationId: number,
rate: number rate: number
): Promise<GuaribasConversation> { ): Promise<GuaribasConversation> {
const options = { where: {} }; const options = { where: { } };
// TODO: Filter by instanceId: instanceId
options.where = { conversationId: conversationId }; options.where = { conversationId: conversationId, instanceId: instanceId };
const item = await GuaribasConversation.findOne(options); const item = await GuaribasConversation.findOne(options);
item.rate = rate; item.rate = rate;
item.rateDate = new Date(); item.rateDate = new Date();
return item.save(); return item.save();
} }
public async createMessage( public async createMessage(
instanceId: number, instanceId: number,
conversation: GuaribasConversation, conversation: GuaribasConversation,
userId: number, userId: number,
content: string content: string

View file

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