package org.tio.sitexxx.service.service.pay.base;

/**
 * <pre>
 *    @author : vagrancy
 *    e-mail : 18050829067@163.com
 *    time   : 2025-11-26 11:13
 *    desc   :
 * </pre>
 */
public interface BasePay<Req extends BasePayReq, Resp extends BasePayResp> {
    /**
     * 修改开户信息
     * @param payQuest
     * @return
     * @author xufei
     * 2020年11月12日 下午3:05:22
     */
    Resp updateUser(Req payQuest, Integer uid);

    /**
     * 用户余额
     * @param payQuest
     * @return
     * @author xufei
     * 2020年10月27日 上午11:15:19
     */
    Resp getWalletInfo(Req payQuest, Integer uid);

    /**
     * 充值
     * @param payQuest
     * @return
     * @author xufei
     * 2020年10月27日 上午11:17:18
     */
    Resp recharge(Req payQuest, Integer uid);

    /**
     * 发红包
     * @param payQuest
     * @return
     * @author xufei
     * 2020年10月27日 上午11:17:38
     */
    Resp sendRedpacket(Req payQuest, Integer uid);

    /**
     * 红包查询
     * @param payQuest
     * @param uid
     * @return
     * @author xufei
     * 2020年12月1日 下午1:47:29
     */
    Resp redpacketQuery(Req payQuest, Integer uid);

    /**
     * 抢红包
     * @param payQuest
     * @param uid
     * @return
     * @author xufei
     * 2020年11月19日 上午10:08:07
     */
    Resp grabRedpacket(Req payQuest, Integer uid);

    /**
     * 提现
     * @param payQuest
     * @param uid
     * @return
     * @author xufei
     * 2020年11月16日 下午2:10:00
     */
    Resp withhold(Req payQuest, Integer uid);

    /**
     * 提现查询
     * @param payQuest
     * @param uid
     * @return
     * @author xufei
     * 2020年11月25日 下午2:28:45
     */
    Resp withholdQuery(Req payQuest, Integer uid);

    /**
     * 转账
     * @param payQuest
     * @param uid
     * @return
     * @author xufei
     * 2020年11月16日 下午2:10:00
     */
    Resp transfer(Req payQuest, Integer uid);

    /**
     * 客户端token
     * @param payQuest
     * @return
     * @author xufei
     * 2020年10月27日 上午11:17:38
     */
    Resp clientToken(Req payQuest, Integer uid);

    /**
     * 手续费
     * @param amount
     * @return
     * @author xufei
     * 2020年11月16日 下午2:06:05
     */
    long commission(long amount);
}

