list_whatsapp_template_logic.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. if len(result.Body.ListTemplate) > 0 && *result.Body.Code == "OK" {
  31. for _, val := range result.Body.ListTemplate {
  32. resp.Data = append(resp.Data, types.TemplateSingleInfo{
  33. AuditStatus: *val.AuditStatus,
  34. Category: *val.Category,
  35. Language: *val.Language,
  36. TemplateCode: *val.TemplateCode,
  37. Name: *val.TemplateName,
  38. TemplateType: *val.TemplateType,
  39. })
  40. }
  41. }
  42. }
  43. return &resp, nil
  44. }