package com.sckw.contract.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sckw.contract.model.dto.req.LogisticsScoreQueryDto;
import com.sckw.contract.model.entity.KwcContractLogisticsScore;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 物流企业评分Mapper接口
 * 
 * @author tangyishan
 * @date 2025-12-05
 */
@Mapper
public interface KwcContractLogisticsScoreMapper  extends BaseMapper<KwcContractLogisticsScore> {
    /**
     * 查询物流企业评分
     * 
     * @param id 物流企业评分主键
     * @return 物流企业评分
     */
    public KwcContractLogisticsScore selectKwcContractLogisticsScoreById(Long id);


    /**
     * 查询供应商对应物流企业评分
     *
     * @param providerEntId 供应商企业id
     * @param logisticsEntId 物流企业id
     * @return 数量
     */
    public KwcContractLogisticsScore selectLogisticsScoreByEntId(@Param("providerEntId") Long providerEntId, @Param("logisticsEntId") Long logisticsEntId);


    /**
     * 查询指定供应企业下的指定物流评分
     *
     * @param providerEntId 供应商企业id
     * @param scoreId 物流企业评分id
     * @return 数量
     */
    public KwcContractLogisticsScore selectLogisticsScoreByEntIdAndScoreId(@Param("providerEntId") Long providerEntId, @Param("scoreId") Long scoreId);


    /**
     * 查询物流企业评分列表
     * 
     * @param logisticsScoreReqDto 物流企业评分
     * @return 物流企业评分集合
     */
    public List<KwcContractLogisticsScore> selectKwcContractLogisticsScoreList(LogisticsScoreQueryDto logisticsScoreReqDto);

    /**
     * 新增物流企业评分
     * 
     * @param kwcContractLogisticsScore 物流企业评分
     * @return 结果
     */
    public int insertKwcContractLogisticsScore(KwcContractLogisticsScore kwcContractLogisticsScore);

    /**
     * 修改物流企业评分
     * 
     * @param kwcContractLogisticsScore 物流企业评分
     * @return 结果
     */
    public int updateKwcContractLogisticsScore(KwcContractLogisticsScore kwcContractLogisticsScore);

    /**
     * 删除物流企业评分
     * 
     * @param id 物流企业评分主键
     * @return 结果
     */
    public int deleteKwcContractLogisticsScoreById(Long id);

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