package ltd.qubit.survey.dao; import java.util.List; import java.util.Optional; import ltd.qubit.survey.model.SurveyResponse; /** * 问卷答案DAO接口 */ public interface SurveyResponseDao extends BaseDao { /** * 根据用户ID查询答案列表 * * @param userId 用户ID * @return 答案列表 */ List findByUserId(Long userId); /** * 根据问题ID查询答案列表 * * @param questionId 问题ID * @return 答案列表 */ List findByQuestionId(Long questionId); /** * 根据用户ID和问题ID查询答案 * * @param userId 用户ID * @param questionId 问题ID * @return 答案对象 */ Optional findByUserIdAndQuestionId(Long userId, Long questionId); /** * 批量插入答案 * * @param responses 答案列表 * @return 影响的行数 */ int batchInsert(List responses); /** * 根据用户ID删除所有答案 * * @param userId 用户ID * @return 影响的行数 */ int deleteByUserId(Long userId); /** * 获取所有已提交答案的用户ID列表 * * @return 用户ID列表 */ List findDistinctUserIds(); }