package logic import ( "context" "git.i2edu.net/i2/i2-bill-api/internal/svc" "git.i2edu.net/i2/i2-bill-api/internal/types" "git.i2edu.net/i2/go-zero/core/logx" ) type JzQrCodeLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } var qrcodeJzPrefix = "qrcode:jz:%v" func NewJzQrCodeLogic(ctx context.Context, svcCtx *svc.ServiceContext) JzQrCodeLogic { return JzQrCodeLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *JzQrCodeLogic) JzQrCode(u int64) (*types.JzQrcodeResponse, error) { uid, err := l.svcCtx.Wechat.GenQrId(qrcodeJzPrefix, map[string]interface{}{ "userId": u, }) if err != nil { return nil, err } uri, err := l.svcCtx.Wechat.GenQrCode(uid, "index/user") return &types.JzQrcodeResponse{ FileId: uri, }, err }