package edu.sjtu.infosec.ismp.manager.RAM.service; import java.util.List; import java.util.Map; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoPape; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoProj; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowStatVulnPoin; import edu.sjtu.infosec.ismp.manager.comm.model.page.Page; import edu.sjtu.infosec.ismp.manager.comm.model.page.PageResult; /** * 应用层 问卷Manager接口. * */ public interface PapeService { /** * 保存/更新问卷问题 * * @param question * 问卷问题 **/ void saveOrUpdate(AsseInfoPape question); /** * 批量保存/更新问卷问题 * * @param question * 问卷问题 **/ void batchSaveOrUpdate(String elemCode,AsseInfoProj asseInfoProj); /** * 删除问卷问题 * * @param question * 问卷问题 **/ void remove(AsseInfoPape question); /** * 批量删除问卷问题 * * @param questionList * 问卷问题对象列表 **/ void remove(List<AsseInfoPape> questionList); /** * 查询问卷问题 * * @param id * 问卷问题id * @return 问卷问题对象 **/ AsseInfoPape find(String id); AsseInfoPape findbySecuId(Integer projId,String id); /** * 查询问卷问题数量 * @param asseInfoProj * 测评项目 * @return 问卷问题数量 **/ int getCount(AsseInfoProj asseInfoProj); /** * 查询问卷问题分页记录 * @param page * 分页对象 * @param asseInfoProj * 测评项目 * @return 分页记录列表 **/ PageResult listAsseInfoPape(Page page,AsseInfoProj asseInfoProj); /** * 返回这个测评项目已选安全要素 * @param asseInfoProjId * 测评项目Id * @return 已选安全要素列表 **/ List listSelectedStatSecuElems(String asseInfoProjId); /** * 返回这个测评项目已选安全要素对应的Pape * @param asseInfoProjId * 测评项目Id * @return 对应PapeMap **/ Map relatedSecuElemPapeMap(String asseInfoProjId); /** * 查询下一题问题 * @param asseInfoPape * 当前问题 * @return 下一题问题 **/ AsseInfoPape getNextQuestion(AsseInfoPape asseInfoPape); /** * 查询已答问题列表 * @param asseInfoProjId * 项目编号 * @return 已答问题列表 **/ List<AsseInfoPape> listAnsweredPapes(String asseInfoProjId); /** * 查询已答问题列表 * @param asseInfoProjId * 项目编号 * @return 已答问题列表 **/ void saveDynaVulnPoint(String asseInfoProjId); /** * 根据问卷查询脆弱点列表 * @param asseInfoProjId * 测评项目Id * @return 脆弱点列表 **/ List<AsseKnowStatVulnPoin> listVulnPoinByPaper(String asseInfoProjId); }