# 设备管理服务平台
版本 |  创建时间   | 作者 |  备注信息
---|---|---|---
v1.0|2022-01-20|zxfei| 接口文档

## 数据类型
类型名称|类型描述|参考样例
---|---|---
String |字符串|A、a、ab
Integer|数字类型|1、12、-1
Long|长整型数字|1、12、-1
date|时间类型,单位纳秒数字|167988745573
BigDecimal|小数类型|545.256
object|对象类型|{"name":"zhang3"}
arrays|数组类型|[{"name":"zhang3"},{"name":"zhang2"}]

## 设备

### 查询设备列表

**请求URL:** m/device/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询设备

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数，值为-1，查询所有记录
deviceCode|String|否|设备编码查询设备

**请求样例:**
```
  {
        "deviceCode":"a1-b1-c1",
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|主键ID，主键，自增长
&emsp;&emsp;deviceName|String|设备名称
&emsp;&emsp;deviceCode|String|设备编码,SN码等，默认为MAC地址
&emsp;&emsp;deviceMac|String|设备的MAC地址
&emsp;&emsp;siteId|Long|站点Id，来源基础服务平台
&emsp;&emsp;siteCode|String|站点编号，来源基础服务平台
&emsp;&emsp;siteName|String|站点名称
&emsp;&emsp;platformId|Long|平台系统Id
&emsp;&emsp;platformName|String|平台系统名称
&emsp;&emsp;productId|Long|产品Id
&emsp;&emsp;productName|String|产品名称
&emsp;&emsp;skinId|Long|皮肤id
&emsp;&emsp;skinName|String|皮肤名称
&emsp;&emsp;homeUrl|String|首页地址
&emsp;&emsp;deviceFirmId|Long|设备生产厂商ID
&emsp;&emsp;deviceFirmname|String|设备生产厂商名称
&emsp;&emsp;deviceSrc|Integer|设备来源(0.子设备，1.网关设备，2.直连设备)
&emsp;&emsp;deviceDataSourceWay|Integer|数据获取方式(0.主动上报，1.被动拉取)
&emsp;&emsp;lon|String|经度
&emsp;&emsp;lati|String|经度
&emsp;&emsp;deviceInBuilding|Integer|所属楼栋
&emsp;&emsp;deviceInFloor|Integer|所属楼层
&emsp;&emsp;defectsLiabilityPeriod|Date|保修期至
&emsp;&emsp;leadingOfficial|String|负责人
&emsp;&emsp;leadingOfficialTelephone|String|联系电话
&emsp;&emsp;isReceiveMess|Integer|是否接收异常短(0.否，1.是)
&emsp;&emsp;devicePhotoPath|String|设备图片
&emsp;&emsp;ip|String|设备访问ip
&emsp;&emsp;centernum|String|中心设备编码
&emsp;&emsp;port|String|端口
&emsp;&emsp;deviceTopic|String|设备topic信息
&emsp;&emsp;deviceStatus|Integer|设备状态 (0.未激活，1.离线,2.在线)
&emsp;&emsp;enabled|Integer|启用状态 (0.停止，1.启用)
&emsp;&emsp;deviceAuthCode|String|设备授权码
&emsp;&emsp;deviceRemark|String|备注
&emsp;&emsp;onlineTime|Date|最近上线时间
&emsp;&emsp;offlineTime|Date|最近离线时间
&emsp;&emsp;deleted|Integer|是否删除(0.否，1.是)
&emsp;&emsp;source|Integer|设备来源(0.旧设备，1.新设备)
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
&emsp;&emsp;deviceSN|String|设备SN码
&emsp;&emsp;deviceVersion|String|设备版本
&emsp;&emsp;productCode|String|产品编码
&emsp;&emsp;hallId|Long|大厅Id
&emsp;&emsp;hallName|String|大厅名称
&emsp;&emsp;showSms|Integer|是否显示短信(0.否，1.是)
&emsp;&emsp;showPrint|Integer|是否显示打印机(0.否，1.是)
&emsp;&emsp;showWechatQrCode|Integer|是否显示小程序二维码(0.否，1.是)


**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

### 查看设备

**请求URL:** m/device/info

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 查看设备，返回实例详细信息

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID

**请求样例:**
```
    http://localhost/device/info?id=549
