Commit a8121710 authored by 赵啸非's avatar 赵啸非

添加设备告警

parent 704b998d
......@@ -35,7 +35,8 @@ public class DeviceReq implements Serializable {
private String sitename;
/**
* 上传类型
* 设备类型
(1.呼叫器,2.窗口屏, 3.评价器,4.集中屏, 5.排号机,6.im设备, 7.样表设备,8.取件柜, 9.信息发布,10.导视机,11.开标室设备,12.背靠背,13.无感一码通,14.桌面式自助终端,15.可视化触控大屏,16.人脸识别考勤机)
*/
private Integer type;
......
......@@ -2,22 +2,15 @@ package com.mortals.xhx.busiz.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ICacheService;
import com.mortals.xhx.base.framework.ws.message.SendToAllRequest;
import com.mortals.xhx.base.framework.ws.util.WebSocketUtil;
import com.mortals.xhx.busiz.req.DeviceReq;
import com.mortals.xhx.busiz.rsp.ApiResp;
import com.mortals.xhx.busiz.rsp.DeviceResp;
import com.mortals.xhx.common.code.ApiRespCodeEnum;
import com.mortals.xhx.common.code.DeviceOnlineStatusEnum;
import com.mortals.xhx.common.utils.SendTaskThreadPool;
import com.mortals.xhx.common.utils.UploadTask;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.model.DeviceLogEntity;
import com.mortals.xhx.module.device.service.DeviceLogService;
import com.mortals.xhx.module.device.service.DeviceService;
import lombok.extern.apachecommons.CommonsLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
......@@ -25,8 +18,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import static com.mortals.xhx.common.key.RedisKey.KEY_DEVICE_TYPE_CACHE;
/**
......
package com.mortals.xhx.module.device.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.AlarmLevelEnum;
import com.mortals.xhx.common.code.AlarmTypeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -10,8 +8,9 @@ import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BaseCRUDJsonMappingController;
import com.mortals.xhx.module.device.model.DeviceAlarmEntity;
import com.mortals.xhx.module.device.model.DeviceAlarmQuery;
import com.mortals.xhx.module.device.service.DeviceAlarmService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
......@@ -25,31 +24,29 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 设备告警日志
*
* @author zxfei
* @date 2022-08-04
*/
*
* 设备告警日志
*
* @author zxfei
* @date 2022-08-04
*/
@RestController
@RequestMapping("device/alarm")
public class DeviceAlarmController extends BaseCRUDJsonBodyMappingController<DeviceAlarmService,DeviceAlarmEntity,Long> {
public class DeviceAlarmController extends BaseCRUDJsonMappingController<DeviceAlarmService,DeviceAlarmForm,DeviceAlarmEntity,Long> {
@Autowired
private ParamService paramService;
public DeviceAlarmController(){
super.setFormClass(DeviceAlarmForm.class);
super.setModuleDesc( "设备告警日志");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "alarmType", AlarmTypeEnum.getEnumMap());
this.addDict(model, "alarmLevel", AlarmLevelEnum.getEnumMap());
super.init(model, context);
protected void init(HttpServletRequest request, HttpServletResponse response, DeviceAlarmForm form, Map<String, Object> model, Context context) {
this.addDict(model, "alarmType", paramService.getParamBySecondOrganize("DeviceAlarm","alarmType"));
this.addDict(model, "alarmLevel", paramService.getParamBySecondOrganize("DeviceAlarm","alarmLevel"));
super.init(request, response, form, model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.device.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.module.device.model.DeviceAlarmEntity;
import com.mortals.xhx.module.device.model.DeviceAlarmQuery;
/**
* DeviceAlarm
*
* 设备告警日志 Form
*
* @author zxfei
* @date 2022-08-04
*/
public class DeviceAlarmForm extends BaseCRUDFormLong<DeviceAlarmEntity> {
private DeviceAlarmEntity entity = new DeviceAlarmEntity();
private DeviceAlarmQuery query = new DeviceAlarmQuery();
public DeviceAlarmForm(){
}
@Override
public DeviceAlarmEntity getEntity() {
return entity;
}
public void setDeviceAlarm(DeviceAlarmEntity entity) {
this.entity = entity;
}
@Override
public DeviceAlarmQuery getQuery() {
return query;
}
public void setQuery(DeviceAlarmQuery query) {
this.query = query;
}
}
\ No newline at end of file
## 服务接口
### 查询设备列表
**URL:** http://localhost:8080/m/device/list
### 设备新增或更新
**Type:** POST
**请求URL:** m/api/device/upload
**Content-Type:** application/x-www-form-urlencoded;charset=utf-8
**请求方式:** POST
**Description:** 查询设备列表
**内容类型:** application/x-www-form-urlencoded;charset=utf-8
**Query-parameters:**
**简要描述:** 设备心跳上报
**请求参数:**
参数名称|类型|必填|其它
---|---|---|---
action|String|否|行为
devicenum|String|是|设备编码唯一
ip|String|否|ip地址
sitenum|String|是|站点编码、
siteName|String|否|站点名称
type|Int|是|设备类型(1.呼叫器,2.窗口屏, 3.评价器,4.集中屏, 5.排号机,6.im设备, 7.样表设备,8.取件柜, 9.信息发布,10.导视机,11.开标室设备,12.背靠背,13.无感一码通,14.桌面式自助终端,15.可视化触控大屏,16.人脸识别考勤机)
port|String|否|端口
centernum|String|否|中心编码
参数名称|类型|备注|必填|其它
---|---|---|---|---
pageInfo|object|分页对象|否|-
└─prePageResult|Integer|每页条数|否|-
└─currPage|Integer|当前页|否|-
query|object|查询对象|否|-
└─deviceCode|String|设备编码|否|前后添加%%模糊查询
└─siteName|String|站点名称|否|前后添加%%模糊查询
└─deviceType|Integer|设备类型|否|来源dict中信息
└─deviceOnlineStatus|Integer|设备状态|否|来源dict中信息
**请求样例:**
```
curl -X POST -i http://localhost:8080/m/device/list --data 'query.id=1'
action=heatbeart&
devicenum=a1-a2&
ip=a1-a2&
siteId=1&
sitenum=510105521000-0001&
siteName=测试站点1&
type=15&
port=98&
centernum=asdfd
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(0.失败,1.成功)|-
code|Integer|结果码|见附录码表
msg|String|消息|-
data|object|数据对象|-
└─result|array|结果集列表|数组
└─pageInfo|object|分页对象|-
└─dict|object|字典对象|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─deviceType|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─deviceOnlineStatus|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─status|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─deviceFirmId|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─totalCount|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─onlineCount|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─offlineCount|object|字典属性对象,详见附录|-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└─warnCount|object|字典属性对象,详见附录|-
└─query|object|查询时候返回的查询列表参数对象|-
&emsp;type|Int|设备命令返回| 0.正常,1.重启,2.关机
**响应消息样例:**
......@@ -51,27 +51,7 @@ data|object|数据对象|-
{
"code":1,
"data":{
"result":[
{
"appId":6,
"businessName":"device",
}
],
"pageInfo":{
"currPage":1,
"prePageResult":200,
"totalPage":1,
"totalResult":16
},
"dict":{
"dividedTableType":{
"0":"无",
"1":"日"
}
}
},
"query":{
"appId":6
"type":1
}
}
```
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment