openkqjAction.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * 群英考勤机
  4. * 请求地址如:http://127.0.0.1/api.php?m=openkqj&openkey=key
  5. */
  6. class openkqjClassAction extends openapiAction
  7. {
  8. private $snid = 0; //设备号ID
  9. public function initAction()
  10. {
  11. $this->display= false;
  12. $this->getpostdata();
  13. }
  14. public function indexAction()
  15. {
  16. echo 'ok';
  17. }
  18. //考勤机的使用
  19. public function apiAction()
  20. {
  21. //print_r($_SERVER);
  22. $path = arrvalue($GLOBALS,'_paths', $_SERVER['REQUEST_URI']);
  23. if(isempt($path))return '';
  24. $patha = explode('/', $path);
  25. $acta = explode('?', $patha[count($patha)-1]);
  26. $act = $acta[0];
  27. $data = array();
  28. $num = $this->get('sn'); //设备号
  29. if(!$num)return 'notdata';
  30. if(c('check')->onlynoen($num))return 'error:sn0';
  31. $dbs = m('kqjsn');
  32. $snid = (int)$dbs->getmou('id',"`num`='$num'");
  33. if($snid==0)return 'error:sn1'; //20250307新增没有设备就不执行了
  34. if($snid==0)$snid = $dbs->insert(array(
  35. 'num' => $num,
  36. 'optdt' => $this->rock->now,
  37. 'status' => 1
  38. ));
  39. $this->snid = $snid;
  40. //考勤机请求
  41. if($act=='get'){
  42. $data= m('kqjcmd')->getcmd($this->snid); //向考勤机发送命令
  43. }
  44. //推送来的
  45. if($act=='post' && $this->postdata!=''){
  46. $data= m('kqjcmd')->postdata($this->snid, $this->postdata);
  47. }
  48. //设备上获取服务器时间
  49. if($act=='unixtime'){
  50. $this->rock->debugs(json_encode($_GET),'unixtime');
  51. $data['timezone'] = 'UTC';
  52. $data['unixtime'] = time()-8*3600; //由于北京时间多8小时所有要减
  53. $data['datetime'] = date('Y-m-d H:i:s', $data['unixtime']);
  54. }
  55. $barr['status'] = 1;
  56. $barr['info'] = 'ok';
  57. $barr['data'] = $data;
  58. return $barr;
  59. }
  60. //推送过来的数据
  61. //[{"id":"5056928","data":"return","return":[{"id":"0","result":"0"}]},{"id":"8993137","data":"return","return":[{"id":"0","result":"0"}]},{"id":"1275640","data":"return","return":[{"id":"0","result":"0"}]},{"id":"8085763","data":"return","return":[{"id":"0","result":"0"}]},{"id":"3896216","data":"return","return":[{"id":"0","result":"0"}]},{"id":"5036770","data":"return","return":[{"id":"0","result":"0"}]},{"id":"3554609","data":"return","return":[{"id":"0","result":"0"}]},{"id":"2144747","data":"return","return":[{"id":"0","result":"0"}]},{"id":"235805","data":"return","return":[{"id":"0","result":"0"}]},{"id":"186003","data":"return","return":[{"id":"0","result":"0"}]}]
  62. }
粤ICP备19079148号