```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|主键ID，主键，自增长
&emsp;deviceName|String|设备名称
&emsp;deviceCode|String|设备编码,SN码等，默认为MAC地址
&emsp;deviceMac|String|设备的MAC地址
&emsp;siteId|Long|站点Id，来源基础服务平台
&emsp;siteCode|String|站点编号，来源基础服务平台
&emsp;siteName|String|站点名称
&emsp;platformId|Long|平台系统Id
&emsp;platformName|String|平台系统名称
&emsp;productId|Long|产品Id
&emsp;productName|String|产品名称
&emsp;skinId|Long|皮肤id
&emsp;skinName|String|皮肤名称
&emsp;homeUrl|String|首页地址
&emsp;deviceFirmId|Long|设备生产厂商ID
&emsp;deviceFirmname|String|设备生产厂商名称
&emsp;deviceSrc|Integer|设备来源(0.子设备，1.网关设备，2.直连设备)
&emsp;deviceDataSourceWay|Integer|数据获取方式(0.主动上报，1.被动拉取)
&emsp;lon|String|经度
&emsp;lati|String|经度
&emsp;deviceInBuilding|Integer|所属楼栋
&emsp;deviceInFloor|Integer|所属楼层
&emsp;defectsLiabilityPeriod|Date|保修期至
&emsp;leadingOfficial|String|负责人
&emsp;leadingOfficialTelephone|String|联系电话
&emsp;isReceiveMess|Integer|是否接收异常短(0.否，1.是)
&emsp;devicePhotoPath|String|设备图片
&emsp;ip|String|设备访问ip
&emsp;centernum|String|中心设备编码
&emsp;port|String|端口
&emsp;deviceTopic|String|设备topic信息
&emsp;deviceStatus|Integer|设备状态 (0.未激活，1.离线,2.在线)
&emsp;enabled|Integer|启用状态 (0.停止，1.启用)
&emsp;deviceAuthCode|String|设备授权码
&emsp;deviceRemark|String|备注
&emsp;onlineTime|Date|最近上线时间
&emsp;offlineTime|Date|最近离线时间
&emsp;deleted|Integer|是否删除(0.否，1.是)
&emsp;source|Integer|设备来源(0.旧设备，1.新设备)
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateUserId|Long|更新用户
&emsp;updateTime|Date|更新时间
&emsp;deviceSN|String|设备SN码
&emsp;deviceVersion|String|设备版本
&emsp;productCode|String|产品编码
&emsp;hallId|Long|大厅Id
&emsp;hallName|String|大厅名称
&emsp;showSms|Integer|是否显示短信(0.否，1.是)
&emsp;showPrint|Integer|是否显示打印机(0.否，1.是)
&emsp;showWechatQrCode|Integer|是否显示小程序二维码(0.否，1.是)

**响应消息样例:**
```
{
    "code": 1,
    "data": {
            "id":7358,
            "deviceName":"erph19",
            "deviceCode":"ntgta3",
            "deviceMac":"znt3id",
            "siteId":9517,
            "siteCode":"4559rn",
            "siteName":"7ao5ir",
            "platformId":2690,
            "platformName":"munkr2",
            "productId":4970,
            "productName":"s74o2p",
            "skinId":3594,
            "skinName":"mfzk6x",
            "homeUrl":"smt540",
            "deviceFirmId":4500,
            "deviceFirmname":"gu43rw",
            "deviceSrc":4826,
            "deviceDataSourceWay":1120,
            "lon":"yrgkye",
            "lati":"qoexqr",
            "deviceInBuilding":7864,
            "deviceInFloor":5044,
            "defectsLiabilityPeriod":"2023-05-11",
            "leadingOfficial":"2rde5a",
            "leadingOfficialTelephone":"myuu2u",
            "isReceiveMess":3164,
            "devicePhotoPath":"0tys3c",
            "ip":"3gzlpg",
            "centernum":"kdxfpx",
            "port":"immaf4",
            "deviceTopic":"kum049",
            "deviceStatus":4767,
            "enabled":6533,
            "deviceAuthCode":"ynopdq",
            "deviceRemark":"l6ak87",
            "onlineTime":"2023-05-11",
            "offlineTime":"2023-05-11",
            "deleted":8884,
            "source":4089,
            "createUserId":1410,
            "createTime":"2023-05-11",
            "updateUserId":846,
            "updateTime":"2023-05-11",
            "deviceSN":"jsbvj4",
            "deviceVersion":"9mgt52",
            "productCode":"iah2ld",
            "hallId":6781,
            "hallName":"gfi3zw",
            "showSms":1994,
            "showPrint":2841,
            "showWechatQrCode":9531
        }
}
```




## 设备终端接口服务

### 服务端地址获取

**广播服务端口:** 8074

**广播客户端口:** 8073

**请求方式:** UDP

**内容类型:** application/json;charset=utf-8

**简要描述:** 服务端地址获取

**广播参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---
deviceNum|String|设备编码|是|-

**请求样例:**
```

