package org.springblade.modules.app.service;

import org.springblade.modules.app.common.dto.TransportStageInfoDTO;
import org.springblade.modules.app.common.query.TransportStageQuery;
import org.springblade.modules.app.entity.TransportStageInfoDO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 运输单信息 服务类
 * </p>
 *
 * @author fuxinsheng
 * @since 2021-11-05
 */
public interface ITransportStageInfoService extends IService<TransportStageInfoDO> {

    /**
     * 根据条件获取运输单阶段信息列表
     *
     * @param transportStageQuery
     * @return java.util.List<org.springblade.modules.app.common.dto.TransportStageInfoDTO>
     * @author FUXINSHENG
     */
    List<TransportStageInfoDTO> listInfo(TransportStageQuery transportStageQuery);

    /**
     * 根据条件获取运输单阶段信息列表
     *
     * @param transportStageQuery
     * @return java.util.List<org.springblade.modules.app.common.dto.TransportStageInfoDTO>
     * @author FUXINSHENG
     */
    TransportStageInfoDTO getInfo(TransportStageQuery transportStageQuery);


    /**
     * 新增运输单阶段信息
     *
     * @param stageInfoDTO
     * @return java.lang.Long
     * @author FUXINSHENG
     */
    Long addTransportStage(TransportStageInfoDTO stageInfoDTO);

    /**
     * 修改运输单阶段信息
     *
     * @param stageInfoDTO
     * @return java.lang.Long
     * @author FUXINSHENG
     */
    Boolean updateTransportStage(TransportStageInfoDTO stageInfoDTO);

    /**
     * 运输单阶段信息批量修改
     *
     * @param transportStageInfoDTOList
     * @return java.lang.Boolean
     * @author FUXINSHENG
     * @date   2021/12/28 10:15
     */
    Boolean updateBatch(List<TransportStageInfoDTO> transportStageInfoDTOList);
}
