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