OrderController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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. public function update(Request $request, int $id): JsonResponse
  49. {
  50. $params = $request->all();
  51. $this->orderService->updateOrder($params, $id);
  52. return self::success(true);
  53. }
  54. public function destroy(int $id): JsonResponse
  55. {
  56. $this->orderService->delOrder($id);
  57. return self::success(true);
  58. }
  59. public function confirm(Request $request): JsonResponse
  60. {
  61. $params = $request->all();
  62. $res = $this->orderService->confirmOrder($params);
  63. return self::success($res);
  64. }
  65. /**
  66. * @throws ApiException
  67. */
  68. public function compute(Request $request): JsonResponse
  69. {
  70. $params = $request->all();
  71. $res = $this->orderService->computePrice($params);
  72. return self::success($res);
  73. }
  74. public function start()
  75. {
  76. }
  77. /**
  78. * Notes :
  79. * Method : 结束订单
  80. * @throws ApiException
  81. */
  82. public function end(Request $request): JsonResponse
  83. {
  84. $params = $request->all();
  85. $this->orderService->updateOrder( [...$params,'status' => 6]);
  86. return self::success(true);
  87. }
  88. public function close()
  89. {
  90. }
  91. public function qrCode(Request $request)
  92. {
  93. $params = $request->all();
  94. $result = $this->orderService->qrCode($params);
  95. return response($result->getString())->header('Content-Type', 'image/png');
  96. }
  97. }