PrintJob.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\jobs\notice;
  12. use crmeb\basic\BaseJobs;
  13. use crmeb\services\printer\Printer;
  14. use crmeb\traits\QueueTrait;
  15. use think\facade\Log;
  16. /**
  17. * 小票打印
  18. * Class PrintJob
  19. * @package app\jobs\notice
  20. */
  21. class PrintJob extends BaseJobs
  22. {
  23. use QueueTrait;
  24. /**
  25. * 小票打印
  26. * @param $type
  27. * @param $configData
  28. * @param $order
  29. * @param $product
  30. * @return bool|void
  31. */
  32. public function doJob($type, $configData, $order, $product)
  33. {
  34. try {
  35. $printer = new Printer($type, $configData);
  36. $printer->setPrinterContent([
  37. 'name' => sys_config('site_name'),
  38. 'url' => sys_config('site_url'),
  39. 'orderInfo' => is_object($order) ? $order->toArray() : $order,
  40. 'product' => $product
  41. ])->startPrinter();
  42. return true;
  43. } catch (\Throwable $e) {
  44. Log::error('小票打印失败失败,失败原因:' . $e->getMessage());
  45. }
  46. }
  47. }