get_qrcode_logic.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 GetQrcodeLogic struct {
  10. logx.Logger
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. }
  14. func NewGetQrcodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetQrcodeLogic {
  15. return &GetQrcodeLogic{
  16. Logger: logx.WithContext(ctx),
  17. ctx: ctx,
  18. svcCtx: svcCtx}
  19. }
  20. func (l *GetQrcodeLogic) GetQrcode(req *types.GetQrcodeReq) (*types.GetQrcodeResp, error) {
  21. resp := types.GetQrcodeResp{}
  22. result, err := aliyun.GetCamsQrcode(*req.Phone, *req.WaId)
  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. if result.Body.Data != nil {
  29. for _, v := range result.Body.Data {
  30. generateQrImage := "PNG"
  31. if v.GenerateQrImage != nil {
  32. generateQrImage = *v.GenerateQrImage
  33. }
  34. resp.Data = append(resp.Data, types.Qrcode{
  35. Phone: *v.PhoneNumber,
  36. QrdlCode: *v.QrdlCode,
  37. GenerateQrImage: generateQrImage,
  38. PrefilledMessage: *v.PrefilledMessage,
  39. DeepLinkUrl: *v.DeepLinkUrl,
  40. QrImageUrl: *v.QrImageUrl,
  41. })
  42. }
  43. }
  44. }
  45. return &resp, nil
  46. }