{
"deviceNum":"12345678"
}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码（-1.失败，1.成功）|-
msg|String|消息|-
data|Object|数据对象|-
&emsp;ip|String|ip|-
&emsp;port|Integer|port|-
&emsp;deviceRegisterApi|String|设备注册API|-
&emsp;deviceInitApi|String|设备初始化信息API|-
&emsp;deviceUpdateApi|String|设备页面修改API|-


**响应消息样例:**
```

{
    "msg":"获取服务端地址成功",
    "code":1,
    "data":{
        "ip":"192.168.0.98",
        "port":11091,,
        "deviceRegisterApi":"/m/api/register",
        "deviceInitApi":"/m/api/deviceInit",
        "deviceUpdateApi":"/m/api/deviceUpdate"
    }
}
```


### 设备注册

**请求URL:** m/api/register

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 设备注册，成功返回响应rabbmit连接参数,如未找到该设备，系统会根据设备码创建新设备

**请求参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---
deviceCode|String|设备编码,唯一|是|可是编码或者mac地址，由平台创建
deviceVersion|String|设备版本信息|否|-

**请求样例:**
```
{
    "deviceCode":"a12345678",
    "deviceVersion":"1"
}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码（-1.失败，1.成功）|-
msg|String|消息|-
data|object|数据对象|-
&emsp;content|String|加密后的内容|AES加密


**content解密参数:**

参数名称 |参数类型| 备注                    |其它
---|---|-----------------------|---
rabbmitInfo|Object| rabbmit相关链接信息         |-
&emsp;downTopicFilter|String| 下行队列topic             |-
&emsp;uploadTopicFilter|String| 上行队列topic             |-
&emsp;username|String| rabbmit用户名            |-
&emsp;password|String| rabbmit密码             |-
&emsp;host|String| ip                    |-
&emsp;port|String| 端口                    |-
&emsp;virtualHost|String| 虚拟机                   |-
&emsp;exchangeName|String| 交换机名称                 |-
&emsp;messageTtl|String| 队列消息超时时间，毫秒           |-
serviceInfo|Object| 服务接口连接信息              |-
&emsp;homeUrl|String| 首页                    |-
&emsp;eventUrl|String| 事件地址                  |-
&emsp;serverUrl|String| 前端服务接口地址              |-
deviceInfo|Object| 设备基础信息                |-
&emsp;siteId|Long| 站点ID                  |-
&emsp;siteCode|String| 站点编码                  |-
&emsp;siteName|String| 站点名称                  |-
&emsp;productId|Long| 设备产品类型Id              |-
&emsp;productName|String| 设备产品类型                |-
&emsp;enabled|Integer| 设备启用状态 (0.停止，1.启用)    |-
&emsp;source|Integer| 设备来源,默认1(0.旧设备，1.新设备) |-



**响应消息样例:**
```
{
    "code":1,
    "data":{
        "content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA="
    }
}
```


### 设备初始化信息

**请求URL:** m/api/deviceInit

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 设备初始化信息，提供手机编辑设备入口信息

**请求参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---

**请求样例:**
```
{}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码（-1.失败，1.成功）|-
msg|String|消息|-
data|object|数据对象|-
&emsp;productList|array|产品列表|数组
&emsp;&emsp;productId|Long|产品id|-
&emsp;&emsp;productName|String|产品名称|-
&emsp;&emsp;productCode|String|产品编码|-
&emsp;firmList|array|设备生产商列表|数组
&emsp;&emsp;deviceFirmId|Long|生产商id|-
&emsp;&emsp;deviceFirmname|String|生产商名称|-
&emsp;siteList|array|站点列表|数组
&emsp;&emsp;siteId|Long|站点id|-
&emsp;&emsp;siteName|String|站点名称|-
&emsp;&emsp;siteCode|String|站点编码|-


