KevinProvincialOfficeCrontab.php
3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
namespace app\api\controller\reservoir;
use app\common\controller\Api;
use app\common\helper\HttpHelper;
use fast\Http;
use function GuzzleHttp\Psr7\str;
use think\Request;
use think\Db;
use qx\Qx;
use addons\alisms\controller\Index;
set_time_limit(0);
/**
* 对接省厅的定时任务
* Class KevinProvincialOfficeCronHour
* @package app\api\controller\reservoir
*/
class KevinProvincialOfficeCrontab extends Api
{
protected $noNeedLogin = '*';
protected $noNeedRight = '*';
public function _initialize()
{
parent::_initialize(); // TODO: Change the autogenerated stub
}
/**
* 7777、每小时推送蒙自市的所有水库设备数据到省厅
*/
public function hour_push()
{
//所有水库信息
$w = [];
$w["b.RSCD"] = ["neq", ""];
$w["b.STCD"] = ["neq", ""];
$w["b.client_id"] = ["neq", ""];
$w["b.client_secret"] = ["neq", ""];
$list = Db::name("reservoir_list")->alias("a")
->join("reservoir_provincial_office_token b", "b.reservoir_id=a.id")
->where($w)
->order("a.id asc")
->column("a.id");
if (!empty($list)) {
foreach ($list as $k => $v) {
$url = "";
//循环上报处理水库水位、雨量、渗流测点、渗流、渗压测点、渗压数据
//水位
$url = "https://www.ynzhsk.cn/api/reservoir/kevin_provincial_office/pushOBZ" . "?skid=" . $v;
HttpHelper::get($url);
//雨量
$url = "https://www.ynzhsk.cn/api/reservoir/kevin_provincial_office/pushOBP" . "?skid=" . $v;
HttpHelper::get($url);
//渗流测点
$url = "https://www.ynzhsk.cn/api/reservoir/kevin_provincial_office/pushSPQNMP" . "?skid=" . $v;
HttpHelper::get($url);
//渗流
$url = "https://www.ynzhsk.cn/api/reservoir/kevin_provincial_office/pushSPQN" . "?skid=" . $v;
HttpHelper::get($url);
//渗压测点
$url = "https://www.ynzhsk.cn/api/reservoir/kevin_provincial_office/pushSPPRMP" . "?skid=" . $v;
HttpHelper::get($url);
//渗压数据
$url = "https://www.ynzhsk.cn/api/reservoir/kevin_provincial_office/pushSPPR" . "?skid=" . $v;
HttpHelper::get($url);
}
}
echo date("Y-m-d H:i:s") . "运行完毕";
die;
}
/***
* 处理保存的日志数据,删除24小时前的记录
*/
public function del_provincial_office_push_log()
{
$time = strtotime('-1 day', time());
$list = Db::name('reservoir_provincial_office_push_log')
->where("createtime<" . $time)
->select();
if ($list) {
//把数据保存到总表,然后删除过期数据
foreach ($list as $k => $v) {
$data = $v;
unset($data['id']);
Db::name('reservoir_provincial_office_push_logall')->insertGetId($data);
$rs = Db::name('reservoir_provincial_office_push_log')
->where(['id' => $v['id']])
->delete();
}
}
$this->success('执行成功', $rs);
}
}