mchctl.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace refill;
  3. class mchctl
  4. {
  5. private $mMchidMapCtls;
  6. public function __construct()
  7. {
  8. $this->load();
  9. }
  10. public function load()
  11. {
  12. $this->update_ctl();
  13. }
  14. private function update_ctl()
  15. {
  16. $this->mMchidMapCtls = [];
  17. $mod_merchant = Model('merchant');
  18. $merchants = $mod_merchant->getMerchantList(['merchant.mchid' => ['gt', 0]]);
  19. foreach ($merchants as $item)
  20. {
  21. $mchid = $item['mchid'];
  22. $quality = intval($item['quality']);
  23. $time_out = $item['time_out'];
  24. if ($quality == Quality::SlowNormal ||
  25. $quality == Quality::ThirdNormal ||
  26. $quality == Quality::DefSuccess ||
  27. $quality == Quality::NormalQuick ||
  28. $quality == Quality::NormalCardkey ||
  29. $quality == Quality::SlowSixNormal) {
  30. }
  31. elseif ($quality >= Quality::LowestQuality && $quality <= Quality::HighestQuality) {
  32. }
  33. else {
  34. $quality = Quality::ThirdNormal;
  35. }
  36. $this->mMchidMapCtls[$mchid] = ['quality' => $quality,'time_out' => $time_out];
  37. }
  38. }
  39. public function getCtls($mchid)
  40. {
  41. if(array_key_exists($mchid,$this->mMchidMapCtls)) {
  42. $quality = $this->mMchidMapCtls[$mchid]['quality'];
  43. $time_out = $this->mMchidMapCtls[$mchid]['time_out'];
  44. return [true,$quality,$time_out];
  45. }
  46. else {
  47. return [false,0,0];
  48. }
  49. }
  50. public function mechants_quality()
  51. {
  52. $result = [];
  53. foreach ($this->mMchidMapCtls as $mchid => $item)
  54. {
  55. $quality = intval($item['quality']);
  56. if(PolicyUtil::mixed_quality($quality)) {
  57. $result[$mchid] = $quality;
  58. }
  59. }
  60. return $result;
  61. }
  62. }