package com.ruoyi.invest.mapper;

import java.util.List;
import com.ruoyi.invest.domain.Accounts;
import com.ruoyi.invest.domain.dto.AccountsDto;
import com.ruoyi.invest.domain.vo.AccountsVo;

/**
 * 记账账户Mapper接口
 *
 * @author tianyongbao
 * @date 2024-03-30
 */
public interface AccountsMapper
{
    /**
     * 查询记账账户
     *
     * @param id 记账账户主键
     * @return 记账账户
     */
    public AccountsVo selectAccountsById(Long id);

    /**
     * 查询记账账户列表
     *
     * @param accountsDto 记账账户
     * @return 记账账户集合
     */
    public List<AccountsVo> selectAccountsList(AccountsDto accountsDto);

    /**
     * 新增记账账户
     *
     * @param accounts 记账账户
     * @return 结果
     */
    public int insertAccounts(Accounts accounts);

    /**
     * 修改记账账户
     *
     * @param accounts 记账账户
     * @return 结果
     */
    public int updateAccounts(Accounts accounts);

    /**
     * 删除记账账户
     *
     * @param id 记账账户主键
     * @return 结果
     */
    public int deleteAccountsById(Long id);

    /**
     * 批量删除记账账户
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAccountsByIds(Long[] ids);

    /**
     * 逻辑删除记账账户
     *
     * @param id 记账账户主键
     * @return 结果
     */
    public int removeAccountsById(Long id);

    /**
     * 批量逻辑删除记账账户
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int removeAccountsByIds(Long[] ids);
}
