package com.ltgk.port.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ltgk.common.core.domain.BaseEntity;
import com.ltgk.port.domain.dto.DsPortDTO;
import com.ltgk.port.domain.dto.GetOutEnterPortListReq;
import com.ltgk.port.domain.entity.DsPort;
import com.ltgk.port.domain.vo.BoatEnterOutVo;
import com.ltgk.port.domain.vo.BusinessIndexPortStatisticsVO;

import java.util.List;

/**
 * 渔港信息 服务接口
 *
 * @author Qi ChengBin
 * @date 2024-12-09
 */
public interface IDsPortService extends IService<DsPort> {

    /**
     * 业务板块 首页 渔港统计查询
     * -- 根据权限进行查询
     * -- 后台接口权限：后台暂无权限设置
     *
     * @param baseEntity:用于接收数据权限组装参数
     * @return com.ltgk.common.core.domain.AjaxResult
     * @author Qi ChengBin
     * @date 2025/3/21
     */
    List<DsPort> getBusinessIndexPortStatistics(BaseEntity baseEntity);

    /**
     * 根据港口id 查询渔港的进港数、离港数、在港数
     * -- 数据均为当天00:00:00到当前时间的数据
     *
     * @param dsPortDTO:
     * @return com.ltgk.common.core.domain.AjaxResult
     * @author Qi ChengBin
     * @date 2025/3/21
     */
    BusinessIndexPortStatisticsVO getPortStatisticsByPortId(DsPortDTO dsPortDTO);

    /**
     * 当日进出港列表
     * -- 00：00：00 到当前时间 的数据列表
     *
     * @param req:
     * @return com.ltgk.common.core.page.TableDataInfo
     * @author Qi ChengBin
     * @date 2025/3/21
     */
    List<BoatEnterOutVo> findOutEnterPortList(GetOutEnterPortListReq req);
}
