package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.QuestionnaireUserResultDto;
import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityDto;
import com.ym.mec.biz.dal.entity.QuestionnaireQuestion;
import com.ym.mec.biz.dal.entity.QuestionnaireTopic;
import com.ym.mec.biz.dal.entity.QuestionnaireUserResult;
import com.ym.mec.biz.dal.page.QuestionnaireUserResultQueryInfo;
import com.ym.mec.common.page.PageInfo;
import com.ym.mec.common.page.QueryInfo;
import com.ym.mec.common.service.BaseService;

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

public interface QuestionnaireUserResultService extends BaseService<Long, QuestionnaireUserResult> {

    void batchInsert(List<QuestionnaireUserResult> questionnaireUserResultList);

    Object queryDetailPage(QueryInfo queryInfo);

    /**
     *
     * @param topic
     * @param questionList
     * @return
     */
    Map<String,Object> getExportBody(QuestionnaireTopic topic,List<QuestionnaireQuestion> questionList);

    /**
     * 提交调查问卷
     * @param replacementInstrumentActivityDto
     * @return
     */
    void add(ReplacementInstrumentActivityDto replacementInstrumentActivityDto);

    /**
    * @description: 提交调查问卷（没有活动）
     * @param replacementInstrumentActivity
    * @return void
    * @author zx
    * @date 2021/12/2 17:24
    */
    void addResult(ReplacementInstrumentActivityDto replacementInstrumentActivity);

    PageInfo<QuestionnaireUserResultDto> queryResultPage(QuestionnaireUserResultQueryInfo queryInfo);

    String[] getExportHeader(QuestionnaireTopic topic, List<QuestionnaireQuestion> questionList);

    QuestionnaireUserResultDto queryUserResult(Integer topicId);
}