list_whatsapp_template_logic.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package whatsapp
  2. import (
  3. "context"
  4. "wechat-api/hook/aliyun"
  5. "wechat-api/internal/svc"
  6. "wechat-api/internal/types"
  7. "github.com/zeromicro/go-zero/core/logx"
  8. )
  9. type ListWhatsappTemplateLogic struct {
  10. logx.Logger
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. }
  14. func NewListWhatsappTemplateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListWhatsappTemplateLogic {
  15. return &ListWhatsappTemplateLogic{
  16. Logger: logx.WithContext(ctx),
  17. ctx: ctx,
  18. svcCtx: svcCtx}
  19. }
  20. func (l *ListWhatsappTemplateLogic) ListWhatsappTemplate(req *types.ListTemplateReq) (*types.ListTemplateResp, error) {
  21. resp := types.ListTemplateResp{}
  22. result, err := aliyun.ListChatappTemplate(req.Name, req.Language, req.AuditStatus, req.TemplateType, req.Code, req.Page, req.PageSize)
  23. l.Logger.Infof("result=%v err=%v\n", result, err)
  24. if err != nil {
  25. resp.Msg = err.Error()
  26. resp.Code = 1
  27. } else {
  28. resp.Code = 0
  29. if len(result.Body.ListTemplate) > 0 && *result.Body.Code == "OK" {
  30. for _, val := range result.Body.ListTemplate {
  31. resp.Data = append(resp.Data, types.TemplateSingleInfo{
  32. AuditStatus: *val.AuditStatus,
  33. Category: *val.Category,
  34. Language: *val.Language,
  35. TemplateCode: *val.TemplateCode,
  36. Name: *val.TemplateName,
  37. TemplateType: *val.TemplateType,
  38. })
  39. }
  40. }
  41. }
  42. return &resp, nil
  43. }