**响应消息样例:**
```
{
  "code": 1,
  "data": {
    "firmList": [
      {
        "deviceFirmId": 1,
        "deviceFirmname": "四川新鸿翔"
      }
    ],
    "productList": [
      {
        "productCode": "pdj",
        "productId": 1,
        "productName": "排队机"
      },
      {
        "productCode": "ckp",
        "productId": 2,
        "productName": "窗口屏"
      }
    ],
    "siteList": [
      {
        "siteCode": "510105521000-0001",
        "siteId": 1,
        "siteName": "测试站点1"
      },
      {
        "siteCode": "513400000000-0001",
        "siteId": 2,
        "siteName": "凉山州行政审批局"
      }
    ]
  }
}

```


### 设备新增或更新

**请求URL:** m/api/deviceUpdate

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 设备新增或更新，提供给前端手机页面更新设备操作

**请求参数:**

参数名称|类型|必填|其它
---|---|---|---
deviceName|String|否|设备名称
deviceCode|String|是|设备编码,默认为MAC地址
deviceMac|String|否|设备MAC地址，如不填写，默认等于deviceCode
siteId|Long|是|站点Id
siteCode|String|否|站点编号
siteName|String|否|站点名称
productId|Long|是|产品Id
deviceFirmId|Long|否|设备生产厂商ID
deviceFirmname|String|否|设备生产厂商名称
lon|String|否|经度
lati|String|否|经度
deviceInBuilding|Integer|否|所属楼栋
deviceInFloor|Integer|否|所属楼层
defectsLiabilityPeriod|Date|否|保修期，如2020-08-12 15:00:00
leadingOfficial|String|否|负责人
leadingOfficialTelephone|String|否|联系电话
source|Integer|否|设备来源,默认1(0.旧设备，1.新设备)
active|Integer|否|设备激活,默认0(0.否，1.是)

