Appearance
智能水表
| 序号 | 版本 | 作者 | 日期 | 说明 |
|---|---|---|---|---|
| 1 | V1.0.0 | 蒋新建 | 2025-04-03 | 初始文档 |
状态码说明
| 状态码 | 说明 |
|---|---|
| 200 | 操作成功 |
| -1 | 未知错误 |
| 10001 | 授权账号无效 |
| 10002 | 设备不存在 |
| 10003 | 设备已被注册 |
| 10004 | 设备已过有效使用期 |
| 10005 | 无此设备操作权限 |
| 10009 | 设备未激活或未初始化 |
| 10011 | 参数缺失 |
| 10012 | 参数无效 |
| 10021 | 数据不存在 |
| 10031 | 不支持此操作 |
| 10032 | 设备连接超时 |
| 10033 | 处理中,请稍候再试 |
API列表
1. 获取水表列表信息
- URI:/openapi/v1/water_meter/list_page
- Method:
post- 需要鉴权: 是
- 是否同步: 同步
请求参数
字段名 类型 是否必填 字段说明 name String 否 表名 sn String 否 sn码 installAddress String 否 安装地址 paymentMode Integer 否 付费模式(1:预付费;2:后付费;) size long 是 每页返回的记录数量,最大支持100,默认20 current long 是 当前页数 响应参数
字段名 类型 字段说明 current long 当前页 size long 每页显示条数 total long 总数 records List 数据结果集 > meterId String 水表id > name String 名称 > sn String 设备序列号 > installAddress String 安装地址 > type int 水表类别:301:蓝牙水表,302:4G 水表,303:网关水表
2.水表信息
- URI:/openapi/v1/water_meter/get_info
- Method:
post- **需要鉴权:**是
- 是否同步: 同步
请求参数
字段名 类型 是否必填 字段说明 meterId String 否 水表id(优先使用meterId) sn String 否 设备sn(当meterId为空时,sn必填) 响应参数
字段名 类型 字段说明 meterId String 水表id paymentMode Int 付费模式(1:预付费;2:后付费;) unitPrice BigDecimal 单价 currentReading BigDecimal 当前读数 overdraft BigDecimal 透支额度 apportionConsumption BigDecimal 分摊读数 samplingTime Date 采样时间 installAddress String 安装地址 isCheckin Int 是否入住0,否,1是 type int 水表类别:301:蓝牙水表,302:4G 水表,303:网关水表 sn String 序列号 macAddr String 网卡地址 bluetoothAddr String 蓝牙地址 surplusConsumption BigDecimal 剩余水量 extraFee List 加收费用,详情见PriceTimeIntervalDTO onlineStatus Integer 在线状态(1:在线;2:离线) valveStatus Integer 阀门状态(0:未知 1:开阀/合闸 2:关阀/断闸)
3.抄表
- URI:/openapi/v1/water_meter/reading
- Method:
post- 需要鉴权: 是
- **是否同步:**异步
请求参数
字段名 类型 是否必填 字段说明 meterId String 否 水表id(优先使用meterId) sn String 否 设备sn(当meterId为空时,sn必填) 响应参数
4.水表设置付费模式
- URI:/openapi/v1/water_meter/payment_mode_edit
- Method:
post- 需要鉴权: 是
- **是否同步:**异步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id paymentMode int 是 付费模式(1:预付费;2:后付费;) overdraft BigDecimal 否(预付费必填) 透支额度 响应参数
5.水表充值
- URI:/openapi/v1/water_meter/charging
- Method:
post- 需要鉴权: 是
- **是否同步:**异步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id chargingMethod Integer 是 充水方式(0,充读数,1,充钱数) chargingValue BigDecimal 是 充的值 remarks String 否 备注 响应参数
6.水表清零
- URI:/openapi/v1/water_meter/clear
- Method:
post- 需要鉴权: 是
- **是否同步:**异步
请求参数
字段名 类型 是否必填 字段说明 meterId String 否 水表id(优先使用meterId) sn String 否 设备sn(当meterId为空时,sn必填) 响应参数
7.水表断水/供水
- URI:/openapi/v1/water_meter/valve_open_and_close
- Method:
post- 需要鉴权: 是
- **是否同步:**异步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id opType Integer 是 操作类型:0,供水,1,断水 响应参数
8.水表设置费用价格
- URI:/openapi/v1/water_meter/set_fee
- Method:
post- 需要鉴权: 是
- 是否同步: 同步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id editValue Object 是 水表修改的对象,详情见WaterFee remarks String 是 备注 WaterFee
字段名 类型 是否必填 字段说明 unitPrice BigDecimal 是 水费单价 extraFee List 否 水费的额外价格,详情见PriceTimeIntervalDTO PriceTimeIntervalDTO
字段名 类型 是否必填 字段说明 enable boolean 是 是否启用 unitPrice BigDecimal 是 单价 feeName String 是 费用名称
| feeCode | String | 是 | 费用代码 | | startTime | String | 否(尖峰平谷价必填) | 开始时间(格式00:00) | | endTime | String | 否(尖峰平谷价必填) | 结束时间(格式00:00) |
- 响应参数
9.水表设置透支余额
- URI:/openapi/v1/water_meter/set_overdraft
- Method:
post- 需要鉴权: 是
- **是否同步:**异步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id overdraft BigDecimal 是 透支额度 remarks String 否 备注 响应参数
10.查询用水量
- URI:/openapi/v1/water_meter/usage_list
- Method:
post- 需要鉴权: 是
- 是否同步: 同步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id startTime Long 是 开始时间名称 endTime Long 是 结束时间手机号 size long 是 每页返回的记录数量,最大支持100,默认20 current long 是 当前页数 响应参数
字段名 类型 字段说明 current long 当前页 size long 每页显示条数 total long 总数 records List 数据结果集 > meterId String 水表id > day String 用水所在天(yyyy-MM-dd) > startReading BigDecimal 开始读数 > endReading BigDecimal 结束读数 > totalUsage BigDecimal 总用量 > apportionConsumption BigDecimal 分摊读数 >lastReadTime long 上一次记录时间 >currentReadTime long 当前读数时间
11.查询操作记录
- URI:/openapi/v1/water_meter/get_operation_status
- Method:
post- 需要鉴权: 是
- 是否同步: 同步
请求参数
字段名 类型 是否必填 字段说明 meterId String 是 水表id requestId String 是 请求id 响应参数
字段名 类型 字段说明 status Int 状态(-1,失败,0,请求中,1,成功) errorMsg String 错误信息
事件通知
事件通知类型:
- WM01->抄表事件
- WM02->水表设置付费模式事件
- WM03->水表充值事件
- WM04->水表清零事件
- WM05->水表断水/供水事件
- WM06->水表设置透支余额事件
- WM07->水表上报事件
- WM08->报警事件
抄表事件
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "currentReading": "0.00",//当前读数 "readingRefTime": "2024-04-19T00:00:00",//当前读数刷新时间 "samplingTime": "2024-04-19T00:00:00",//采样时间 "surplusConsumption": "10.00",//剩余水量 "requestId": "0KLRm9DVcJjTVE3O", "isSeccess": true//是否成功 }, "eventType": "WM01" }水表设置付费模式事件
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "paymentMode":"1",//付费模式(1:预付费;2:后付费;) "unitPrice":"1",//单价(缺省价,尖峰平谷+时间范围)详情见PriceRuleDTO "extraFee":"[{\"enable\":1,\"unitPrice\":1,\"feeName\":\"测试费用\",\"feeCode\":\"test_fee\"}]",//水费的额外价格,详情见PriceTimeIntervalDTO "overdraft":"1.90",//透支额度 "requestId": "0KLRm9DVcJjTVE3O", "isSeccess": true//是否成功 }, "eventType": "WM02" }水表充值事件
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "chargingValue":2.7,//充值的度数 "surplusConsumption":8.9,//剩余用水量 "requestId": "0KLRm9DVcJjTVE3O", "isSeccess": true//是否成功 }, "eventType": "WM03" }水表清零
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "requestId": "0KLRm9DVcJjTVE3O", "isSeccess": true//是否成功 }, "eventType": "WM04" }水表断水/供水事件
java{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "valveStatus":1,//阀门状态(0,未知,1,合闸,2,断闸) "requestId": "0KLRm9DVcJjTVE3O", "isSeccess": true//是否成功 }, "eventType": "WM05" }水表设置透支余额事件
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "overdraft":"1.90",//透支额度 "requestId": "0KLRm9DVcJjTVE3O", "isSeccess": true//是否成功 }, "eventType": "WM06" }水表上报事件
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "currentReading": "0.00",//当前读数 "readingRefTime": "2024-04-19T00:00:00",//当前读数刷新时间 "samplingTime": "2024-04-19T00:00:00",//采样时间 "surplusConsumption": "10.00",//剩余水量 "requestId": "0KLRm9DVcJjTVE3O" }, "eventType": "WM07" }报警事件
json{ "data": { "sn": "123456",//设备号 "meterId":"123456",//设备id "alarmList": [1,2,3,4],//1,"磁干扰报警",2,"电池欠压报警,3,"剩余水量报警",4,"透支量报警",5,"阀门故障报警" "requestId": "0KLRm9DVcJjTVE3O" }, "eventType": "WM08" }