package com.erp.print.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.erp.print.dto.request.PrinterRequest;
import com.erp.common.core.model.PageResponse;
import com.erp.print.entity.Printer;

import java.util.List;

public interface PrinterService {

    PageResponse<Printer> listPrinters(Integer page, Integer limit, String printerType, String keyword);

    Printer getPrinterById(Long id);

    Printer getPrinterByCode(String printerCode);

    Printer createPrinter(PrinterRequest request);

    Printer updatePrinter(PrinterRequest request);

    void deletePrinter(Long id);

    void setDefaultPrinter(Long id);

    void updatePrinterStatus(Long id, Integer status);

    List<Printer> getAvailablePrinters();

    IPage<Printer> selectPrinterPage(com.baomidou.mybatisplus.extension.plugins.pagination.Page<Printer> page, String printerType);
}