**请求样例:**
```
{
    "deviceName":"agpla8",
    "deviceCode":"a1-a2",
    "deviceMac":"a1-a2",
    "siteId":1,
    "siteCode":"510105521000-0001",
    "siteName":"测试站点1",
    "productId":1,
    "deviceFirmId":1,
    "lon":"12",
    "lati":"22",
    "deviceInBuilding":13,
    "deviceInFloor":22,
    "defectsLiabilityPeriod":"2022-06-30",
    "leadingOfficial":"张三",
    "leadingOfficialTelephone":"13281114856",
    "source":1,
    "active":1
}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码|见附录码表
msg|String|消息|-
data|object|数据对象|-
&emsp;content|String|加密后的内容|AES加密


**content解密参数:**

参数名称 |参数类型|备注|其它
---|---|--|---
rabbmitInfo|Object|rabbmit相关链接信息|-
&emsp;downTopicFilter|String|下行队列topic|-
&emsp;uploadTopicFilter|String|上行队列topic|-
&emsp;username|String|rabbmit用户名|-
&emsp;password|String|rabbmit密码|-
&emsp;host|String|ip|-
&emsp;port|String|端口|-
&emsp;virtualHost|String|虚拟机|-
&emsp;exchangeName|String|交换机名称|-
&emsp;messageTtl|String|队列消息超时时间，毫秒|-
serviceInfo|Object|服务接口连接信息|-
&emsp;homeUrl|String|首页|-
&emsp;serverUrl|String|前端服务接口地址|-
serviceInfo|Object|服务接口连接信息|-
&emsp;homeUrl|String|首页|-
&emsp;eventUrl|String|事件地址|-
&emsp;serverUrl|String|前端服务接口地址|-
deviceInfo|Object|设备基础信息|-
&emsp;siteId|Long|站点ID|-
&emsp;siteCode|String|站点编码|-
&emsp;siteName|String|站点名称|-
&emsp;productId|Long|设备产品类型Id|-
&emsp;productName|String|设备产品类型|-
&emsp;enabled|Integer|设备启用状态 (0.停止，1.启用)|-

**响应消息样例:**
```
{
    "code":1,
    "data":{
        "content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA="
    }
}
```


### 设备版本检查

**请求URL:** m/api/checkVersion

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 检查当前设备所属版本最新版本信息

**请求参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---
deviceCode|String|设备编码,唯一|是|可是编码或者mac地址，由平台创建
deviceVersion|String|设备版本信息|否|-

**请求样例:**
```
{
    "deviceCode":"a12345678"
}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码（-1.失败，1.成功）|-
msg|String|消息|-
data|object|数据对象|-
&emsp;content|String|加密后的内容|AES加密


**content解密参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
&emsp;productId|Long|产品Id|-
&emsp;productCode|String|产品编号|-
&emsp;productName|String|产品名称|-
&emsp;version|Int|版本号|-
&emsp;remark|String|备注信息|-
&emsp;downloadUrl|String|版本下载地址|-



**响应消息样例:**
```
{
    "code":1,
    "data":{
        "content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA="
    }
}
```

## 对外平台接口服务

### 获取接口访问token

**请求URL:** m/api/getToken

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 获取接口访问token

**请求参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---
loginName|String|平台用户名称|是|-
password|String|平台用户密码|是|-

**请求样例:**
```

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码|见附录码表
msg|String|消息|-
data|object|数据对象|-


**响应消息样例:**
```

```

### 接收第三方平台设备消息

**请求URL:** m/api/receive

**请求方式:** POST

**鉴权头信息:** Authorization: {{token}}

**内容类型:** application/json;charset=utf-8

**简要描述:** 

**请求参数:**

参数名称|类型|备注|必填|其它
:------|:---|:---|:---|:---
receiveMethod|Integer|1：新增，2：修改，3：删除，4：激活，5：启用，6：停用|是|-
deviceName|String|设备名称|否|-
deviceCode|String|设备编码，如MAC地址|是|-
platformCode|String|平台系统编码|是|见平台编码附录
productCode|String|产品编码|是|见产品编码附录
ip|String|设备访问ip|否|-
port|String|设备端口|否|-
siteId|Long|站点ID，来源基础服务平台|是|-
leadingOfficial|String|负责人|否|-
leadingOfficialTelephone|String|否|联系电话|-
siteCode|String|站点编号，来源基础服务平台|是|-
siteName|String|站点名称|是|-
homeUrl|String|首页地址|否|-
deviceRemark|String|备注|是|-
deviceStatus|Integer|设备状态 (0.未激活，1.离线,2.在线)|是|默认0为激活
source|Integer|(0.旧设备，1.新设备)|是|默认1新设备

**请求样例:**
```
{}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码|见附录码表
msg|String|消息|-
data|object|数据对象|-

**响应消息样例:**
```


```


### 接收第三方平台下发设备消息

**请求URL:** m/notify/downMsg

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:**

**请求参数:**

