package com.xinyilu.system.mapper.testItemCountryScoreinfo;

import com.xinyilu.system.domain.testItemCountryScoreinfo.TestItemCountryScore;
import com.xinyilu.system.domain.vo.TestItemCountryScoreVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 全国平均成绩Mapper接口
 *
 * @author xinyilu
 * @date 2022-08-03
 */
public interface TestItemCountryScoreMapper {
    /**
     * 查询全国平均成绩
     *
     * @param id 全国平均成绩主键
     * @return 全国平均成绩
     */
    public TestItemCountryScore selectTestItemCountryScoreById(Long id);

    /**
     * 查询全国平均成绩列表
     *
     * @param testItemCountryScore 全国平均成绩
     * @return 全国平均成绩集合
     */
    public List<TestItemCountryScoreVO> selectTestItemCountryScoreList(TestItemCountryScore testItemCountryScore);

    /**
     * 新增全国平均成绩
     *
     * @param testItemCountryScore 全国平均成绩
     * @return 结果
     */
    public int insertTestItemCountryScore(TestItemCountryScore testItemCountryScore);

    /**
     * 修改全国平均成绩
     *
     * @param testItemCountryScore 全国平均成绩
     * @return 结果
     */
    public int updateTestItemCountryScore(TestItemCountryScore testItemCountryScore);

    /**
     * 删除全国平均成绩
     *
     * @param id 全国平均成绩主键
     * @return 结果
     */
    public int deleteTestItemCountryScoreById(Long id);

    /**
     * 批量删除全国平均成绩
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTestItemCountryScoreByIds(Long[] ids);

    /**
     * 逻辑批量删除全国平均成绩
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int updateTestItemCountryScoreByIds(Long[] ids);

    /**
     * 根据项目id查询对应得项目类型值
     *
     * @param itemId 项目id
     * @return 类型值
     */
    String getItemType(Long itemId);

    /**
     * 根据id修改平均成绩信息
     *
     * @param id 主键id
     * @return 数量
     */
    int updateTestItemCountryScoreById(Long id);

    /**
     * 根据id修改平均成绩信息
     *
     * @param id 主键id
     * @return 数量
     */
    int updateTestItemCountryTextById(Long id);

    /**
     * 根据项目id和学生性别查询全国平均成绩信息
     *
     * @param itemId 项目id
     * @param sex    性别
     * @return TestItemCountryScore
     */
    TestItemCountryScore getTestItemCountryScore(@Param("itemId") Long itemId, @Param("sex") String sex);

    /**
     * 根据项目id和学生性别查询全国平均成绩信息
     *
     * @param itemId 项目id
     * @param sex    性别
     * @return List<Long> id集合
     */
    List<Long> getItemCountryScoreIds(@Param("itemId") Long itemId, @Param("sex") String sex);
}
