monitor.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace queue;
  3. use queue\DispatcherClient;
  4. use queue\DispatcherDB;
  5. use queue\IClient;
  6. class MonitorDB extends IQueueDB
  7. {
  8. public function __construct()
  9. {
  10. parent::__construct('REFILL_MONITOR_QUEUE');
  11. }
  12. }
  13. class MonitorClient extends IJsonClient
  14. {
  15. private static $stInstance = null;
  16. public static function instance()
  17. {
  18. if (self::$stInstance == null) {
  19. self::$stInstance = new MonitorClient();
  20. }
  21. return self::$stInstance;
  22. }
  23. public function __construct()
  24. {
  25. $db = new MonitorDB();
  26. parent::__construct($db);
  27. }
  28. public function onSubmit($mchid,$time,$spec,$card_type,$mch_amount)
  29. {
  30. $params = ['mchid' => $mchid,'time' => $time,'spec' => $spec,'card_type' => $card_type,'mch_amount' => $mch_amount];
  31. $this->push('mch_submit',$params);
  32. }
  33. public function onCallback($mchid,$time,$spec,$card_type,$mch_amount,$channel_amount,$succ)
  34. {
  35. if($succ) {
  36. $params = ['mchid' => $mchid,'time' => $time,'spec' => $spec,'card_type' => $card_type,'mch_amount' => $mch_amount,'channel_amount' => $channel_amount];
  37. $this->push('mch_succ',$params);
  38. } else {
  39. $params = ['mchid' => $mchid,'time' => $time,'spec' => $spec,'card_type' => $card_type,'mch_amount' => $mch_amount];
  40. $this->push('mch_fail',$params);
  41. }
  42. }
  43. public function onNetCheck($chname, $time, $succ)
  44. {
  45. $params = ['channel_name' => $chname,'time' => $time];
  46. if($succ) {
  47. $this->push('net_succ',$params);
  48. } else {
  49. $this->push('net_fail',$params);
  50. }
  51. }
  52. public function onCommit($chname,$time,$spec,$card_type,$channel_amount)
  53. {
  54. $params = ['channel_name' => $chname, 'time' => $time, 'spec' => $spec, 'card_type' => $card_type, 'channel_amount' => $channel_amount];
  55. $this->push('ch_commit', $params);
  56. }
  57. public function onNotify($chname,$time,$spec,$card_type,$channel_amount,$period,$succ)
  58. {
  59. $params = ['channel_name' => $chname, 'time' => $time, 'spec' => $spec, 'card_type' => $card_type, 'channel_amount' => $channel_amount, 'period' => $period];
  60. if ($succ) {
  61. $this->push('ch_succ', $params);
  62. } else {
  63. $this->push('ch_fail', $params);
  64. }
  65. }
  66. }