package com.ruoyi.ss.balance.mapper;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.ss.balance.domain.UserBalance;
import com.ruoyi.ss.balance.domain.UserBalanceQuery;
import com.ruoyi.ss.balance.domain.UserBalanceVO;
import org.apache.ibatis.annotations.Param;

/**
 * 用户余额Mapper接口
 *
 * @author qzz
 * @date 2024-11-26
 */
public interface UserBalanceMapper
{
    /**
     * 查询用户余额
     *
     * @param balanceId 用户余额主键
     * @return 用户余额
     */
    public UserBalanceVO selectEUserBalanceByBalanceId(Long balanceId);

    /**
     * 查询用户余额列表
     *
     * @param query 用户余额
     * @return 用户余额集合
     */
    public List<UserBalanceVO> selectEUserBalanceList(@Param("query") UserBalanceQuery query);

    /**
     * 新增用户余额
     *
     * @param eUserBalance 用户余额
     * @return 结果
     */
    public int insertEUserBalance(UserBalance eUserBalance);

    /**
     * 修改用户余额
     *
     * @param eUserBalance 用户余额
     * @return 结果
     */
    public int updateEUserBalance(@Param("data") UserBalance eUserBalance);

    /**
     * 删除用户余额
     *
     * @param balanceId 用户余额主键
     * @return 结果
     */
    public int deleteEUserBalanceByBalanceId(Long balanceId);

    /**
     * 批量删除用户余额
     *
     * @param balanceIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEUserBalanceByBalanceIds(Long[] balanceIds);

    /**
     * 查询用户余额
     *
     * @param userBalanceQuery 用户余额
     * @return 用户余额
     */
    BigDecimal selectUserBalance(UserBalanceQuery userBalanceQuery);
}
