package com.fs.survey.service;

import com.fs.survey.domain.SurveyQuestionnaireVersion;

import java.util.List;

/**
 * 问卷版本Service接口
 *
 */
public interface ISurveyQuestionnaireVersionService {
    /**
     * 查询问卷版本
     *
     * @param id 问卷版本主键
     * @return 问卷版本
     */
    public SurveyQuestionnaireVersion selectSurveyQuestionnaireVersionById(Long id);

    /**
     * 查询问卷版本列表
     *
     * @param surveyQuestionnaireVersion 问卷版本
     * @return 问卷版本集合
     */
    public List<SurveyQuestionnaireVersion> selectSurveyQuestionnaireVersionList(SurveyQuestionnaireVersion surveyQuestionnaireVersion);

    /**
     * 保存版本(新增或更新)
     *
     * @param surveyQuestionnaireVersion 问卷版本
     * @return 结果
     */
    public Long saveVersion(SurveyQuestionnaireVersion surveyQuestionnaireVersion);

    /**
     * 修改问卷版本
     *
     * @param surveyQuestionnaireVersion 问卷版本
     * @return 结果
     */
    public int updateSurveyQuestionnaireVersion(SurveyQuestionnaireVersion surveyQuestionnaireVersion);

    /**
     * 批量删除问卷版本
     *
     * @param ids 需要删除的问卷版本主键集合
     * @return 结果
     */
    public int deleteSurveyQuestionnaireVersionByIds(Long[] ids);

    /**
     * 删除问卷版本信息
     *
     * @param id 问卷版本主键
     * @return 结果
     */
    public int deleteSurveyQuestionnaireVersionById(Long id);

    /**
     * 发布版本
     *
     * @param id 版本ID
     * @return 结果
     */
    public int publishVersion(Long id);

    /**
     * 发布公司版本
     *
     * @param id 版本ID
     * @return 结果
     */
    int companyPublishVersion(Long id);

    /**
     * 获取最新问卷信息
     * @param id 问卷ID
     * @return SurveyQuestionnaireVersion
     */
    SurveyQuestionnaireVersion getLatestInfo(Long id);

}
