package com.fs.course.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fs.course.domain.FsUserCourseCompanyUserTime;
import com.fs.course.param.newfs.CompanyUserTimeQueryParam;

/**
 * 营期课程-销售课程时间Mapper接口
 *
 * @author fs
 * @date 2025-06-09
 */
public interface FsUserCourseCompanyUserTimeMapper extends BaseMapper<FsUserCourseCompanyUserTime> {
    /**
     * 查询营期课程-销售课程时间
     *
     * @param id 营期课程-销售课程时间主键
     * @return 营期课程-销售课程时间
     */
    FsUserCourseCompanyUserTime selectFsUserCourseCompanyUserTimeById(Long id);

    /**
     * 查询营期课程-销售课程时间列表
     *
     * @param fsUserCourseCompanyUserTime 营期课程-销售课程时间
     * @return 营期课程-销售课程时间集合
     */
    List<FsUserCourseCompanyUserTime> selectFsUserCourseCompanyUserTimeList(
            FsUserCourseCompanyUserTime fsUserCourseCompanyUserTime);

    /**
     * 新增营期课程-销售课程时间
     *
     * @param fsUserCourseCompanyUserTime 营期课程-销售课程时间
     * @return 结果
     */
    int insertFsUserCourseCompanyUserTime(FsUserCourseCompanyUserTime fsUserCourseCompanyUserTime);

    /**
     * 修改营期课程-销售课程时间
     *
     * @param fsUserCourseCompanyUserTime 营期课程-销售课程时间
     * @return 结果
     */
    int updateFsUserCourseCompanyUserTime(FsUserCourseCompanyUserTime fsUserCourseCompanyUserTime);

    /**
     * 删除营期课程-销售课程时间
     *
     * @param id 营期课程-销售课程时间主键
     * @return 结果
     */
    int deleteFsUserCourseCompanyUserTimeById(Long id);

    /**
     * 批量删除营期课程-销售课程时间
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteFsUserCourseCompanyUserTimeByIds(Long[] ids);

    /**
     * 批量查询记录
     *
     * @param list 查询参数列表
     * @return 结果列表
     */
    List<FsUserCourseCompanyUserTime> batchSelectByParams(List<CompanyUserTimeQueryParam> list);

    /**
     * 批量插入记录
     *
     * @param list 待插入记录列表
     * @return 影响行数
     */
    int batchInsert(List<FsUserCourseCompanyUserTime> list);

    /**
     * 批量更新记录
     *
     * @param list 待更新记录列表
     * @return 影响行数
     */
    int batchUpdate(List<FsUserCourseCompanyUserTime> list);


}
