package edu.sjtu.infosec.ismp.manager.RAM.dao; import java.util.List; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoAsse; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoProj; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDynaLeakThre; import edu.sjtu.infosec.ismp.manager.comm.model.page.Page; /** * 数据层 动态资产漏洞威胁分析Dao访问接口. * **/ public interface DynaLeakThreDao { /** * 保存/更新动态资产漏洞威胁 * * @param dynaLeakThre * 动态资产漏洞威胁 **/ void saveOrUpdate(AsseKnowDynaLeakThre dynaLeakThre); /** * 批量保存/更新动态资产漏洞威胁 * * @param dynaLeakThreList * 动态资产漏洞列表 **/ void batchSaveOrUpdate(List<AsseKnowDynaLeakThre> dynaLeakThreList); /** * 查询动态资产漏洞威胁 * * @param id * 动态资产漏洞威胁id * @return 动态资产漏洞威胁对象 **/ AsseKnowDynaLeakThre find(Integer id); /** * 查询动态资产漏洞威胁数量 * @param asseInfoProj * 测评项目 * @param asseInfoAsse * 资产 * @return 动态资产漏洞数量 **/ int getCount(AsseInfoProj asseInfoProj,List<AsseInfoAsse> asseInfoAsse); /** * 查询动态资产漏洞威胁记录 * @param asseInfoProj * 测评项目 * @return 漏洞记录列表 **/ List<AsseKnowDynaLeakThre> listDynaLeakThre(AsseInfoProj asseInfoProj); /** * 检查是否已存在该资产漏洞威胁 * @param asseInfoProjId * 测评项目Id * @param asseInfoAsse * 关联资产 * @param asseKnowStatCveThreId * 静态威胁Id * @return 是否已存在 **/ boolean checkExitDynaLeakThre(Integer asseInfoProjId, AsseInfoAsse asseInfoAsse, Integer asseKnowStatCveThreId); /** * 查询可能性为高的动态漏洞威胁数目 * @param asseInfoProjId * 测评项目Id * @return 可能性为高的动态漏洞威胁数目 **/ Long statHighPossDynaLeakThre(Integer asseInfoProjId); /** * 查询可能性为中的动态漏洞威胁数目 * @param asseInfoProjId * 测评项目Id * @return 可能性为中的动态漏洞威胁数目 **/ Long statMiddPossDynaLeakThre(Integer asseInfoProjId); /** * 查询可能性为低的动态漏洞威胁点数目 * @param asseInfoProjId * 测评项目Id * @return 可能性为低的动态漏洞威胁数目 **/ Long statLowPossDynaLeakThre(Integer asseInfoProjId); /** * 不同可能性等级的漏洞威胁数量统计 * @param asseInfoProj * 测评项目 * @param asseInfoAsse * 资产 * @param possibility * 严重级别 * @return 不同可能性等级的漏洞威胁数量 **/ Integer statAsseDynaLeakThreNum(AsseInfoProj asseInfoProj, AsseInfoAsse asseInfoAsse, String possibility); List<AsseKnowDynaLeakThre> listDynaLeakThrePage(int startResult1, int maxResult1, AsseInfoProj asseInfoProj,List<AsseInfoAsse> asseInfo); List<AsseKnowDynaLeakThre> listByDynaLeakId(int dynaLeakId); }