Transfusion.php
2.6 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
<?php
namespace app\api\validate\cloudapi;
use think\Validate;
/**
* 渗流验证器
* Class Transfusion
* @package app\api\validate\cloudapi
*/
class Transfusion extends Validate
{
protected $rule = [
'page|页码' => 'require|integer|egt:1',
'limit|每页数据条数' => 'require|integer|between:1,100',
'device_code|设备编号' => 'require|checkStartEndTime',
'start_time' => 'integer|gt:0',
'end_time' => 'integer|gt:0',
'sort|排序方式' => 'in:ASC,DESC',
//设备字段
'deviceId|设备编号' => 'require|max:50',//设备全局id(千寻硬件key、匠星数据key)
'apiKey|匠星设备编号' => 'require|max:50',//设备key(匠星设备全局id)
'qxDataKey|千寻数据key' => 'require|max:50',//千寻数据key
'name|设备名称' => 'require|max:50',//设备名称
'reservoir_id|水库ID' => 'require|integer',//水库
'longitude|经度' => 'require|number|max:255',//经度
'latitude|纬度' => 'require|number|max:255',//纬度
'company_type|设备商' => 'require|in:1,2,3,4,5',//设备商:1=千寻,2=匠星,3=山洪防办,4=雄越,5=水文局
];
protected $message = [
];
protected $scene = [
// 查询数据
'query' => ['page','limit','device_code','start_time','end_time','sort'],
// 添加数据
'add' => [
'reservoir_id|水库ID' => 'require|integer|egt:1',//水库ID
'equipment_id|设备编号' => 'require',//设备编号
'value|渗流量值(单位:L/s)' => 'require|number',//渗流量值(单位:L/s)
'reporttime|时间(毫秒)' => 'require|integer|length:13',//采集时间
],
// 添加设备-设备商(厂商不同验证字段也不同):1=千寻,2=匠星,3=山洪防办,4=雄越,5=水文局
'device1' => ['deviceId','qxDataKey','name','reservoir_id','longitude','latitude','company_type'],
'device2' => ['deviceId','apiKey','name','reservoir_id','longitude','latitude','company_type'],
'device3' => ['deviceId','name','reservoir_id','longitude','latitude','company_type'],
'device4' => ['deviceId','name','reservoir_id','longitude','latitude','company_type'],
'device5' => ['deviceId','name','reservoir_id','longitude','latitude','company_type'],
];
/**
* 验证起始时间和结束时间
*/
protected function checkStartEndTime($value,$rule,$data){
if (empty($data['start_time']) && empty($data['end_time'])){
return '起始时间与结束时间不能同时为空';
}
return true;
}
}