package edu.sjtu.infosec.ismp.manager.RAM.service; import java.util.List; import java.util.Map; import edu.sjtu.infosec.ismp.manager.AM.model.AssetDeviceBO; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoAsse; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDicAsseKind; import edu.sjtu.infosec.ismp.security.Domain; /** * 应用层 资产录入Manager接口. */ public interface AssetService { /** * 保存/更新资产信息 */ void saveOrUpdate(AsseInfoAsse asseInfoAsse); /** * 删除资产信息 */ void remove(String assetCode); /** * 批量删除资产信息 */ void remove(String[] assetCodes); /** * 查询资产信息 * @param assetCode * 资产编号 * @return 资产信息对象 */ AsseInfoAsse findByAssetCode(String assetCode); AsseKnowDicAsseKind findAsseKind(String assetKindIdSelect); Object[] findByAssetCodeDWR(String assetCode); /** * 查询资产信息 * @param ip * ip地址 * @return 资产信息对象 */ List<AsseInfoAsse> findByIP(String ip); /** * 查询资产信息 * * @param id * 资产id * @return 资产信息对象 */ AsseInfoAsse findById(String id); /** * 查询该委办局资产信息 * * @param inst * 被测机构 * @param asseKind * 资产类别 * @return 资产信息对象列表 */ List<AsseInfoAsse> find(Domain domain, AsseKnowDicAsseKind asseKind); /** * 查询该委办局资产信息 * * @param orgCode * 被测机构组织机构代码 * @param asseKindId * 资产类别Id * @return 资产信息对象列表 */ List<AsseInfoAsse> findByAsseKindId(String domainId, String asseKindId); /** * 查询该委办局资产信息 * @return asset_device对象列表 **/ List<AssetDeviceBO> findFromAssetModule(Domain domain); /** * 查询该委办局资产信息记录数 * * @param inst * 被测机构 * @param asseKind * 资产类别 * @return 业务信息记录数 */ Long getCount(Domain domain, AsseKnowDicAsseKind asseKind); /** * 查询该委办局资产信息分页记录 * * @param inst * 被测机构 * @param page * 分页对象 * @param asseKind * 资产类别 * @return 分页信息 */ List<AsseInfoAsse> findAll(int startResult, int maxResult, Domain domain, AsseKnowDicAsseKind asseKind); /** * 查询该委办局资产信息记录 * * @param inst * 被测机构 * @return 资产信息列表 */ List<AsseInfoAsse> listAsse(Domain domain); /** * 统计该委办局重要性资产数目 * * @param inst * 被测机构 * @return 重要性资产数目Map */ Map statAsseImpoNum(Domain domain); Object[] listDistinctAssetName(Domain domain ); }