package org.jeecg.modules.system.app.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.app.dto.SearchDTO;
import org.jeecg.modules.app.vo.SearchVO;
import org.jeecg.modules.app.vo.coach.AppCoachDetailsVO;
import org.jeecg.modules.app.vo.coach.AppCoachVO;
import org.jeecg.modules.system.app.entity.AppInstructor;
import org.jeecg.modules.system.app.vo.staff.StaffRequestVO;
import org.jeecg.modules.system.app.vo.staff.StaffResponseVO;
import org.jeecg.modules.system.app.vo.staff.StaffVO;

import java.util.List;

/**
 * @Description: 教练表
 * @Author: jeecg-boot
 * @Date:   2025-07-04
 * @Version: V1.0
 */
public interface AppInstructorMapper extends BaseMapper<AppInstructor> {
    /**
     * @Author SheepHy
     * @Description //TODO
     * @Date 14:43 2025/7/7
     * @Param searchDTO {@link SearchDTO}
     * @return Page<SearchVO.SearchInstructorVO>
     **/
    Page<SearchVO.SearchInstructorVO> convertSearchInstructorVOPage(@Param("page")Page<SearchVO.SearchInstructorVO> page,@Param("searchDTO")SearchDTO searchDTO);

    /**
     * 查询所有教练
     * @return
     */
    List<AppCoachVO> findCoachList();


    AppCoachDetailsVO findById(@Param("id")String id);

    IPage<StaffResponseVO> findPage(@Param("page") Page<StaffResponseVO> page,@Param("staffRequestVO") StaffRequestVO staffRequestVO,@Param("orgCode") String orgCode);

    StaffVO findByStaffId(@Param("id") String id);

    Integer updateDelStatus(@Param("appInstructor")  AppInstructor appInstructor);

}
