added map for search templates

This commit is contained in:
Pavel 2024-07-16 16:56:23 +03:00
parent 120bc2d90c
commit fde8446049

@ -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,
})
}