参数名称| 类型      |备注|必填|其它
:------|:--------|:--|:---|:---
deviceCodeList| Arrays  |设备编码列表|是|-
action| String  |设备下发消息行为，消息类型编号|是|-
content| String  |下发消息内容|是|默认为[]数组内容
**请求样例:**
```
{}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码|见附录码表
msg|String|消息|-
data|object|数据对象|-

**响应消息样例:**
```


```


### 接收第三方平台命令消息

**请求URL:** m/api/callback

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 以数组方式进行提交

**请求参数:**

参数名称|类型|备注|必填|其它
:------|:---|:---|:---|:---
deviceCode|String|设备编码，如MAC地址|是|-
messageType|String|消息类型|是|如HEART_BEAT
timestamp|Long|时间戳|是|-
data|String|数据体，内容自行定义|否|-


**请求样例:**
```
[
    {
        "data":"{xxxx}",
        "deviceCode":"a1",
        "messageType":"HEART_BEAT",
        "timestamp":1654656951795
    },
    {
        "data":"{bbbbbb}",
        "deviceCode":"a2",
        "messageType":"HEART_BEAT",
        "timestamp":1654656951795
    }
]

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码|见附录码表
msg|String|消息|-

**响应消息样例:**
```


```

### 回调各个平台通知消息

**请求URL:** 各平台通知地址

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 设备消息通知各个平台，当配置了地址时候

**请求参数:**

参数名称|类型|备注|必填|其它
:------|:---|:---|:---|:---
type|Integer|消息类型|是|0:设备增删改查，data数据域封装具体设备消息，1：设备消息类，数据域透传设备上行消息体。
msg|String|消息|否|-
data|object|数据对象|是|-
&emsp;deviceStatus|Integer||是|状态，1：新增，2：修改，3：删除，4：激活，5：启用，6：停用，7：上线，8：下线
&emsp;deviceName|String|设备名称|否|-
&emsp;deviceCode|String|设备编码，如MAC地址|是|-
&emsp;productCode|String|产品编码|是|见附录
&emsp;ip|String|设备访问ip|否|-
&emsp;port|String|设备端口|否|-
&emsp;leadingOfficial|String|负责人|否|-
&emsp;leadingOfficialTelephone|String|联系电话|否|-
&emsp;siteId|Long|站点ID，来源基础服务平台|是|-
&emsp;siteCode|String|站点编号，来源基础服务平台|是|-
&emsp;siteName|String|站点名称|是|-
&emsp;deviceRemark|String|备注|是|-

**请求样例:**
```
{}

```
**响应参数:**

参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码|见附录码表
msg|String|消息|-
data|object|数据对象|-

**响应消息样例:**
```


```

## 设备消息

### 上行消息

**topic:** uploadTopicFilter

**请求方式:** rabbmitMQ

**内容类型:** application/json;charset=utf-8

**简要描述:** 上行消息存放队列

**请求参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---
headers|Object|消息头|是|-
&emsp;data|Object|消息头数据对象|是|-
&emsp;&emsp;protocol|String|数据域协议类型，默认json|是|-
&emsp;&emsp;messageType|String|上报消息类型|是|HEART_BEAT
&emsp;&emsp;deviceCode|String|设备编码信息|是|如:mac地址
&emsp;&emsp;sign|String|签名|是|-
&emsp;&emsp;timestamp|String|时间戳|是|-
data|byte[]|byte数组，base64编码|是|-
key|String|消息唯一标识|是|-

**请求样例:**
```
{
    "data":"YWJjZDEyMzQ=",
    "headers":{
        "data":{
            "protocol":"json",
            "messageType":"HEART_BEAT",
            "deviceCode":"A1:A2:A3:A4:A5:A6",
            "sign":"abcd1234",
            "timestamp":"2022-04-15 09:48:05"
        }
    },
    "key":"d3635cd0597d46c88b85797c3846b04f"
}
```

### 下行消息

**topic:** downTopicFilter

**请求方式:** rabbmitMQ

**内容类型:** application/json;charset=utf-8

