package com.ruoyi.hezhi.mapper;

import com.ruoyi.hezhi.domain.TbCase;
import com.ruoyi.hezhi.domain.vo.CaseVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 案例Mapper接口
 *
 * @author ruoyi
 * @date 2024-09-14
 */
public interface TbCaseMapper
{
    /**
     * 查询案例
     *
     * @param caseId 案例主键
     * @return 案例
     */
    public TbCase selectTbCaseByCaseId(Long caseId);

    /**
     * 查询案例列表
     *
     * @param tbCase 案例
     * @return 案例集合
     */
    public List<TbCase> selectTbCaseList(TbCase tbCase);

    /**
     * 新增案例
     *
     * @param tbCase 案例
     * @return 结果
     */
    public int insertTbCase(TbCase tbCase);

    /**
     * 修改案例
     *
     * @param tbCase 案例
     * @return 结果
     */
    public int updateTbCase(TbCase tbCase);

    /**
     * 删除案例
     *
     * @param caseId 案例主键
     * @return 结果
     */
    public int deleteTbCaseByCaseId(Long caseId);

    /**
     * 批量删除案例
     *
     * @param caseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbCaseByCaseIds(Long[] caseIds);

    /**
     * 获取案例列表 by 分类id
     * @return
     */
    public List<CaseVO> selectCaseListByType(@Param("caseTypeId") Long caseTypeId);
}
