OrderController.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/9/23 10:06
  7. */
  8. namespace App\Http\Controllers\Frontend\Client\Service;
  9. use App\Exceptions\ApiException;
  10. use App\Http\Controllers\Controller;
  11. use App\Http\Controllers\Frontend\Client\Order\Config;
  12. use App\Http\Requests\Frontend\Client\Service\OrderRequest;
  13. use App\Http\Requests\Request;
  14. use App\Http\Services\Frontend\Client\Service\OrderService;
  15. use App\Models\Coach\User;
  16. use App\Models\Service\Order;
  17. use Endroid\QrCode\Builder\Builder;
  18. use Endroid\QrCode\Writer\PngWriter;
  19. use Illuminate\Foundation\Application;
  20. use Illuminate\Http\JsonResponse;
  21. //use SimpleSoftwareIO\QrCode\Facades\QrCode;
  22. class OrderController extends Controller
  23. {
  24. protected OrderService $orderService;
  25. public function __construct(OrderService $orderService)
  26. {
  27. $this->orderService = $orderService;
  28. }
  29. public function index(Request $request): JsonResponse
  30. {
  31. $params = $request->all();
  32. $res = $this->orderService->getOrderPage($params);
  33. return self::success($res);
  34. }
  35. /**
  36. * @throws ApiException
  37. */
  38. public function store(OrderRequest $request): JsonResponse
  39. {
  40. $params = $request->safe()->toArray();
  41. $res = $this->orderService->createOrder($params);
  42. return self::success($res);
  43. }
  44. public function show(Request $request, int $id): JsonResponse
  45. {
  46. return self::success($this->orderService->getOrder($id));
  47. }
  48. /**
  49. * @throws ApiException
  50. */
  51. public function update(Request $request, int $id): JsonResponse
  52. {
  53. $params = $request->all();
  54. $this->orderService->updateOrder($params, $id);
  55. return self::success(true);
  56. }
  57. public function destroy(int $id): JsonResponse
  58. {
  59. $this->orderService->delOrder($id);
  60. return self::success(true);
  61. }
  62. public function confirm(Request $request): JsonResponse
  63. {
  64. $params = $request->all();
  65. $res = $this->orderService->confirmOrder($params);
  66. return self::success($res);
  67. }
  68. /**
  69. * @throws ApiException
  70. */
  71. public function compute(Request $request): JsonResponse
  72. {
  73. $params = $request->all();
  74. $res = $this->orderService->computePrice($params);
  75. return self::success($res);
  76. }
  77. public function start()
  78. {
  79. }
  80. /**
  81. * Notes :
  82. * Method : 结束订单
  83. * @throws ApiException
  84. */
  85. public function end(Request $request): JsonResponse
  86. {
  87. $params = $request->all();
  88. $this->orderService->updateOrder([...$params, 'status' => 6]);
  89. return self::success(true);
  90. }
  91. /**
  92. * @throws ApiException
  93. */
  94. public function cancel(int $id): JsonResponse
  95. {
  96. $this->orderService->cancelOrder($id);
  97. return self::success(true);
  98. }
  99. public function qrCode(Request $request)
  100. {
  101. $params = $request->all();
  102. $result = $this->orderService->qrCode($params);
  103. return response($result->getString())->header('Content-Type', 'image/png');
  104. }
  105. public function grabList(int $id)
  106. {
  107. $result = $this->orderService->getGrabList($id);
  108. return self::success($result);
  109. }
  110. /**
  111. * @throws ApiException
  112. */
  113. public function setGrab(Request $request, int $id): JsonResponse
  114. {
  115. $coach_id = $request->integer('coachId', 0);
  116. $this->orderService->setGrab($id, $coach_id);
  117. return self::success(true);
  118. }
  119. }