refill_cron.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. require_once(BASE_HELPER_PATH . '/refill/util.php');
  3. use refill\util;
  4. use Log;
  5. class refill_cronControl extends SystemControl
  6. {
  7. public function __construct()
  8. {
  9. parent::__construct();
  10. }
  11. public function indexOp()
  12. {
  13. $condition = [];
  14. if(!empty($_GET['search'])) {
  15. $search = $_GET['search'];
  16. $condition['params'] = ['like', '%'.$search.'%'];
  17. }
  18. $mod = Model('cron');
  19. $cron = $mod->getCronList($condition);
  20. $merchants = [];
  21. $merchant_list = Model('')->table('merchant')->limit(1000)->select();
  22. foreach ($merchant_list as $value) {
  23. $merchants[$value['mchid']] = $value;
  24. }
  25. foreach ($cron as $key => $value) {
  26. $params = unserialize($value['params']);
  27. foreach ($params as $param) {
  28. $mchid = $param['params']['mchid'];
  29. }
  30. $cron[$key]['params'] = $params;
  31. $cron[$key]['company_name'] = $merchants[$mchid]['company_name'];
  32. }
  33. Tpl::output('show_page', $mod->showpage());
  34. Tpl::output('cron', $cron);
  35. Tpl::showpage('refill.cron');
  36. }
  37. public function DelOp()
  38. {
  39. $id = $_GET['id'];
  40. $mod = Model('cron');
  41. $cron_info = $mod->getCronInfo(['id' => $id]);
  42. if (empty($cron_info)) {
  43. showMessage('队列信息不存在');
  44. }
  45. if($cron_info['exetime'] <= time()) {
  46. showMessage('队列任务时间限制');
  47. }
  48. $result = $mod->delCron(['id' => $id]);
  49. if (!$result) {
  50. showMessage('删除失败');
  51. }
  52. $params = unserialize($cron_info['params']);
  53. foreach ($params as $param) {
  54. $mchid = $param['params']['mchid'];
  55. $mch_order = $param['params']['mch_order'];
  56. }
  57. Log::record("del cron mchid:{$mchid},mch_order:{$mch_order}",Log::DEBUG);
  58. if(!empty($mch_order) && !empty($mchid)) {
  59. util::pop_queue_order($mchid,$mch_order);
  60. }
  61. showMessage('删除成功');
  62. }
  63. }