package com.ssj.service.mapper;

import com.ssj.bean.sys.template.CommentTemplate;
import com.ssj.service.conch.parents.v1.dto.CommentTemplateDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface CommentTemplateMapper {

    /**
     * 根据作业图片id查询作文评语
     * @param homeworkPictureId 作业图片id
     * @return
     */
    List<CommentTemplateDTO> findByHomeworkPictureId(@Param("homeworkPictureId") String homeworkPictureId);

    /**
     * 根据id查询，然后根据module分组，统计module和不同rank
     * @param compositionCommentIdList id列表
     */
    List<Map<String, Object>> countModuleAndLevelById(List<String> compositionCommentIdList);

    /**
     * 根据id列表查询作文模板
     * @param list
     * @return
     */
    List<CommentTemplate> findCommentByIds(List<String> list);

    /**
     * 查询作文评语类型维度
     * @param grade
     * @return
     */
    List<CommentTemplate> findCommentTypeAndModuleByGrade(@Param("grade") String grade);


    /**
     * 查询作文评语类型维度
     * @param grade
     * @return
     */
    List<CommentTemplate> findCommentDetailByTypeAndModule(@Param("grade") String grade,
                                                           @Param("homeworkPictureId") String homeworkPictureId,
                                                           @Param("module") String module,
                                                           @Param("type") int type);

    /**
     * 根据作业图片id和评语维度统计已选的作文评语数量
     * @param homeworkPictureId 作业图片id
     * @param compositionCommentModule 作文评语维度
     * @return 已选的作文评语数量
     */
    int countSelectedCompositionComment(@Param("homeworkPictureId") String homeworkPictureId,
                                        @Param("compositionCommentModule") String compositionCommentModule);
}
