Compare commits

...

6 Commits

5 changed files with 33 additions and 18 deletions

View File

@@ -23,8 +23,8 @@ type CrmInvoiceConfig struct {
PartnerAudioBookingBH *string `gorm:"column:partner_audio_booking_bh" json:"partner_audio_booking_bh"` PartnerAudioBookingBH *string `gorm:"column:partner_audio_booking_bh" json:"partner_audio_booking_bh"`
PartnerVideoBookingAH *string `gorm:"column:partner_video_booking_ah" json:"partner_video_booking_ah"` PartnerVideoBookingAH *string `gorm:"column:partner_video_booking_ah" json:"partner_video_booking_ah"`
PartnerVideoBookingBH *string `gorm:"column:partner_video_booking_bh" json:"partner_video_booking_bh"` PartnerVideoBookingBH *string `gorm:"column:partner_video_booking_bh" json:"partner_video_booking_bh"`
RoundingFunction *string `gorm:"column:rounding_function" json:"rounding_function"`
RoundBookings *bool `gorm:"column:round_bookings" json:"round_bookings"` RoundBookings *bool `gorm:"column:round_bookings" json:"round_bookings"`
RoundingFunction *bool `gorm:"column:rounding_function" json:"rounding_function"`
SplitBookings *bool `gorm:"column:split_bookings" json:"split_bookings"` SplitBookings *bool `gorm:"column:split_bookings" json:"split_bookings"`
SplitOnDemand *bool `gorm:"column:split_on_demand" json:"split_on_demand"` SplitOnDemand *bool `gorm:"column:split_on_demand" json:"split_on_demand"`
} }

View File

@@ -67,8 +67,8 @@ type CallStat struct {
ClientId int `gorm:"index"` ClientId int `gorm:"index"`
CustomerDnis string CustomerDnis string
CustomerAni string CustomerAni string
ConversationStart time.Time `gorm:"index"` ConversationStart *time.Time `gorm:"index"`
ConversationEnd time.Time `gorm:"index"` ConversationEnd *time.Time `gorm:"index"`
SearchStartTime *time.Time SearchStartTime *time.Time
P1ConnectTime time.Time `gorm:"index"` P1ConnectTime time.Time `gorm:"index"`
P1DisconnectTime time.Time `gorm:"index"` P1DisconnectTime time.Time `gorm:"index"`
@@ -78,8 +78,6 @@ type CallStat struct {
InterpreterAccepted bool InterpreterAccepted bool
InterpreterConnectedCount int InterpreterConnectedCount int
InterpreterConnected bool InterpreterConnected bool
// InterpreterCount int
// InterpreterConnected bool
ClientDisconnected bool ClientDisconnected bool
UtsDuration int UtsDuration int
UtsEntries int UtsEntries int
@@ -93,3 +91,17 @@ type CallStat struct {
func (CallStat) TableName() string { func (CallStat) TableName() string {
return "gc_call_stats" return "gc_call_stats"
} }
type Breakdown struct {
ClientConversationId string `gorm:"primaryKey;index"`
InterpreterConversationId string `gorm:"index"`
Timestamp time.Time `gorm:"primaryKey;index"`
Task string `gorm:"primaryKey"`
Duration int
Message string
Metadata *string `gorm:"type:json"`
}
func (Breakdown) TableName() string {
return "gc_call_breakdown"
}

View File

@@ -72,6 +72,7 @@ type AnalyticsConversationWithoutAttributes struct {
DivisionIds []string `json:"divisionIds"` DivisionIds []string `json:"divisionIds"`
Participants []struct { Participants []struct {
ParticipantId string `json:"participantId"` ParticipantId string `json:"participantId"`
UserId string `json:"userId"`
ParticipantName string `json:"participantName"` ParticipantName string `json:"participantName"`
Purpose string `json:"purpose"` Purpose string `json:"purpose"`
ExternalContactId string `json:"externalContactId"` ExternalContactId string `json:"externalContactId"`

View File

@@ -17,6 +17,7 @@ type DBParticipant struct {
Name *string `gorm:"index"` Name *string `gorm:"index"`
Purpose *string `gorm:"index"` Purpose *string `gorm:"index"`
QueueId *string QueueId *string
UserId *string
Wrapup *string `gorm:"type:json"` Wrapup *string `gorm:"type:json"`
WrapupExpected *bool WrapupExpected *bool
WrapupRequired *bool WrapupRequired *bool

View File

@@ -22,9 +22,9 @@ func ExtractWithoutAttributes(base models.AnalyticsConversationWithoutAttributes
var endTime *time.Time var endTime *time.Time
parsedEndTime, err := time.Parse(time.RFC3339, base.ConversationEnd) parsedEndTime, err := time.Parse(time.RFC3339, base.ConversationEnd)
if err != nil { if err != nil {
startTime = nil endTime = nil
} else { } else {
startTime = &parsedEndTime endTime = &parsedEndTime
} }
divisionIdsBytes, err := json.Marshal(base.DivisionIds) divisionIdsBytes, err := json.Marshal(base.DivisionIds)
@@ -49,13 +49,14 @@ func ExtractWithoutAttributes(base models.AnalyticsConversationWithoutAttributes
for _, p := range base.Participants { for _, p := range base.Participants {
participant := models.DBParticipant{ participant := models.DBParticipant{
ConnectedTime: nil, // ConnectedTime: nil,
ConversationId: base.ConversationId, ConversationId: base.ConversationId,
EndTime: nil, // EndTime: nil,
ExternalContactId: &p.ExternalContactId, ExternalContactId: &p.ExternalContactId,
Id: p.ParticipantId, Id: p.ParticipantId,
Name: &p.ParticipantName, Name: &p.ParticipantName,
Purpose: &p.Purpose, Purpose: &p.Purpose,
UserId: &p.UserId,
} }
participants = append(participants, participant) participants = append(participants, participant)