package logic

import (
	"context"
	"fmt"

	. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/service"
	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/internal/svc"
	"bp.jydev.jianyu360.cn/BaseService/resourceCenter/rpc/pb"
	"github.com/zeromicro/go-zero/core/logx"
)

type RechargeLogic struct {
	ctx    context.Context
	svcCtx *svc.ServiceContext
	logx.Logger
}

func NewRechargeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RechargeLogic {
	return &RechargeLogic{
		ctx:    ctx,
		svcCtx: svcCtx,
		Logger: logx.WithContext(ctx),
	}
}

// 资源充值
func (l *RechargeLogic) Recharge(in *pb.RechargeReq) (*pb.Resp, error) {
	resp := &pb.Resp{}
	status, err := Recharge(in.Appid, in.FunctionCode, in.AccountId, in.EntAccountId, in.Count, in.Ids)
	if err != nil {
		l.Error(fmt.Sprintf("%+v", in), err)
	}
	resp.Status = status
	return resp, nil
}
