list_whatsapp_template_logic.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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.WaId, req.Name, req.Language, req.AuditStatus,
  23. req.TemplateType, req.Code, req.Page, req.PageSize)
  24. l.Logger.Infof("result=%v err=%v\n", result, err)
  25. if err != nil {
  26. resp.Msg = err.Error()
  27. resp.Code = 1
  28. } else {
  29. resp.Code = 0
  30. resp.Data.Total = uint64(*result.Body.Total)
  31. if len(result.Body.ListTemplate) > 0 && *result.Body.Code == "OK" {
  32. for _, val := range result.Body.ListTemplate {
  33. resp.Data.Data = append(resp.Data.Data, types.TemplateSingleInfo{
  34. AuditStatus: *val.AuditStatus,
  35. Category: *val.Category,
  36. Language: *val.Language,
  37. TemplateCode: *val.TemplateCode,
  38. Name: *val.TemplateName,
  39. TemplateType: *val.TemplateType,
  40. })
  41. }
  42. }
  43. }
  44. return &resp, nil
  45. }