diff --git a/answerwc/to_client.go b/answerwc/to_client.go index 26727ea..1f9e0f5 100644 --- a/answerwc/to_client.go +++ b/answerwc/to_client.go @@ -25,11 +25,13 @@ type DepsSendToClient struct { } type SendToClient struct { - redis *redis.Client - dal *dal.DAL - leadSenders []senders.LeadSender - customerService *customer_clients.CustomersClient - errChan chan<- error + redis *redis.Client + dal *dal.DAL + leadSenders []senders.LeadSender + customerService *customer_clients.CustomersClient + errChan chan<- error + toClientTemplates map[model.LeadTargetType]string + toReminderTemplates map[model.LeadTargetType]string } type PendingTasks struct { @@ -50,12 +52,24 @@ var toClientTgTemplate string var toClientWhatsAppTemplate string func NewSendToClient(deps DepsSendToClient, errChan chan<- error) *SendToClient { + toClientTemplates := map[model.LeadTargetType]string{ + model.LeadTargetEmail: toClientTemplate, + model.LeadTargetTg: toClientTgTemplate, + model.LeadTargetTgWhatsapp: toClientWhatsAppTemplate, + } + + toReminderTemplates := map[model.LeadTargetType]string{ + model.LeadTargetEmail: reminderTemplate, + } + return &SendToClient{ - redis: deps.Redis, - dal: deps.Dal, - customerService: deps.CustomerService, - errChan: errChan, - leadSenders: deps.LeadSenders, + redis: deps.Redis, + dal: deps.Dal, + customerService: deps.CustomerService, + errChan: errChan, + leadSenders: deps.LeadSenders, + toClientTemplates: toClientTemplates, + toReminderTemplates: toReminderTemplates, } } @@ -394,12 +408,11 @@ func (w *SendToClient) ProcessMessageToClient(ctx context.Context, constructData data.AnswerTime = formattedTime mapLeadTarget := make(map[string][]senders.LeadData) // ключ имя сендера, модель отправки for _, leadTarget := range leadTargetForAll { - // todo как тг и ватсап подключим надо разграничивать шаблоны в зависимости от типа таргета mapLeadTarget[string(leadTarget.Type)] = append(mapLeadTarget[string(leadTarget.Type)], senders.LeadData{ To: leadTarget.Target, Subject: theme, TemplateData: data, - Template: toClientTemplate, + Template: w.toClientTemplates[leadTarget.Type], }) } @@ -443,11 +456,10 @@ func (w *SendToClient) ProcessReminderToClient(ctx context.Context, account mode } fmt.Println("PRTC", data, leadTarget.Target, quizConfig) - // todo как тг и ватсап подключим надо разграничивать шаблоны в зависимости от типа таргета mapLeadTarget[string(leadTarget.Type)] = append(mapLeadTarget[string(leadTarget.Type)], senders.LeadData{ To: leadTarget.Target, Subject: quizConfig.Mailing.Theme, - Template: reminderTemplate, + Template: w.toReminderTemplates[leadTarget.Type], TemplateData: data, }) }