package com.sckw.payment.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sckw.payment.model.KwpSettlementLogistics;
import com.sckw.payment.model.dto.SettlementLogisticsDto;
import com.sckw.payment.model.vo.req.SettlementReq;
import com.sckw.payment.model.vo.res.SettlementLogisticsSumVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Aick Spt
 * @date 2023-07-24 14:55
 */
@Mapper
public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpSettlementLogistics> {

    /**
     * 运费收款-物流订单列表
     *
     * @author Aick Spt
     * @date 2023-07-24 16:21
     */
    List<SettlementLogisticsDto> pageSelectCollection(@Param("settlementReq") SettlementReq settlementReq);


    SettlementLogisticsSumVo selectCollectionSum(@Param("settlementReq") SettlementReq settlementReq);


    /**
     * 运费收款-物流订单各状态列表总数
     *
     * @author Aick Spt
     * @date 2023-07-24 16:21
     */
    Long getCountListCollection(@Param("settlementReq") SettlementReq settlementReq);

    /**
     * 运费收款-物流订单详情
     *
     * @author Aick Spt
     * @date 2023-07-24 16:22
     */
    SettlementLogisticsDto detailCollection(@Param("id") Long id);


    /**
     * 运费付款-物流订单列表
     *
     * @author Aick Spt
     * @date 2023-07-24 16:23
     */
    List<SettlementLogisticsDto> pageSelectPayment(@Param("settlementReq") SettlementReq settlementReq);

    /**
     * 运费付款-物流订单各状态列表总数
     *
     * @author Aick Spt
     * @date 2023-07-24 16:23
     */
    Long getCountListPayment(@Param("settlementReq") SettlementReq settlementReq);

    /**
     * 运费付款-物流订单详情
     *
     * @author Aick Spt
     * @date 2023-07-24 16:24
     */
    SettlementLogisticsDto detailPayment(@Param("id") Long id);

    /**
     * 根据id查物流结算订单
     *
     * @author Aick Spt
     * @date 2023-07-24 16:24
     */
    List<SettlementLogisticsDto> selectIds(@Param("ids") List<Long> ids);
    List<SettlementLogisticsDto> selectList(@Param("unitType") Integer unitType);
}