Prints.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace app\controller\exe;
  3. use app\extra\basic\Base;
  4. use app\middleware\ExeMiddleware;
  5. use app\model\saas\SaasPrintClient;
  6. use LinFly\Annotation\Route\Controller;
  7. use LinFly\Annotation\Route\Middleware;
  8. use LinFly\Annotation\Route\Route;
  9. use support\Request;
  10. use support\Response;
  11. #[Controller(prefix: "/exe/prints"),Middleware(ExeMiddleware::class)]
  12. class Prints extends Base
  13. {
  14. /**
  15. * 回传打印机信息
  16. * @param Request $request
  17. * @return Response
  18. */
  19. #[Route(path: "set",methods: "post")]
  20. public function getPrintList(Request $request): Response
  21. {
  22. try {
  23. $param = $request->post();
  24. if (empty($param)) return errorTrans("empty.data");
  25. $shopId = $request->uuid;
  26. $mode = (new SaasPrintClient);
  27. $printIn = [];
  28. foreach ($param as $key=>$val)
  29. {
  30. $printId = strToUniqueNumberV4(trim($val['name']));
  31. $printData = $mode->where("code",$printId)->where("shop_id",$shopId)->findOrEmpty();
  32. if ($printData->isEmpty()) {
  33. $printIn[$key] = [
  34. "shop_id" => $shopId,
  35. "code" => $printId,
  36. "name" => $val['name'],
  37. "ipaddress" => $val['ipAddress'],
  38. "print_status" => $val['status'],
  39. ];
  40. }
  41. }
  42. if (!empty($printIn)) {
  43. $mode->insertAll(array_values($printIn));
  44. }
  45. return success("ok");
  46. } catch (\Throwable $throwable) {
  47. return error($throwable->getMessage());
  48. }
  49. }
  50. }