package com.ltgk.catches.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltgk.catches.domain.dto.GetCatchesProportionReq;
import com.ltgk.catches.domain.dto.GetCatchesTrainReq;
import com.ltgk.catches.domain.entity.TpFishCatch;
import com.ltgk.catches.domain.vo.CatchesPriceVo;
import com.ltgk.catches.domain.vo.CatchesProportionVo;
import com.ltgk.catches.domain.vo.CatchesTrainVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 渔获上岸记录Mapper接口
 *
 * @author Qi ChengBin
 * @date 2025-01-07
 */
@Mapper
public interface TpFishCatchMapper extends BaseMapper<TpFishCatch> {

    /**
     * 获取指定时间范围内的渔获上岸总量
     *
     * @param startTime: 开始时间
     * @param endTime:   结束时间
     * @return java.lang.String
     * @author Qi ChengBin
     * @date 2025/1/8 15:33
     */
    BigDecimal getRangeTotalNum(@Param("startTime") String startTime, @Param("endTime") String endTime);

    BigDecimal getTodayTotalWeight(@Param("startTime") Date startTime, @Param("infoSource") Integer infoSource);

    List<CatchesTrainVo> getCatchesTrain(GetCatchesTrainReq getCatchesTrainReq);

    List<CatchesProportionVo> getCatchesProportion(GetCatchesProportionReq getCatchesProportionReq);

    List<CatchesPriceVo> getCatchesPriceList();
}
