package user import ( "context" "tianyuan-api/apps/admin/internal/svc" "tianyuan-api/apps/admin/internal/types" "tianyuan-api/apps/user/user" "tianyuan-api/pkg/generate" "github.com/zeromicro/go-zero/core/logx" ) type RechargeLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewRechargeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RechargeLogic { return &RechargeLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *RechargeLogic) Recharge(req *types.RechargeRequest) error { outTradeNo := generate.GenerateTransactionID() _, err := l.svcCtx.WalletsRpc.RechargeWallet(l.ctx, &user.RechargeWalletRequest{ UserId: req.UserId, OutTradeNo: outTradeNo, Amount: req.Amount, PaymentMethod: 2, }) if err != nil { return err } return nil }