package com.fjhx.account.service.account;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
import com.fjhx.account.entity.account.po.AccountRunningWater;
import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
import com.ruoyi.common.core.domain.BaseSelectDto;
import com.ruoyi.common.core.service.BaseService;

import javax.servlet.http.HttpServletResponse;
import java.util.List;


/**
 * <p>
 * 账户资金流水表 服务类
 * </p>
 *
 * @author
 * @since 2023-04-06
 */
public interface AccountRunningWaterService extends BaseService<AccountRunningWater> {

    /**
     * 账户资金流水表分页
     */
    Page<AccountRunningWaterVo> getPage(AccountRunningWaterSelectDto dto);

    /**
     * 账户流水表分页
     */
    Page<AccountRunningWaterVo> getPage1(AccountRunningWaterSelectDto dto);

    /**
     * 账户资金流水表明细
     */
    AccountRunningWaterVo detail(Long id);

    /**
     * 账户资金流水表新增
     */
    void add(AccountRunningWaterDto accountRunningWaterDto);

    /**
     * 账户资金流水表编辑
     */
    void edit(AccountRunningWaterDto accountRunningWaterDto);

    /**
     * 账户资金流水表删除
     */
    void delete(Long id);

    /**
     * 到账任领统计
     */
    List<AccountRunningWater> claimStatistics(BaseSelectDto dto);

    /**
     * 账户资金流水表导出excel
     */
    void exportExcel(AccountRunningWaterSelectDto dto, HttpServletResponse httpServletResponse);

    /**
     * 退税添加
     */
    void taxRefund(AccountRunningWaterDto dto);

    /**
     * 内部转账
     */
    void internalTransfer(AccountRunningWaterDto dto);

    /**
     * 操作余额
     */
    void changeRemainder(AccountRunningWater accountRunningWater);
}
