mchctl.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. $quality == Quality::NormalQuickCardkey ||
  31. $quality == Quality::QuickCardkey ||
  32. $quality == Quality::CardkeyNormalQuick
  33. ) {
  34. }
  35. elseif ($quality >= Quality::LowestQuality && $quality <= Quality::HighestQuality) {
  36. }
  37. else {
  38. $quality = Quality::ThirdNormal;
  39. }
  40. $this->mMchidMapCtls[$mchid] = ['quality' => $quality,'time_out' => $time_out];
  41. }
  42. }
  43. public function getCtls($mchid)
  44. {
  45. if(array_key_exists($mchid,$this->mMchidMapCtls)) {
  46. $quality = $this->mMchidMapCtls[$mchid]['quality'];
  47. $time_out = $this->mMchidMapCtls[$mchid]['time_out'];
  48. return [true,$quality,$time_out];
  49. }
  50. else {
  51. return [false,0,0];
  52. }
  53. }
  54. public function mechants_quality()
  55. {
  56. $result = [];
  57. foreach ($this->mMchidMapCtls as $mchid => $item)
  58. {
  59. $quality = intval($item['quality']);
  60. if(PolicyUtil::mixed_quality($quality)) {
  61. $result[$mchid] = $quality;
  62. }
  63. }
  64. return $result;
  65. }
  66. }