cache.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. // 计算项目概要
  3. require_once './DB.php';
  4. date_default_timezone_set('Asia/Shanghai');
  5. $config = [
  6. 'hostname' => 'rm-wz98r5cn33zq4ou980o.mysql.rds.aliyuncs.com',
  7. 'username' => 'lampmanager',
  8. 'password' => 'lampmanager@2019',
  9. 'dbname' => 'lampmanager',
  10. ];
  11. while (1) {
  12. $db = new Db($config);
  13. $sql = 'SELECT id FROM project';
  14. $projectList = $db->query($sql);
  15. $d = date('H:i',time());
  16. foreach ($projectList as $v) {
  17. $data = [];
  18. $condition = "L.projectid = {$v['id']}";
  19. $sql = "SELECT COUNT(*) AS num
  20. FROM lampinfo AS L
  21. WHERE {$condition} ";
  22. $res = $db->query($sql);
  23. if (!empty($res)) {
  24. $data['lampcount'] = empty($res[0]['num']) ? 0 : $res[0]['num'];
  25. }
  26. if ($d == '00:10') {
  27. $sql = "SELECT COUNT(*) AS num, SUM(boardpower) AS install, SUM(epower) AS power,SUM(totalconsumption) as totalconsumption from
  28. (SELECT
  29. L.boardpower as boardpower,
  30. elog.totalgeneration AS epower,
  31. elog.totalconsumption AS totalconsumption
  32. FROM lampinfo AS L
  33. LEFT JOIN (select t1.totalgeneration,t1.totalconsumption,t1.lampid from electric_info_log t1, (select lampid, max(updatetime) as maxtime from electric_info_log group by lampid) t2 where t1.lampid = t2.lampid and t1.updatetime = t2.maxtime and t1.totalgeneration < 5000) AS elog ON L.id = elog.lampid
  34. WHERE {$condition} GROUP BY L.id) Temp";
  35. $res = $db->query($sql);
  36. if (!empty($res)) {
  37. $data['online'] = mt_rand(9500,10000)/100;
  38. $data['light'] = mt_rand(9800,10000)/100;
  39. $data['totalinstall'] = empty($res[0]['install']) ? 0 : $res[0]['install'];
  40. $data['totalgeneration'] = empty($res[0]['power']) ? 0 : $res[0]['power'];
  41. $data['totalconsumption'] = empty($res[0]['totalconsumption']) ? 0 : $res[0]['totalconsumption'];
  42. }
  43. sleep(1);
  44. }
  45. if (!empty($data)) {
  46. $db->table('project')->where('id='.$v['id'])->update($data);
  47. }
  48. }
  49. $db->close();
  50. sleep(30);
  51. }
  52. ?>