**简要描述:** 下行消息存放队列

**请求参数:**

参数名称|类型|备注|必填|其它
---|---|---|---|---
headers|Object|消息头|是|-
&emsp;data|Object|消息头数据对象|是|-
&emsp;&emsp;protocol|String|数据域协议类型，默认json|是|-
&emsp;&emsp;messageType|String|下发消息类型|是|UPGREAD
&emsp;&emsp;deviceCode|String|设备编码信息|是|如:mac地址
&emsp;&emsp;sign|String|签名|是|-
&emsp;&emsp;timestamp|String|时间戳|是|-
data|byte[]|byte数组，base64编码|是|-
key|String|消息唯一标识|是|-

**请求样例:**
```
{
    "data":"YWJjZDEyMzQ=",
    "headers":{
        "data":{
            "protocol":"json",
            "messageType":"UPGREAD",
            "deviceCode":"A1:A2:A3:A4:A5:A6",
            "sign":"abcd1234",
            "downloadUrl":"http://xxxxx",
            "timestamp":"2022-04-15 09:48:05"
        }
    },
    "key":"d3635cd0597d46c88b85797c3846b04f"
}
```


## 设备告警日志

### 查询设备告警日志列表

**请求URL:** m/device/alarm/info/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询设备告警日志

**请求参数:**

参数名称| 类型      |必填|描述
:---|:--------|:---|:------
page| Integer |否|当前页
size| Integer |否|每页条数，值为-1，查询所有记录
alarmDevice| Long    |否|告警设备Id
deviceName| String  |否|告警设备名称
deviceCode| String  |否|告警设备编码
alarmContent| String  |否|告警内容
alarmType| Integer |否|告警类型,(0.离线)
alarmStatus| Integer |否|告警状态(0.未清除，1.清除未确认，2.清除已确认)
siteId| Long    |否|站点Id
alarmTimeStart| String  |否|开始时间
alarmTimeEnd| String  |否|结束时间

**请求样例:**
```
  {
        "alarmDevice":2565,
        "alarmType":5311,
        "alarmStatus":7481,
        "siteId":6279,
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|主键ID，主键，自增长
&emsp;&emsp;alarmTime|Date|告警时间
&emsp;&emsp;alarmDevice|Long|告警设备Id
&emsp;&emsp;alarmType|Integer|告警类型,(0.离线)
&emsp;&emsp;alarmLevel|Integer|告警级别(0.危险，1.次要，2.一般)
&emsp;&emsp;alarmReceivePersonnel|String|接收人员[设备管理的责任人]
&emsp;&emsp;receivePersonnelTelephone|String|接收人员电话
&emsp;&emsp;alarmStatus|Integer|告警状态,来自工单系统(0.未清除，1.清除未确认，2.清除已确认)
&emsp;&emsp;alarmContent|String|告警详细内容
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
&emsp;&emsp;siteId|Long|站点Id，来源基础服务平台
&emsp;&emsp;deviceCode|String|设备编码
&emsp;&emsp;deviceName|String|设备名称
dict|object|字典对象
&emsp;alarmType|object|字典属性对象，详见附录
&emsp;alarmLevel|object|字典属性对象，详见附录
&emsp;alarmStatus|object|字典属性对象，详见附录

**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

## 码表

### 响应结果码表
结果码|结果|其它
---|---|---
1|成功|-
1001|当前设备编码不存在|-
1002|当前设备编码已存在|-
1003|所属产品编码不存在|-
1004|当前设备未激活，请在后台配置后再激活|-
1005|所属平台不存在！请在后台添加后再激活|-
1006|当前设备所属产品平台未配置，请在后台配置后再激活|-
1007|站点ID为空|-
1008|设备已创建，请完善设备配置信息|-
1009|当前设备不存在|-
1010|token认证失败|-
1011|未找到设备版本信息|-
-1|系统内部异常|-


## 附录

### 业务上行下行消息类型
编码|说明|其它
---|---|---
HEART_BEAT|设备心跳消息|设备上行发送

