package com.fs.doctor.service;

import java.util.List;
import com.fs.doctor.domain.DoctorLevel;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 讲者级别信息Service接口
 * 
 * @author fs
 * @date 2025-12-30
 */
public interface IDoctorLevelService 
{
    /**
     * 查询讲者级别信息
     * 
     * @param id 讲者级别信息主键
     * @return 讲者级别信息
     */
    public DoctorLevel selectDoctorLevelById(Long id);

    /**
     * 查询讲者级别信息列表
     * 
     * @param doctorLevel 讲者级别信息
     * @return 讲者级别信息集合
     */
    public List<DoctorLevel> selectDoctorLevelList(DoctorLevel doctorLevel);

    /**
     * 新增讲者级别信息
     * 
     * @param doctorLevel 讲者级别信息
     * @return 结果
     */
    public int insertDoctorLevel(DoctorLevel doctorLevel);

    /**
     * 修改讲者级别信息
     * 
     * @param doctorLevel 讲者级别信息
     * @return 结果
     */
    public int updateDoctorLevel(DoctorLevel doctorLevel);

    /**
     * 批量删除讲者级别信息
     * 
     * @param ids 需要删除的讲者级别信息主键集合
     * @return 结果
     */
    public int deleteDoctorLevelByIds(Long[] ids);

    /**
     * 删除讲者级别信息信息
     * 
     * @param id 讲者级别信息主键
     * @return 结果
     */
    public int deleteDoctorLevelById(Long id);

    @Select("SELECT id, doctor_id, company_id, product_group, `level`, create_time, update_time, deleted FROM doctor_level WHERE doctor_id = #{doctorId}")
    DoctorLevel selectDoctorLevelByDoctorId(@Param("doctorId") String doctorId);
}
