package com.cf.imes.module.system.dal.mysql.incomeandexpense;

import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.system.controller.admin.funds.organamount.vo.OrganAmountGroupByCreateTimeRespVO;
import com.cf.imes.module.system.controller.admin.funds.organamount.vo.OrganFundsStatisticsReqVO;
import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO;
import com.cf.imes.module.system.dal.dataobject.funds.statistics.FundsTradeTypeGroupStatisticsDO;
import com.cf.imes.module.system.dal.dataobject.incomeandexpense.IncomeExpenseDetailsDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 收支明细 Mapper
 *
 * @author Gqr
 * @since 2025/8/13 11:41
 */
@Mapper
public interface IncomeExpenseDetailsMapper extends BaseMapperX<IncomeExpenseDetailsDO> {
    /**
     * 查询基于创建时间的组织收支趋势
     *
     * @param reqVO
     * @return
     */
    List<OrganAmountGroupByCreateTimeRespVO> selectOrganIncomeExpenseTrendGroupByCreateTime(@Param("req") OrganFundsStatisticsReqVO reqVO, @Param("organId") Long organId);


    /**
     * 查询基于创建时间的组织消费额趋势
     *
     * @param reqVO
     * @return
     */
    List<FundsTradeTypeGroupStatisticsDO> selectTotalSalesTrendGroupByCreateTime(@Param("req") OrgStatusGroupStatisticsReqVO reqVO);
}
