package com.njcn.gather.aireport.testdevice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.gather.aireport.testdevice.pojo.param.TestDeviceParam;
import com.njcn.gather.aireport.testdevice.pojo.po.TestDevicePO;
import com.njcn.gather.aireport.testdevice.pojo.vo.TestDeviceImportResultVO;
import com.njcn.gather.aireport.testdevice.pojo.vo.TestDeviceVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface TestDeviceService extends IService<TestDevicePO> {

    Page<TestDeviceVO> listTestDevices(TestDeviceParam.QueryParam param);

    boolean addTestDevice(TestDeviceParam.AddParam param, MultipartFile reportFile);

    boolean updateTestDevice(TestDeviceParam.UpdateParam param, MultipartFile reportFile);

    boolean deleteTestDevices(List<String> ids);

    TestDeviceVO getTestDevice(String id);

    TestDevicePO requireNormal(String id);

    void downloadTemplate();

    TestDeviceImportResultVO importTestDevices(MultipartFile file, MultipartFile reportZip);

    void exportTestDevices(TestDeviceParam.QueryParam param);
}
