TaskData.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. include_once dirname(__FILE__) . '/../main.php';
  3. $params = query_paras();
  4. //$params = $_POST['date'];
  5. $date = $params['date']['ts'];
  6. $uid = $params['date']['uid'];
  7. $zoneid = $params['date']['zoneid'];
  8. $sqlName = "tab_op_log" . $date;
  9. $arr = daoInst()->select("*")->from($sqlName)
  10. ->where('cmd')->eq(6901)
  11. ->andWhere('zoneid')->eq($zoneid)
  12. ->andWhere('uid')->eq($uid)
  13. ->fetchAll();
  14. $lastItem = null;
  15. $dic = new stdClass();
  16. $list = array();
  17. $index = 1;
  18. $num = 0;
  19. foreach ($arr as $item) {
  20. if ($lastItem != null) {
  21. $list[] = $lastItem;
  22. if (strtotime($item->ts) - strtotime($lastItem->ts) > 20 * 60) {
  23. $timeDic = new stdClass();
  24. $timeDic->startTs = strtotime($list[0]->ts);
  25. $timeDic->endTs = strtotime($list[count($list) - 1]->ts);
  26. $timeDic->durationTs = strtotime($list[count($list) - 1]->ts) - strtotime($list[0]->ts);
  27. $dic->$index = $timeDic;
  28. $index += 1;
  29. $list = array();
  30. }
  31. }
  32. $num+=1;
  33. $lastItem = $item;
  34. if(count($arr)==$num){
  35. $list[] = $item;
  36. $timeDic = new stdClass();
  37. $timeDic->startTs = strtotime($list[0]->ts);
  38. $timeDic->endTs = strtotime($list[count($list) - 1]->ts);
  39. $timeDic->durationTs = strtotime($list[count($list) - 1]->ts) - strtotime($list[0]->ts);
  40. $dic->$index = $timeDic;
  41. break;
  42. }
  43. }
  44. $result = new stdClass();
  45. $result->data = $dic;
  46. echo Resp::ret($result);