get_whatsapp_template_logic.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package whatsapp
  2. import (
  3. "context"
  4. "github.com/zeromicro/go-zero/core/errorx"
  5. "wechat-api/hook/aliyun"
  6. "wechat-api/internal/svc"
  7. "wechat-api/internal/types"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type GetWhatsappTemplateLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewGetWhatsappTemplateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetWhatsappTemplateLogic {
  16. return &GetWhatsappTemplateLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx}
  20. }
  21. func (l *GetWhatsappTemplateLogic) GetWhatsappTemplate(req *types.GetTemplateReq) (*types.GetTemplateResp, error) {
  22. resp := types.GetTemplateResp{}
  23. if req.Language == "" {
  24. return nil, errorx.NewInvalidArgumentError("language参数错误")
  25. }
  26. result, err := aliyun.GetChatappTemplateInfo(req.TemplateName, req.Language, req.TemplateType, req.TemplateCode)
  27. l.Logger.Infof("result=%v err=%v\n", result, err)
  28. if err != nil {
  29. resp.Msg = err.Error()
  30. resp.Code = 1
  31. } else {
  32. if *result.Body.Code == "OK" && result.Body.Data != nil {
  33. resp.Data = types.TemplateSingleInfo{
  34. AuditStatus: *result.Body.Data.AuditStatus,
  35. Category: *result.Body.Data.Category,
  36. Language: *result.Body.Data.Language,
  37. Name: *result.Body.Data.Name,
  38. TemplateCode: *result.Body.Data.TemplateCode,
  39. TemplateType: *result.Body.Data.TemplateType,
  40. }
  41. }
  42. }
  43. return &resp, nil
  44. }