get_email_log_list_logic.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package emaillog
  2. import (
  3. "context"
  4. "github.com/suyuan32/simple-admin-common/i18n"
  5. "github.com/zeromicro/go-zero/core/errorx"
  6. "github.com/suyuan32/simple-admin-message-center/types/mcms"
  7. "github.com/suyuan32/simple-admin-core/api/internal/svc"
  8. "github.com/suyuan32/simple-admin-core/api/internal/types"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. )
  11. type GetEmailLogListLogic struct {
  12. logx.Logger
  13. ctx context.Context
  14. svcCtx *svc.ServiceContext
  15. }
  16. func NewGetEmailLogListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetEmailLogListLogic {
  17. return &GetEmailLogListLogic{
  18. Logger: logx.WithContext(ctx),
  19. ctx: ctx,
  20. svcCtx: svcCtx,
  21. }
  22. }
  23. func (l *GetEmailLogListLogic) GetEmailLogList(req *types.EmailLogListReq) (resp *types.EmailLogListResp, err error) {
  24. if !l.svcCtx.Config.McmsRpc.Enabled {
  25. return nil, errorx.NewCodeUnavailableError(i18n.ServiceUnavailable)
  26. }
  27. data, err := l.svcCtx.McmsRpc.GetEmailLogList(l.ctx,
  28. &mcms.EmailLogListReq{
  29. Page: req.Page,
  30. PageSize: req.PageSize,
  31. Target: req.Target,
  32. Subject: req.Subject,
  33. Provider: req.Provider,
  34. SendStatus: req.SendStatus,
  35. })
  36. if err != nil {
  37. return nil, err
  38. }
  39. resp = &types.EmailLogListResp{}
  40. resp.Msg = l.svcCtx.Trans.Trans(l.ctx, i18n.Success)
  41. resp.Data.Total = data.GetTotal()
  42. for _, v := range data.Data {
  43. resp.Data.Data = append(resp.Data.Data,
  44. types.EmailLogInfo{
  45. BaseUUIDInfo: types.BaseUUIDInfo{
  46. Id: v.Id,
  47. CreatedAt: v.CreatedAt,
  48. UpdatedAt: v.UpdatedAt,
  49. },
  50. Target: v.Target,
  51. Subject: v.Subject,
  52. Content: v.Content,
  53. SendStatus: v.SendStatus,
  54. Provider: v.Provider,
  55. })
  56. }
  57. return resp, nil
  58. }