package com.ruoyi.account.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.pojo.FinanceAccount; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; import java.util.Map; @Mapper public interface FinanceAccountMapper extends BaseMapper { /** 分页查询(带当前余额) */ IPage selectAccountPageWithBalance(Page page, @Param("c") FinanceAccount account); /** 计算某账户当前余额:期初 + Σ(方向×金额) */ BigDecimal selectBalance(@Param("accountId") Long accountId); /** 所有启用账户当前余额合计 */ BigDecimal selectTotalBalance(); BigDecimal selectTotalSafetyLine(); /** 资金流趋势:按日聚合(收入/支出/净额) */ List> trend(@Param("accountId") Long accountId, @Param("start") String start, @Param("end") String end); }