package com.hzy.project.business.balance.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.hzy.project.business.balance.domain.UserBalance;
import com.hzy.project.business.balance.domain.UserBalanceVo;
import org.apache.ibatis.annotations.Param;

/**
 * 用户结余Mapper接口
 * 
 * @author ruoyi
 * @date 2026-01-02
 */
public interface UserBalanceMapper 
{
    /**
     * 查询用户结余
     * 
     * @param balanceId 用户结余主键
     * @return 用户结余
     */
    public UserBalance selectUserBalanceByBalanceId(Long balanceId);

    /**
     * 查询用户结余列表
     * 
     * @param userBalance 用户结余
     * @return 用户结余集合
     */
    public List<UserBalance> selectUserBalanceList(UserBalance userBalance);
    public List<UserBalanceVo> selectUserBalanceVoList(UserBalance userBalance);

    /**
     * 新增用户结余
     * 
     * @param userBalance 用户结余
     * @return 结果
     */
    public int insertUserBalance(UserBalance userBalance);

    /**
     * 修改用户结余
     * 
     * @param userBalance 用户结余
     * @return 结果
     */
    public int updateUserBalance(UserBalance userBalance);

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

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

    public int modifyUserBalanceIncome(@Param("balanceId") Long balanceId, @Param("incomeAmt") BigDecimal incomeAmt);
    public int modifyUserBalancePayment(@Param("balanceId") Long balanceId, @Param("paymentAmt") BigDecimal paymentAmt);

}
