OrderController.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Created by PhpStorm
  4. * DateTime: 2022/11/5 0:31.
  5. *
  6. * @description
  7. */
  8. namespace App\Http\Controllers\V1\Share;
  9. use App\Http\Controllers\V1\Controller;
  10. use App\Models\UserShare;
  11. use Dingo\Api\Http\Request;
  12. use Illuminate\Http\JsonResponse;
  13. class OrderController extends Controller
  14. {
  15. public function lists(Request $request): JsonResponse
  16. {
  17. $limit = $request->input('limit', 10);
  18. $page = $request->input('page', 1);
  19. $offset = ($page - 1) * 10;
  20. $user = \user();
  21. $lists = UserShare::with([
  22. 'vipOrder:id,user_id,combo_id,pay_id,status,created_at',
  23. 'vipOrder.user:id,nickname,avatar',
  24. 'vipOrder.combo:id,name,price',
  25. 'rechargeOrder:id,user_id,combo_id,price,gold,pay_id,status,created_at',
  26. 'rechargeOrder.user:id,nickname,avatar',
  27. 'rechargeOrder.combo:id,name,price',
  28. ])->where('user_id', $user->id)
  29. ->limit($limit)
  30. ->offset($offset)
  31. ->get();
  32. /* @var UserShare $list */
  33. foreach ($lists as $list) {
  34. $list->order = $list;
  35. $list->type_name = $list->order_type;
  36. unset($list->vipOrder, $list->rechargeOrder);
  37. }
  38. return $this->success($lists);
  39. }
  40. }