package com.ruoyi.klk.service;

import com.ruoyi.frequency.withdrawalrecord.entity.WithdrawalRecord;
import com.ruoyi.klk.controller.req.AddOrUpdateBankCardReq;
import com.ruoyi.klk.controller.req.GetBankNameReq;
import com.ruoyi.klk.controller.resp.GetBankInfoResp;
import com.ruoyi.klk.controller.resp.SelectBindResultResp;
import com.ruoyi.response.ResponseData;
import com.ruoyi.vo.UserVo;

public interface KlkService {

    /**
     * 添加或修改银行卡信息
     */
    ResponseData addOrUpdateBankCard(AddOrUpdateBankCardReq req, UserVo userVo);

    /**
     * 查询开户行名称
     */
    ResponseData getBankName(GetBankNameReq req);

    /**
     * 获取银行卡信息
     */
    ResponseData<GetBankInfoResp> getBankInfo(UserVo userVo);

    /**
     * 提现
     */
    void withdrawal(WithdrawalRecord withdrawalRecord);

    Integer getBalanceSplitStatus(String status);

    /**
     * 查询银行卡是否绑定成功
     * @param userVo
     * @return
     */
    ResponseData<SelectBindResultResp> selectBindResult(UserVo userVo);
}
