|
@@ -3,6 +3,7 @@ package com.shkpr.service.warncore.bizhandler;
|
|
|
import com.global.base.log.LogLevelFlag;
|
|
import com.global.base.log.LogLevelFlag;
|
|
|
import com.global.base.log.LogPrintMgr;
|
|
import com.global.base.log.LogPrintMgr;
|
|
|
import com.global.base.tools.CastUtil;
|
|
import com.global.base.tools.CastUtil;
|
|
|
|
|
+import com.global.base.tools.EncryptionUtil;
|
|
|
import com.global.base.tools.FastJsonUtil;
|
|
import com.global.base.tools.FastJsonUtil;
|
|
|
import com.shkpr.service.warncore.commtools.CommTool;
|
|
import com.shkpr.service.warncore.commtools.CommTool;
|
|
|
import com.shkpr.service.warncore.commtools.TimeTool;
|
|
import com.shkpr.service.warncore.commtools.TimeTool;
|
|
@@ -434,6 +435,7 @@ public class SiteDataWarnHandler {
|
|
|
String step = "Start to deep analysis";
|
|
String step = "Start to deep analysis";
|
|
|
ResponseCode code = ResponseCode.RESULT_NORMAL;
|
|
ResponseCode code = ResponseCode.RESULT_NORMAL;
|
|
|
final String siteId = rules.get(0).getObjId();
|
|
final String siteId = rules.get(0).getObjId();
|
|
|
|
|
+ final String planMixId = PlanKind.PRIVATE.equals(planDetail.getKind())?planDetail.getUid():EncryptionUtil.MD5Hash(planDetail.getUid()+planDetail.getOwnerId()+siteId);
|
|
|
SiteSampleDataResult siteSampleData = null;
|
|
SiteSampleDataResult siteSampleData = null;
|
|
|
Map<String, Long> oldEvent2EndUTC = new HashMap<>();//需要更新预警事件的样本截止时间
|
|
Map<String, Long> oldEvent2EndUTC = new HashMap<>();//需要更新预警事件的样本截止时间
|
|
|
Map<String, JPOrdWarnEventInfo> newEvent2Gen = new HashMap<>();
|
|
Map<String, JPOrdWarnEventInfo> newEvent2Gen = new HashMap<>();
|
|
@@ -538,10 +540,10 @@ public class SiteDataWarnHandler {
|
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
- List<SiteSampleGroupItem> planOfSample = ownerId2TriggerSample.get(planDetail.getUid());
|
|
|
|
|
|
|
+ List<SiteSampleGroupItem> planOfSample = ownerId2TriggerSample.get(planMixId);
|
|
|
if (planOfSample == null){
|
|
if (planOfSample == null){
|
|
|
planOfSample = new ArrayList<>();
|
|
planOfSample = new ArrayList<>();
|
|
|
- ownerId2TriggerSample.put(planDetail.getUid(), planOfSample);
|
|
|
|
|
|
|
+ ownerId2TriggerSample.put(planMixId, planOfSample);
|
|
|
}
|
|
}
|
|
|
if (!matched){//本次没有匹配成功
|
|
if (!matched){//本次没有匹配成功
|
|
|
step = "This is not matched.";
|
|
step = "This is not matched.";
|
|
@@ -624,7 +626,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}else {//之前有预警事件
|
|
}else {//之前有预警事件
|
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
@@ -653,7 +655,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(lastEventID, eventSampleHis);
|
|
ownerId2TriggerSample.put(lastEventID, eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -726,6 +728,7 @@ public class SiteDataWarnHandler {
|
|
|
ResponseCode code = ResponseCode.RESULT_NORMAL;
|
|
ResponseCode code = ResponseCode.RESULT_NORMAL;
|
|
|
long curTime = TimeTool.getCurMsUTC();
|
|
long curTime = TimeTool.getCurMsUTC();
|
|
|
final String siteId = rules.get(0).getObjId();
|
|
final String siteId = rules.get(0).getObjId();
|
|
|
|
|
+ final String planMixId = PlanKind.PRIVATE.equals(planDetail.getKind())?planDetail.getUid():EncryptionUtil.MD5Hash(planDetail.getUid()+planDetail.getOwnerId()+siteId);
|
|
|
SiteStatsDataResult siteStatsData = null;
|
|
SiteStatsDataResult siteStatsData = null;
|
|
|
Map<String, Long> oldEvent2EndUTC = new HashMap<>();//需要更新预警事件的样本截止时间
|
|
Map<String, Long> oldEvent2EndUTC = new HashMap<>();//需要更新预警事件的样本截止时间
|
|
|
Map<String, JPOrdWarnEventInfo> newEvent2Gen = new HashMap<>();
|
|
Map<String, JPOrdWarnEventInfo> newEvent2Gen = new HashMap<>();
|
|
@@ -850,10 +853,10 @@ public class SiteDataWarnHandler {
|
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
- List<SiteStatsDataItem> planOfSample = ownerId2TriggerSample.get(planDetail.getUid());
|
|
|
|
|
|
|
+ List<SiteStatsDataItem> planOfSample = ownerId2TriggerSample.get(planMixId);
|
|
|
if (planOfSample == null){
|
|
if (planOfSample == null){
|
|
|
planOfSample = new ArrayList<>();
|
|
planOfSample = new ArrayList<>();
|
|
|
- ownerId2TriggerSample.put(planDetail.getUid(), planOfSample);
|
|
|
|
|
|
|
+ ownerId2TriggerSample.put(planMixId, planOfSample);
|
|
|
}
|
|
}
|
|
|
if (!matched){//本次没有匹配成功
|
|
if (!matched){//本次没有匹配成功
|
|
|
step = "This is not matched.";
|
|
step = "This is not matched.";
|
|
@@ -897,7 +900,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
continue;
|
|
continue;
|
|
|
}//上一次匹配成功了进入下一步
|
|
}//上一次匹配成功了进入下一步
|
|
@@ -927,7 +930,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}else {
|
|
}else {
|
|
|
thisTempStep.setLastEventId("");
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
thisTempStep.setLastEventTime(0L);
|
|
@@ -994,7 +997,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}else {//触发一个新的事件
|
|
}else {//触发一个新的事件
|
|
@@ -1018,7 +1021,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}else {//之前有预警事件
|
|
}else {//之前有预警事件
|
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
@@ -1045,7 +1048,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}else {
|
|
}else {
|
|
|
thisTempStep.setLastEventId("");
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
thisTempStep.setLastEventTime(0L);
|
|
@@ -1068,7 +1071,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(lastEventID, eventSampleHis);
|
|
ownerId2TriggerSample.put(lastEventID, eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1141,6 +1144,7 @@ public class SiteDataWarnHandler {
|
|
|
ResponseCode code = ResponseCode.RESULT_NORMAL;
|
|
ResponseCode code = ResponseCode.RESULT_NORMAL;
|
|
|
long curTime = TimeTool.getCurMsUTC();
|
|
long curTime = TimeTool.getCurMsUTC();
|
|
|
final String siteId = rules.get(0).getObjId();
|
|
final String siteId = rules.get(0).getObjId();
|
|
|
|
|
+ final String planMixId = PlanKind.PRIVATE.equals(planDetail.getKind())?planDetail.getUid():EncryptionUtil.MD5Hash(planDetail.getUid()+planDetail.getOwnerId()+siteId);
|
|
|
SiteStatsDataResult siteStatsData = null;
|
|
SiteStatsDataResult siteStatsData = null;
|
|
|
Map<String, Long> oldEvent2EndUTC = new HashMap<>();//需要更新预警事件的样本截止时间
|
|
Map<String, Long> oldEvent2EndUTC = new HashMap<>();//需要更新预警事件的样本截止时间
|
|
|
Map<String, JPOrdWarnEventInfo> newEvent2Gen = new HashMap<>();
|
|
Map<String, JPOrdWarnEventInfo> newEvent2Gen = new HashMap<>();
|
|
@@ -1267,10 +1271,10 @@ public class SiteDataWarnHandler {
|
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
if (code != ResponseCode.RESULT_NORMAL)
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
- List<SiteStatsDataItem> planOfSample = ownerId2TriggerSample.get(planDetail.getUid());
|
|
|
|
|
|
|
+ List<SiteStatsDataItem> planOfSample = ownerId2TriggerSample.get(planMixId);
|
|
|
if (planOfSample == null){
|
|
if (planOfSample == null){
|
|
|
planOfSample = new ArrayList<>();
|
|
planOfSample = new ArrayList<>();
|
|
|
- ownerId2TriggerSample.put(planDetail.getUid(), planOfSample);
|
|
|
|
|
|
|
+ ownerId2TriggerSample.put(planMixId, planOfSample);
|
|
|
}
|
|
}
|
|
|
if (!matched){//本次没有匹配成功
|
|
if (!matched){//本次没有匹配成功
|
|
|
step = "This is not matched.";
|
|
step = "This is not matched.";
|
|
@@ -1314,7 +1318,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
continue;
|
|
continue;
|
|
|
}//上一次匹配成功了进入下一步
|
|
}//上一次匹配成功了进入下一步
|
|
@@ -1344,7 +1348,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}else {
|
|
}else {
|
|
|
thisTempStep.setLastEventId("");
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
thisTempStep.setLastEventTime(0L);
|
|
@@ -1381,7 +1385,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}else {//触发一个新的事件
|
|
}else {//触发一个新的事件
|
|
@@ -1405,7 +1409,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}else {//之前有预警事件
|
|
}else {//之前有预警事件
|
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
if (planDetail.getMergeToEvent() == 0 || thisTempStep.getLastEventAction() >= EventAction.DONE){//之前的预警事件已处理,则可认为进行重新计数
|
|
@@ -1432,7 +1436,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
ownerId2TriggerSample.put(newEvent.getUid(), eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}else {
|
|
}else {
|
|
|
thisTempStep.setLastEventId("");
|
|
thisTempStep.setLastEventId("");
|
|
|
thisTempStep.setLastEventTime(0L);
|
|
thisTempStep.setLastEventTime(0L);
|
|
@@ -1455,7 +1459,7 @@ public class SiteDataWarnHandler {
|
|
|
eventSampleHis = new ArrayList<>();
|
|
eventSampleHis = new ArrayList<>();
|
|
|
ownerId2TriggerSample.put(lastEventID, eventSampleHis);
|
|
ownerId2TriggerSample.put(lastEventID, eventSampleHis);
|
|
|
}
|
|
}
|
|
|
- eventSampleHis.addAll(ownerId2TriggerSample.remove(planDetail.getUid()));
|
|
|
|
|
|
|
+ eventSampleHis.addAll(ownerId2TriggerSample.remove(planMixId));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|