ExtendOrderService.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Services\Client;
  3. use App\Models\MemberUser;
  4. use App\Models\Project;
  5. class ExtendOrderService
  6. {
  7. /**
  8. * 获取加钟项目列表
  9. */
  10. public function getProjectList($projectId)
  11. {
  12. // 查询项目
  13. $project = Project::findOrFail($projectId);
  14. // 查询加钟分类的项目列表
  15. $projects = Project::where('state', 'enable')
  16. ->where('type', 'extend')
  17. ->where('agent_id', $project->agent_id)
  18. ->with(['category:id,name'])
  19. ->orderBy('sort', 'desc')
  20. ->get();
  21. return $projects;
  22. }
  23. /**
  24. * 加钟
  25. */
  26. public function extend($userId, $orderId)
  27. {
  28. $user = MemberUser::findOrFail($userId);
  29. // 查询原订单
  30. $order = $user->orders()->where('id', $orderId)->firstOrFail();
  31. // 创建加钟订单
  32. $orderService = app(OrderService::class);
  33. return $orderService->createOrder(
  34. $order->address_id,
  35. [
  36. 'coach_id' => $order->coach_id,
  37. 'project_id' => $order->project_id,
  38. 'agent_id' => $order->agent_id,
  39. 'use_balance' => $order->use_balance,
  40. 'order_id' => $orderId,
  41. ]
  42. );
  43. }
  44. }