選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

PrintJob.php 968B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace app\jobs\notice;
  3. use crmeb\basic\BaseJobs;
  4. use crmeb\services\printer\Printer;
  5. use crmeb\traits\QueueTrait;
  6. use think\facade\Log;
  7. /**
  8. * 小票打印
  9. * Class PrintJob
  10. * @package app\jobs\notice
  11. */
  12. class PrintJob extends BaseJobs
  13. {
  14. use QueueTrait;
  15. /**
  16. * 小票打印
  17. * @param $type
  18. * @param $configdata
  19. * @param $order
  20. * @param $product
  21. * @return bool
  22. */
  23. public function doJob($type, $configdata, $order, $product)
  24. {
  25. try {
  26. $printer = new Printer($type, $configdata);
  27. $printer->setPrinterContent([
  28. 'name' => sys_config('site_name'),
  29. 'orderInfo' => is_object($order) ? $order->toArray() : $order,
  30. 'product' => $product
  31. ])->startPrinter();
  32. return true;
  33. } catch (\Throwable $e) {
  34. Log::error('小票打印失败失败,失败原因:' . $e->getMessage());
  35. }
  36. }
  37. }