package com.fs.course.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.course.domain.FsUserCourseComplaintType;
import com.fs.course.vo.FsUserCourseComplaintTypeListVO;

/**
 * 看课投诉类型Service接口
 *
 * @author fs
 * @date 2025-06-04
 */
public interface IFsUserCourseComplaintTypeService extends IService<FsUserCourseComplaintType>{
    /**
     * 查询看课投诉类型
     *
     * @param complaintTypeId 看课投诉类型主键
     * @return 看课投诉类型
     */
    FsUserCourseComplaintType selectFsUserCourseComplaintTypeByComplaintTypeId(Long complaintTypeId);

    /**
     * 查询看课投诉类型列表
     *
     * @param fsUserCourseComplaintType 看课投诉类型
     * @return 看课投诉类型集合
     */
    List<FsUserCourseComplaintType> selectFsUserCourseComplaintTypeList(FsUserCourseComplaintType fsUserCourseComplaintType);

    /**
     * 新增看课投诉类型
     *
     * @param fsUserCourseComplaintType 看课投诉类型
     * @return 结果
     */
    int insertFsUserCourseComplaintType(FsUserCourseComplaintType fsUserCourseComplaintType);

    /**
     * 修改看课投诉类型
     *
     * @param fsUserCourseComplaintType 看课投诉类型
     * @return 结果
     */
    int updateFsUserCourseComplaintType(FsUserCourseComplaintType fsUserCourseComplaintType);

    /**
     * 批量删除看课投诉类型
     *
     * @param complaintTypeIds 需要删除的看课投诉类型主键集合
     * @return 结果
     */
    int deleteFsUserCourseComplaintTypeByComplaintTypeIds(Long[] complaintTypeIds);

    /**
     * 删除看课投诉类型信息
     *
     * @param complaintTypeId 看课投诉类型主键
     * @return 结果
     */
    int deleteFsUserCourseComplaintTypeByComplaintTypeId(Long complaintTypeId);

    /**
     * 获取投诉类型树结构
     * @return list
     */
    List<FsUserCourseComplaintTypeListVO> getAllComplaintTypeTree();

}
