CardRidingOrderRepository.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Repositories;
  3. use App\Models\CardRidingOrder;
  4. use Carbon\Carbon;
  5. class CardRidingOrderRepository extends BaseRepository
  6. {
  7. public function __construct(CardRidingOrder $cardRidingOrder)
  8. {
  9. $this->model = $cardRidingOrder;
  10. }
  11. /**
  12. * 判断用户是否有已支付 但是未回调成功的记录
  13. *
  14. * @param $user_id integer
  15. *
  16. * @return bool 为true时通过 为false失败
  17. *
  18. * */
  19. public function isPayCallbackOk($user_id)
  20. {
  21. $cardRidingOrder = $this->model->query()
  22. ->where('user_id', $user_id)
  23. ->where('pay_status', CardRidingOrder::PAY_STATUS_NO)
  24. ->where('status', CardRidingOrder::STATUS_OK)
  25. ->first();
  26. if (empty($cardRidingOrder)) {
  27. // 验证通过
  28. return true;
  29. }
  30. // 验证失败 存在订单 已支付但未回调
  31. return false;
  32. }
  33. /**
  34. * 根据用户id 获取历史订单 半年内
  35. *
  36. * */
  37. public function getAllByUserId($user_id)
  38. {
  39. $time = Carbon::now()->subMonths(6);
  40. $cardRidingOrder = $this->model->query()
  41. ->where('user_id', $user_id)
  42. ->where('created_at', '>', $time)
  43. ->where('pay_status', CardRidingOrder::PAY_STATUS_OK)
  44. ->orderByDesc('id')
  45. ->paginate();
  46. return $cardRidingOrder;
  47. }
  48. }