package com.casic.missiles.service.customer;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.customer.CertificationResponse;
import com.casic.missiles.dto.customer.Info.*;
import com.casic.missiles.model.customer.CustomerInfo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface CustomerService {

    Page<CustomerInfoResponse> listPage(Page<CustomerInfoResponse> page, CustomerListRequest request)  throws  Exception;

    List<CustomerInfoResponse> customerList(CustomerListRequest request)  throws  Exception;

    ReturnDTO addCustomer(CustomerInfo customerInfo) throws  Exception;

    ReturnDTO addCustomerList(List<CustomerInfo> list) throws Exception;

    ReturnDTO updateCustomer(CustomerInfo customerInfo);

    CustomerInfo customerDetail(Long id);

    ReturnDTO deleteCustomer(Long id);

    Page<SampleRecordsResponse> sampleRecordsByCustomerId(Long customerId);

    Page<ContractRecordsResponse> contractRecordsByCustomerId(Long customerId);

    Page<CertificationResponse> certificationByCustomerId(Long customerId);

    void customerExport(CustomerListRequest request, HttpServletResponse response);
}
