OsmoticPressure.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
<?php
namespace app\api\validate\cloudapi;
use think\Validate;
/**
* 渗压验证器
* Class OsmoticPressure
* @package app\api\validate\cloudapi
*/
class OsmoticPressure 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=水文局
'qxIsoKey|千寻渗压浸润线key' => 'require|max:50',//千寻渗压浸润线key
'orifice_elevation|孔口高程' => 'require|number|max:14',//孔口高程
'hole_depth|孔深' => 'require|number|max:13',//孔深
];
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|渗压值(单位:kPa)' => 'require|number',//渗压值(单位:kPa)
'dx_value|浸润性深度(单位:米)' => 'require|number',//浸润性深度(单位:米)
'temp|温度值 (单位: 摄氏度)' => 'require|number',//温度值 (单位: 摄氏度)
'reporttime|时间(毫秒)' => 'require|integer|length:13',//采集时间
],
// 添加设备-设备商(厂商不同验证字段也不同):1=千寻,2=匠星,3=山洪防办,4=雄越,5=水文局
'device1' => ['deviceId','qxDataKey','qxIsoKey','name','reservoir_id','longitude','latitude','company_type','orifice_elevation','hole_depth'],
'device2' => ['deviceId','apiKey','name','reservoir_id','longitude','latitude','company_type','orifice_elevation','hole_depth'],
'device3' => ['deviceId','name','reservoir_id','longitude','latitude','company_type','orifice_elevation','hole_depth'],
'device4' => ['deviceId','name','reservoir_id','longitude','latitude','company_type','orifice_elevation','hole_depth'],
'device5' => ['deviceId','name','reservoir_id','longitude','latitude','company_type','orifice_elevation','hole_depth'],
];
/**
* 验证起始时间和结束时间
*/
protected function checkStartEndTime($value,$rule,$data){
if (empty($data['start_time']) && empty($data['end_time'])){
return '起始时间与结束时间不能同时为空';
}
return true;
}
}