sendmaillogic.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package logic
  2. import (
  3. "bp.jydev.jianyu360.cn/BaseService/biService/rpc/biservice"
  4. "context"
  5. "github.com/gogf/gf/v2/util/gconv"
  6. "bp.jydev.jianyu360.cn/BaseService/biService/api/internal/svc"
  7. "bp.jydev.jianyu360.cn/BaseService/biService/api/internal/types"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type SendMailLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewSendMailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendMailLogic {
  16. return &SendMailLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. }
  21. }
  22. func (l *SendMailLogic) SendMail(req *types.ExportByDbReq) (resp *types.BiResp, err error) {
  23. datas := []*biservice.FilesData{}
  24. for _, v := range req.Datas {
  25. data := &biservice.FilesData{
  26. SheetName: gconv.String(v["sheetName"]),
  27. Sql: gconv.String(v["sql"]),
  28. }
  29. datas = append(datas, data)
  30. }
  31. res, err := l.svcCtx.BiServiceRpc.SendMail(l.ctx, &biservice.ExportByDbReq{
  32. Token: req.Token,
  33. Title: req.Title,
  34. Content: req.Content,
  35. Mails: req.Mails,
  36. FileName: req.FileName,
  37. Datas: datas,
  38. })
  39. return &types.BiResp{Error_code: res.ErrorCode, Error_msg: res.ErrorMsg, Data: string(res.Data)}, err
  40. }