package service import ( "context" "errors" pb "bkb-notify/api" "bkb-notify/internal/biz" ) type EmailService struct { pb.UnimplementedEmailServer uc *biz.EmailUsecase } func NewEmailService(uc *biz.EmailUsecase) *EmailService { return &EmailService{ uc: uc, } } func (s *EmailService) SendEmail(ctx context.Context, req *pb.SendRequest) (*pb.SendEmailReply, error) { if len(req.To) == 0 { return &pb.SendEmailReply{Code: 1, Message: "收件人不能为空"}, errors.New("收件人不能为空") } if req.Subject == "" { return &pb.SendEmailReply{Code: 1, Message: "主题不能为空"}, errors.New("主题不能为空") } err := s.uc.SendEmail(req.To, req.Subject, req.Body, req.Files) if err != nil { return &pb.SendEmailReply{Code: 1, Message: err.Error()}, err } return &pb.SendEmailReply{Code: 0, Message: "发送成功"}, nil }