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

添加设备告警

parent 704b998d
...@@ -35,7 +35,8 @@ public class DeviceReq implements Serializable { ...@@ -35,7 +35,8 @@ public class DeviceReq implements Serializable {
private String sitename; private String sitename;
/** /**
* 上传类型 * 设备类型
(1.呼叫器,2.窗口屏, 3.评价器,4.集中屏, 5.排号机,6.im设备, 7.样表设备,8.取件柜, 9.信息发布,10.导视机,11.开标室设备,12.背靠背,13.无感一码通,14.桌面式自助终端,15.可视化触控大屏,16.人脸识别考勤机)
*/ */
private Integer type; private Integer type;
......
...@@ -2,22 +2,15 @@ package com.mortals.xhx.busiz.web; ...@@ -2,22 +2,15 @@ package com.mortals.xhx.busiz.web;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ICacheService; 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.req.DeviceReq;
import com.mortals.xhx.busiz.rsp.ApiResp; import com.mortals.xhx.busiz.rsp.ApiResp;
import com.mortals.xhx.busiz.rsp.DeviceResp; import com.mortals.xhx.busiz.rsp.DeviceResp;
import com.mortals.xhx.common.code.ApiRespCodeEnum; 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.SendTaskThreadPool;
import com.mortals.xhx.common.utils.UploadTask; 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.DeviceLogService;
import com.mortals.xhx.module.device.service.DeviceService; import com.mortals.xhx.module.device.service.DeviceService;
import lombok.extern.apachecommons.CommonsLog;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -25,8 +18,6 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -25,8 +18,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import static com.mortals.xhx.common.key.RedisKey.KEY_DEVICE_TYPE_CACHE; import static com.mortals.xhx.common.key.RedisKey.KEY_DEVICE_TYPE_CACHE;
/** /**
......
package com.mortals.xhx.module.device.web; package com.mortals.xhx.module.device.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -10,8 +8,9 @@ import org.springframework.web.bind.annotation.*; ...@@ -10,8 +8,9 @@ import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 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.DeviceAlarmEntity;
import com.mortals.xhx.module.device.model.DeviceAlarmQuery;
import com.mortals.xhx.module.device.service.DeviceAlarmService; import com.mortals.xhx.module.device.service.DeviceAlarmService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
...@@ -25,31 +24,29 @@ import org.springframework.web.bind.annotation.*; ...@@ -25,31 +24,29 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* *
* 设备告警日志 * 设备告警日志
* *
* @author zxfei * @author zxfei
* @date 2022-08-04 * @date 2022-08-04
*/ */
@RestController @RestController
@RequestMapping("device/alarm") @RequestMapping("device/alarm")
public class DeviceAlarmController extends BaseCRUDJsonBodyMappingController<DeviceAlarmService,DeviceAlarmEntity,Long> { public class DeviceAlarmController extends BaseCRUDJsonMappingController<DeviceAlarmService,DeviceAlarmForm,DeviceAlarmEntity,Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
public DeviceAlarmController(){ public DeviceAlarmController(){
super.setFormClass(DeviceAlarmForm.class);
super.setModuleDesc( "设备告警日志"); super.setModuleDesc( "设备告警日志");
} }
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(HttpServletRequest request, HttpServletResponse response, DeviceAlarmForm form, Map<String, Object> model, Context context) {
this.addDict(model, "alarmType", AlarmTypeEnum.getEnumMap()); this.addDict(model, "alarmType", paramService.getParamBySecondOrganize("DeviceAlarm","alarmType"));
this.addDict(model, "alarmLevel", AlarmLevelEnum.getEnumMap()); this.addDict(model, "alarmLevel", paramService.getParamBySecondOrganize("DeviceAlarm","alarmLevel"));
super.init(model, context); 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|消息|- msg|String|消息|-
data|object|数据对象|- data|object|数据对象|-
└─result|array|结果集列表|数组 &emsp;type|Int|设备命令返回| 0.正常,1.重启,2.关机
└─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|查询时候返回的查询列表参数对象|-
**响应消息样例:** **响应消息样例:**
...@@ -51,27 +51,7 @@ data|object|数据对象|- ...@@ -51,27 +51,7 @@ data|object|数据对象|-
{ {
"code":1, "code":1,
"data":{ "data":{
"result":[ "type":1
{
"appId":6,
"businessName":"device",
}
],
"pageInfo":{
"currPage":1,
"prePageResult":200,
"totalPage":1,
"totalResult":16
},
"dict":{
"dividedTableType":{
"0":"无",
"1":"日"
}
}
},
"query":{
"appId":6
} }
} }
``` ```
\ 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