monitor.php 2.2 KB

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