package com.ltgk.boat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ltgk.boat.domain.dto.DsOutPortDTO;
import com.ltgk.boat.domain.dto.GetOutPortReq;
import com.ltgk.boat.domain.dto.SetConfirmReq;
import com.ltgk.boat.domain.entity.DsOutPort;

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

/**
 * 渔船出港信息 服务接口
 *
 * @author Qi ChengBin
 * @date 2024-12-19
 */
public interface IDsOutPortService extends IService<DsOutPort> {

    /**
     * 分页查询渔船出港信息
     *
     * @param getOutPortReq:
     * @return java.util.List<com.ltgk.boat.domain.entity.DsOutPort>
     * @author Qi ChengBin
     * @date 2024/12/19 14:19
     */
    List<DsOutPort> selectByPage(GetOutPortReq getOutPortReq);

    /**
     * 移动端添加渔船出港报备信息
     *
     * @param dsOutPortDTO:
     * @return boolean
     * @author Qi ChengBin
     * @date 2024/12/19 14:41
     */
    boolean addByApp(DsOutPortDTO dsOutPortDTO);

    /**
     * 渔船出港报备确认
     *
     * @param setConfirmReq:
     * @return boolean
     * @author Qi ChengBin
     * @date 2024/12/19 15:42
     */
    boolean confirm(SetConfirmReq setConfirmReq);

    void export(HttpServletResponse response, GetOutPortReq getOutPortReq);

    /**
     * 外地渔船出港登记
     *
     * @param dsOutPortDTO：
     * @return boolean
     * @author Qi ChengBin
     * @date 2025/3/4
     */
    boolean doRegistrationNotLocalBoat(DsOutPortDTO dsOutPortDTO);
}