package com.sckw.contract.dao;

import java.util.List;

import com.sckw.contract.model.dto.req.LogisticsScoreDetailQueryDto;
import com.sckw.contract.model.entity.KwcContractLogisticsScoreDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 物流企业评分明细Mapper接口
 * 
 * @author tangyishan
 * @date 2025-12-05
 */
@Mapper
public interface KwcContractLogisticsScoreDetailMapper
{
    /**
     * 查询物流企业评分明细
     * 
     * @param id 物流企业评分明细主键
     * @return 物流企业评分明细
     */
    public KwcContractLogisticsScoreDetail selectKwcContractLogisticsScoreDetailById(Long id);

    /**
     * 查询物流企业评分明细列表
     * 
     * @param detailReqDto 物流企业评分明细
     * @return 物流企业评分明细集合
     */
    public List<KwcContractLogisticsScoreDetail> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto);


    /**
     * 查询物流企业待审评分明细
     *
     * @param scoreId 物流企业评分id
     * @return 物流企业评分明细集合
     */
    public KwcContractLogisticsScoreDetail selectLogisticsPendingScoreDetail(Long scoreId);
    /**
     * 新增物流企业评分明细
     * 
     * @param kwcContractLogisticsScoreDetail 物流企业评分明细
     * @return 结果
     */
    public int insertKwcContractLogisticsScoreDetail(KwcContractLogisticsScoreDetail kwcContractLogisticsScoreDetail);

    /**
     * 修改物流企业评分明细
     * 
     * @param kwcContractLogisticsScoreDetail 物流企业评分明细
     * @return 结果
     */
    public int updateKwcContractLogisticsScoreDetail(KwcContractLogisticsScoreDetail kwcContractLogisticsScoreDetail);

    /**
     * 删除物流企业评分明细
     * 
     * @param id 物流企业评分明细主键
     * @param status 待审状态
     * @return 结果
     */
    public int deleteKwcContractLogisticsScoreDetailById(@Param("id") Long id, @Param("status") Integer status);

    /**
     * 删除物流企业评分明细
     *
     * @param scoreId 物流企业评分主键
     * @param status 待审状态
     * @return 结果
     */
    public int deleteKwcContractLogisticsScoreDetailByScoreId(@Param("scoreId") Long scoreId, @Param("status") Integer status);

    /**
     * 批量删除物流企业评分明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteKwcContractLogisticsScoreDetailByIds(Long[] ids);
}
