diff --git a/service/main-event.go b/service/main-event.go index 426cda7..325b584 100644 --- a/service/main-event.go +++ b/service/main-event.go @@ -216,6 +216,11 @@ func (s *mainEventService) ConfirmPayment(ctx context.Context, req dto.MainEvent return dto.ErrTicketNotFound } + event, err := s.eventRepo.GetByID(ticket.EventID) + if err != nil { + return dto.ErrEventNotFound + } + user, err := s.userRepo.GetUserById(ticket.UserID) if err != nil { return dto.ErrUserNotFound @@ -228,33 +233,38 @@ func (s *mainEventService) ConfirmPayment(ctx context.Context, req dto.MainEvent return err } - readHtml, err := os.ReadFile("./utils/template/mail_confirmation_payment.html") - + readHtml, err := os.ReadFile("./utils/template/mail_payment_received.html") if err != nil { return err } - data := struct { - Name string - TicketID string - }{ - Name: user.Name, - TicketID: ticket.TicketID, - } - tmpl, err := template.New("custom").Parse(string(readHtml)) if err != nil { return err } + var price string + if event.Price >= 1000 { + price = strconv.Itoa(event.Price) + price = price[:len(price)-3] + "." + price[len(price)-3:] + } + var strMail bytes.Buffer - if err := tmpl.Execute(&strMail, data); err != nil { + if err := tmpl.Execute(&strMail, struct { + Name string + TicketType string + TotalPrice string + }{ + Name: user.Name, + TicketType: event.Name, + TotalPrice: price, + }); err != nil { return err } emailData := utils.Email{ Email: user.Email, - Subject: "Confirmation Payment", + Subject: "Payment Received", Body: strMail.String(), } @@ -263,6 +273,41 @@ func (s *mainEventService) ConfirmPayment(ctx context.Context, req dto.MainEvent return dto.ErrSendEmail } + // readHtml, err := os.ReadFile("./utils/template/mail_confirmation_payment.html") + + // if err != nil { + // return err + // } + + // data := struct { + // Name string + // TicketID string + // }{ + // Name: user.Name, + // TicketID: ticket.TicketID, + // } + + // tmpl, err := template.New("custom").Parse(string(readHtml)) + // if err != nil { + // return err + // } + + // var strMail bytes.Buffer + // if err := tmpl.Execute(&strMail, data); err != nil { + // return err + // } + + // emailData := utils.Email{ + // Email: user.Email, + // Subject: "Confirmation Payment", + // Body: strMail.String(), + // } + + // err = utils.SendMail(emailData) + // if err != nil { + // return dto.ErrSendEmail + // } + return nil }