policy.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace refill;
  3. class policy extends ProviderManager implements IPolicy
  4. {
  5. const normal_times = 15;
  6. const normle_time_out = 90;
  7. const high_times = 5;
  8. const high_time_out = 30;
  9. public function find_providers(int $amount, int $card_type,int $quality): array
  10. {
  11. $providers = parent::find_providers($amount,$card_type,$quality);
  12. }
  13. public function can_retry(array $refill_info, array $order_info): bool
  14. {
  15. return false;
  16. }
  17. public function allow($mchid, $card_type, $amount, $quality): bool
  18. {
  19. return true;
  20. }
  21. public function can_nettry($quality,$order_time,$commit_times) : bool
  22. {
  23. if($quality == 1) {
  24. return $commit_times < policy::normal_times && time() - $order_time < policy::normle_time_out;
  25. }
  26. else {
  27. return $commit_times < policy::high_times && time() - $order_time < policy::high_time_out;
  28. }
  29. }
  30. public function notify($order_info, $refill_info) : bool
  31. {
  32. return false;
  33. }
  34. }