<?php

namespace Api\PhpServices\Printer;

/**
 * 打印抽象类
 *
 * @author mengweifu
 * @date 2021-7-25 14:00:00
 */

abstract class Printer
{


    /**
     * 添加打印机
     * @param array $param
     * @return bool
     */
    abstract public  function addPrinter(array $param): bool;

    /**
     * 删除打印机
     * @param string $printerId
     * @return bool
     */
    abstract public function deletePrinter(string $printerId): bool;

    /**
     * 获取打印机状态
     * @param string $printerId
     * @return string 状态描述
     */
    abstract public function getPrinterStatus(string $printerId): string;

    /**
     * 打印
     * @param string $printerId
     * @param array $content 要打印的内容  支持一位数组 二维数组
     * @return string  打印OrderID, ID
     */
    abstract public function printContent(string $printerId, array $content): string;

    /**
     * 打印
     * @param string $printerId
     * @param array $content 要打印的内容  支持一位数组 二维数组
     * @return string  打印OrderID, ID
     */
    abstract public function printLabelContent(string $printerId, array $content): string;

    /**
     * 查询打印状态
     * @param string $orderId  为printContent 返回
     * @return bool
     */
    abstract public function getOrderStatus(string $orderId): bool;





}