package com.djhk.uav.equ.service;


import com.djhk.common.api.domain.vo.FileVo;
import com.djhk.common.exception.ServiceException;
import com.djhk.uav.equ.domain.Metasploitable;
import org.springframework.web.multipart.MultipartFile;

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

/**
 * 设备型号Service接口
 *
 * @author huangqg
 * @date 2023-06-01
 */
public interface IMetasploitableService
{
    /**
     * 查询设备型号
     *
     * @param id 设备型号主键
     * @return 设备型号
     */
    public Metasploitable selectMetasploitableById(Long id);

    /**
     * 查询设备型号列表
     *
     * @param Metasploitable 设备型号
     * @return 设备型号集合
     */
    public List<Metasploitable> selectMetasploitableList(Metasploitable Metasploitable);

    FileVo uploadFile(MultipartFile file);

    /**
     * 新增设备型号
     *
     * @param Metasploitable 设备型号
     * @return 结果
     */
    public int insertMetasploitable(Metasploitable Metasploitable);

    /**
     * 查询设备型号编码
     *
     * @param modeCode 型号编码
     * @return 结果
     */
    List<Metasploitable> checkModelCode(String modeCode);

    /**
     * 修改设备型号
     *
     * @param Metasploitable 设备型号
     * @return 结果
     */
    public int updateMetasploitable(Metasploitable Metasploitable);
//
    /**
     * 批量删除设备型号
     *
     * @param ids 需要删除的设备型号主键集合
     * @return 结果
     */
    public int deleteMetasploitableByIds(Long[] ids);
//
//    /**
//     * 删除设备型号信息
//     *
//     * @param id 设备型号主键
//     * @return 结果
//     */
//    public int deleteMetasploitableByid(Long id);

    /**
     * 新增修改设备型号参数
     *
     * @param
     * @return 结果
     */
    public int updateMetasploitableParamList(List<Map> ParamList);

    List<Metasploitable> selectMetasploitableExportList(Metasploitable metasploitable);


    String importData(List<Metasploitable> userList, Boolean isUpdateSupport) throws ServiceException;
}
