|
|
|
@ -35,7 +35,7 @@ import java.util.*;
|
|
|
|
|
@Slf4j |
|
|
|
|
@Service |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
public class AlarmHandleFlowServiceImpl extends BaseServiceImpl<AlarmHandleFlowMapper, AlarmHandleFlowEntity> implements AlarmHandleFlowService{ |
|
|
|
|
public class AlarmHandleFlowServiceImpl extends BaseServiceImpl<AlarmHandleFlowMapper, AlarmHandleFlowEntity> implements AlarmHandleFlowService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final IMessageClient messageClient; |
|
|
|
@ -52,60 +52,63 @@ public class AlarmHandleFlowServiceImpl extends BaseServiceImpl<AlarmHandleFlowM
|
|
|
|
|
public R listenAndUpdate(ProcessWorkFlowResponse processWorkFlowResponse) { |
|
|
|
|
long taskId; |
|
|
|
|
AlarmHandleFlowEntity alarmHandleFlowEntity; |
|
|
|
|
log.info("消缺消息开始转换"+processWorkFlowResponse); |
|
|
|
|
log.info("消缺消息开始转换" + processWorkFlowResponse); |
|
|
|
|
try { |
|
|
|
|
Map<String, Object> variables = (Map<String, Object>) processWorkFlowResponse.getVariables(); |
|
|
|
|
//现象缺陷全表更新
|
|
|
|
|
alarmHandleFlowEntity= JSONObject.parseObject(JSONObject.toJSONString(variables), new TypeReference<AlarmHandleFlowEntity>(){}); |
|
|
|
|
alarmHandleFlowEntity = JSONObject.parseObject(JSONObject.toJSONString(variables), new TypeReference<AlarmHandleFlowEntity>() { |
|
|
|
|
}); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.info("消息转换失败:"+e.getMessage()); |
|
|
|
|
log.info("消息转换失败:" + e.getMessage()); |
|
|
|
|
return R.fail("消息转换失败"); |
|
|
|
|
} |
|
|
|
|
taskId=alarmHandleFlowEntity.getId(); |
|
|
|
|
taskId = alarmHandleFlowEntity.getId(); |
|
|
|
|
//设置当前环节+当前环节处理人
|
|
|
|
|
if (StringUtils.isNotEmpty(processWorkFlowResponse.getNextStepOperator())) { |
|
|
|
|
alarmHandleFlowEntity.setCurrentOperator(processWorkFlowResponse.getTaskName()); |
|
|
|
|
alarmHandleFlowEntity.setCurrentLinkHandler(processWorkFlowResponse.getNextStepOperator()); |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
alarmHandleFlowEntity.setCurrentOperator("流程结束"); |
|
|
|
|
alarmHandleFlowEntity.setCurrentLinkHandler(""); |
|
|
|
|
// 预警
|
|
|
|
|
if(AlarmHandleConstant.EARLY_WARNING.equals(alarmHandleFlowEntity.getAlarmType())){ |
|
|
|
|
Map<String, Object> map=new HashMap<>(); |
|
|
|
|
map.put("uuid",alarmHandleFlowEntity.getAlarmId()); |
|
|
|
|
map.put("result",alarmHandleFlowEntity.getHandleWay()); |
|
|
|
|
if (1l==alarmHandleFlowEntity.getHandleWay()){ |
|
|
|
|
//处理发现误报,修改对应状态
|
|
|
|
|
map.put("result_info",alarmHandleFlowEntity.getDealDesc()); |
|
|
|
|
alarmHandleMapper.update(null,Wrappers.<AlarmHandleEntity>lambdaUpdate() |
|
|
|
|
if (1l == alarmHandleFlowEntity.getHandleWay()) { |
|
|
|
|
//如果是误诊,把处理结果复制到误报原因
|
|
|
|
|
alarmHandleFlowEntity.setFalseAlarmDesc(alarmHandleFlowEntity.getDealDesc()); |
|
|
|
|
alarmHandleMapper.update(null, Wrappers.<AlarmHandleEntity>lambdaUpdate() |
|
|
|
|
.set(AlarmHandleEntity::getHandleWay, alarmHandleFlowEntity.getHandleWay()) |
|
|
|
|
.set(AlarmHandleEntity::getFalseAlarmDesc, alarmHandleFlowEntity.getDealDesc()) |
|
|
|
|
.eq(AlarmHandleEntity::getAlarmId, alarmHandleFlowEntity.getAlarmId())); |
|
|
|
|
|
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
//流程结束把告警状态修改为结束
|
|
|
|
|
alarmHandleFlowEntity.setHandleWay(6L); |
|
|
|
|
//设置处理完成
|
|
|
|
|
alarmHandleMapper.update(null,Wrappers.<AlarmHandleEntity>lambdaUpdate() |
|
|
|
|
alarmHandleMapper.update(null, Wrappers.<AlarmHandleEntity>lambdaUpdate() |
|
|
|
|
.set(AlarmHandleEntity::getHandleWay, 6l) |
|
|
|
|
.set(AlarmHandleEntity::getFalseAlarmDesc, alarmHandleFlowEntity.getDealDesc()) |
|
|
|
|
.eq(AlarmHandleEntity::getAlarmId, alarmHandleFlowEntity.getAlarmId())); |
|
|
|
|
map.put("result_info",alarmHandleFlowEntity.getDealDesc()); |
|
|
|
|
} |
|
|
|
|
// 预警,调用fdp
|
|
|
|
|
if (AlarmHandleConstant.EARLY_WARNING.equals(alarmHandleFlowEntity.getAlarmType())) { |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
map.put("uuid", alarmHandleFlowEntity.getAlarmId()); |
|
|
|
|
map.put("result", alarmHandleFlowEntity.getHandleWay()); |
|
|
|
|
map.put("result_info", alarmHandleFlowEntity.getDealDesc()); |
|
|
|
|
//流程结束后才,调用fdp修改状态的接口
|
|
|
|
|
R r = iFdpDiagnoseClient.setFaultStatusInfo(map); |
|
|
|
|
if (!r.isSuccess()){ |
|
|
|
|
if (!r.isSuccess()) { |
|
|
|
|
throw new ServiceException("修改告警状态异常,请稍后重试!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
this.updateById(alarmHandleFlowEntity); |
|
|
|
|
//推送消息中心相关消息
|
|
|
|
|
sendMessage(processWorkFlowResponse, alarmHandleFlowEntity,taskId); |
|
|
|
|
log.info("消缺消息转换结束"+processWorkFlowResponse); |
|
|
|
|
sendMessage(processWorkFlowResponse, alarmHandleFlowEntity, taskId); |
|
|
|
|
log.info("消缺消息转换结束" + processWorkFlowResponse); |
|
|
|
|
return R.success("消息保存成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void sendMessage(ProcessWorkFlowResponse processWorkFlowResponse, AlarmHandleFlowEntity alarmHandleFlowEntity,Long taskId) { |
|
|
|
|
private void sendMessage(ProcessWorkFlowResponse processWorkFlowResponse, AlarmHandleFlowEntity alarmHandleFlowEntity, Long taskId) { |
|
|
|
|
//推送消息
|
|
|
|
|
if (processWorkFlowResponse.getTaskId() != null) { |
|
|
|
|
BusinessMessageDTO message = new BusinessMessageDTO(); |
|
|
|
|