Commit dbc0167e authored by xinglei's avatar xinglei

自建系统告警修改

parent b593c33a
......@@ -13,6 +13,7 @@ import com.yeejoin.amos.bank.dao.mapper.AlarmMapper;
import com.yeejoin.amos.bank.dao.mapper.BankInfoMapper;
import com.yeejoin.amos.bank.dao.repository.IAlarmRepository;
import com.yeejoin.amos.bank.entity.EquipmentQualityVo;
import com.yeejoin.amos.bank.remote.AmosWsService;
import com.yeejoin.amos.bank.remote.client.RiskModelRemoteClient;
import com.yeejoin.amos.bank.service.IAlarmPointService;
import com.yeejoin.amos.bank.service.IAlarmService;
......@@ -54,7 +55,7 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
private BankInfoMapper bankInfoMapper;
@Autowired
private AmosWsClient client;
private AmosWsService amosWsService;
@Autowired
EquipmentMapper equipmentMapper;
......@@ -124,7 +125,7 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
Map<String, Object> resultMap = bankInfoMapper.selectBankInfoBySourceId(eqpId);
resultMap.put("eqpId", eqpId);
pushAisleAlarm(resultMap);
amosWsService.pushAlarmPoint("aisleAlarm", resultMap);
logger.info("=======aisle状态有变化=====");
}
});
......@@ -139,14 +140,6 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
}
}
/**
* 发送通道刷新标识
*/
public void pushAisleAlarm(Map<String, Object> result) {
WebsocketParam param = new WebsocketParam("aisleAlarm", JSON.toJSONString(result));
client.sendMessage(param);
}
public void handleAlarmData(String jsonStr) {
try {
logger.info("start handle ip equipment alarm..");
......@@ -204,7 +197,7 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
}
String authOrgTemp = JsonUtil.arraysToString(JsonUtil.toStringArray(authOrg));
if (!ObjectUtils.isEmpty(authOrgTemp)){
if (!ObjectUtils.isEmpty(authOrgTemp)) {
orgCode = authOrgTemp;
}
......@@ -304,34 +297,32 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
public void addAlarmRecord(Long eqpId, String metricKey, Integer statusByName, String orgCode, String ipAddress, String eqpName) {
List<Alarm> curAlarmList = alarmService.findByQueryColumn(eqpId + metricKey);
if (curAlarmList != null && curAlarmList.size() > 0) {
// if("异常".equals(curAlarmList.get(0).getCurrentState())){
Alarm alarm = curAlarmList.get(0);
alarm.setUpdateDate(DateTimeKit.now());
alarm.setOrgCode(orgCode);
alarm.setClearPerson(CLEAR_PERSON);
if (!ObjectUtils.isEmpty(alarm.getHappenDate())){
if (!ObjectUtils.isEmpty(alarm.getHappenDate())) {
String subtract = DateTimeKit.getSubtract(alarm.getHappenDate());
alarm.setContinueDate(subtract);
}
if (ALARM_ABNORMAL_STATUS.equals(alarm.getCurrentState()) && statusByName != 0) {
alarm.setCurrentState(ALARM_ABNORMAL_STATUS);
} else {
alarm.setClearDate(DateTimeKit.now());
alarm.setClearPerson(CLEAR_PERSON);
alarm.setCurrentState(ALARM_NORMAL_STATUS);
}
alarmMapper.updateAlarm(alarm);
// }
} else {
Alarm alarm = new Alarm();
alarm.setSourceId(eqpId + "");
alarm.setAlarmLevel(ALARM_LEVEL);
alarm.setAlarmReason("");
alarm.setAlarmReason(ALARM_CAUSE);
alarm.setAlarmSourceIp(ipAddress + "");
alarm.setAlarmSourceName(eqpName);
alarm.setAlarmSourceType(metricKey);
alarm.setAlarmSourceType(ALARM_TYPE);
alarm.setClearDate("");
alarm.setContinueDate("");
alarm.setEnsureDate("");
alarm.setHappenDate("");
alarm.setEnsurePerson("");
alarm.setOrgCode(orgCode);
alarm.setHappenDate(DateTimeKit.now());
......@@ -353,7 +344,7 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
if (statusByName == 0) {
// 删除告警
alarmPointService.delete(alarmPoint.get(0));
pushAlarmPoint("alarmPoint", alarmPointService.findAll());
amosWsService.pushAlarmPoint("alarmPoint", alarmPointService.findAll());
}
return;
} else {
......@@ -377,16 +368,8 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
alarmPoint1.setPointAttrs(JSON.toJSONString(map));
alarmPointService.save(alarmPoint1);
// 推送告警
pushAlarmPoint("alarmPoint", alarmPointService.findAll());
amosWsService.pushAlarmPoint("alarmPoint", alarmPointService.findAll());
}
}
}
/**
* 发送跑马灯告警
*/
public void pushAlarmPoint(String WS, Object object) {
WebsocketParam param = new WebsocketParam(WS, JSON.toJSONString(object));
client.sendMessage(param);
}
}
......@@ -10,6 +10,7 @@ public class AlarmConstant {
public static String ALARM_CAUSE = "设备Ping不通";
public static String CLEAR_PERSON = "自动清除";
public static String ALARM_LEVEL = "紧急告警";
public static String ALARM_TYPE = "IP设备告警";
public static String ALARM_NORMAL_STATUS = "清除";
public static String ALARM_ABNORMAL_STATUS = "告警";
}
package com.yeejoin.amos.bank.remote;
import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.bank.webSocket.AmosWsClient;
import com.yeejoin.amos.bank.webSocket.WebsocketParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author: xinglei
* @Description:
* @Date: 2020/6/11 8:56
*/
@Service
public class AmosWsService {
@Autowired
private AmosWsClient client;
/**
* 发送Websocket
*/
public void pushAlarmPoint(String WS, Object object) {
WebsocketParam param = new WebsocketParam(WS, JSON.toJSONString(object));
client.sendMessage(param);
}
}
......@@ -44,16 +44,11 @@ public class DateTimeKit {
sb.append(day).append("天");
}
if (hour != 0) {
sb.append(hour%24).append("小时");
sb.append(hour % 24).append("小时");
}
if (minute != 0) {
sb.append(minute%60).append("分");
sb.append(minute % 60).append("分");
}
return sb.toString();
}
public static void main(String[] args) {
String subtract = getSubtract("2020-06-09 17:38:59");
System.out.println(subtract);
}
}
......@@ -14,5 +14,4 @@ public interface AmosWsClient {
@PostMapping("/generic/sendDataList")
CommonResponse sendDataList(@RequestBody WebsocketListParam param);
}
......@@ -47,7 +47,7 @@ public class AlarmController extends BaseController {
//获取当前登录人的公司code
ReginParams reginParams = getSelectedOrgInfo();
DaoCriteria criteria = new DaoCriteria();
criteria.setValue(reginParams.getCompany().getOrgCode() + "%");
criteria.setValue("%" + reginParams.getCompany().getOrgCode() + "%");
criteria.setOperator(QueryOperatorEnum.LIKE.getName());
criteria.setPropertyName("orgCode");
......
......@@ -15,6 +15,9 @@
<if test="updateDate != null">
update_date = #{updateDate},
</if>
<if test="clearDate != null">
clear_date = #{clearDate},
</if>
<if test="clearPerson != null">
clear_person = #{clearPerson},
</if>
......@@ -22,6 +25,6 @@
continue_date = #{continueDate},
</if>
</set>
where query_column = #{queryColumn}
where id = #{id}
</update>
</mapper>
\ 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