@ -309,7 +309,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
List < RiskModelTaskClue > list = collectJJD ( task , "表达报复社会" , jjdList , domain ) ;
if ( ! list . isEmpty ( ) ) {
log . info ( "保存复仇者联盟:{}" , list . size ( ) ) ;
clueService . saveClues ( list , "表达报复社会" ) ;
clueService . saveClues ( list , "B83 表达报复社会" ) ;
}
taskRepository . updateTask ( task . getId ( ) , list . size ( ) , 0 ) ;
} ) ,
@ -319,7 +319,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
List < RiskModelTaskClue > list = collectJJD ( task , "表达厌世情绪" , jjdList , domain ) ;
if ( ! list . isEmpty ( ) ) {
log . info ( "厌世强者:{}" , list . size ( ) ) ;
clueService . saveClues ( list , "表达厌世情绪" ) ;
clueService . saveClues ( list , "B80 表达厌世情绪" ) ;
}
taskRepository . updateTask ( task . getId ( ) , list . size ( ) , 0 ) ;
} ) ,
@ -329,7 +329,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
List < RiskModelTaskClue > list = collectJJD ( task , "表达遭受不公" , jjdList , domain ) ;
if ( ! list . isEmpty ( ) ) {
log . info ( "我命由我不由天:{}" , list . size ( ) ) ;
clueService . saveClues ( list , "表达遭受不公" ) ;
clueService . saveClues ( list , "B82 表达遭受不公" ) ;
}
taskRepository . updateTask ( task . getId ( ) , list . size ( ) , 0 ) ;
} ) ,
@ -339,7 +339,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
List < RiskModelTaskClue > list = collectJJD ( task , "尝试自杀" , jjdList , domain ) ;
if ( ! list . isEmpty ( ) ) {
log . info ( "毁灭吧:{}" , list . size ( ) ) ;
clueService . saveClues ( list , "尝试自杀" ) ;
clueService . saveClues ( list , "B81 尝试自杀" ) ;
}
taskRepository . updateTask ( task . getId ( ) , list . size ( ) , 0 ) ;
} )
@ -563,14 +563,14 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
log . info ( "被家暴:{} | {}" , toInsert . size ( ) , toUpdate . size ( ) ) ;
if ( ! toInsert . isEmpty ( ) ) {
clueService . saveClues ( toInsert , Default . HOME_VIOLENCE ) ;
clueService . saveClues ( toInsert , "B53被他人家暴" ) ;
}
if ( ! toUpdate . isEmpty ( ) ) {
clueService . deleteCluesAndDeleteTag ( toUpdate , deleteIdCards , "被家暴" ) ;
}
log . info ( "家暴:{} | {}" , toInsert2 . size ( ) , toUpdate2 . size ( ) ) ;
if ( ! toInsert . isEmpty ( ) ) {
clueService . saveClues ( toInsert2 , Default . HOME_VIOLENCE ) ;
clueService . saveClues ( toInsert2 , "B52对他人家暴" ) ;
}
if ( ! toUpdate2 . isEmpty ( ) ) {
clueService . deleteCluesAndDeleteTag ( toUpdate2 , deleteIdCards , "家暴" ) ;
@ -602,11 +602,11 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
if ( ! toInsert . isEmpty ( ) ) {
log . info ( "父亲矛盾增加 {}" , toInsert . size ( ) ) ;
clueService . saveClues ( toInsert , "家庭、人际、两性 关系" ) ;
clueService . saveClues ( toInsert , "B48与父亲 关系" ) ;
}
if ( ! toInsert2 . isEmpty ( ) ) {
log . info ( "母亲矛盾增加 {}" , toInsert2 . size ( ) ) ;
clueService . saveClues ( toInsert2 , "家庭、人际、两性 关系" ) ;
clueService . saveClues ( toInsert2 , "B49与母亲 关系" ) ;
}
taskRepository . updateTask ( task . getId ( ) , toInsert . size ( ) , 0 ) ;
taskRepository . updateTask ( task2 . getId ( ) , toInsert2 . size ( ) , 0 ) ;
@ -693,7 +693,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
log . info ( "恋爱创伤:{} | {}" , toInsert . size ( ) , toUpdate . size ( ) ) ;
if ( ! toInsert . isEmpty ( ) ) {
clueService . saveClues ( toInsert , "较大影响负性事件 " ) ;
clueService . saveClues ( toInsert , "B68个人恋爱创伤 " ) ;
}
if ( ! toUpdate . isEmpty ( ) ) {
clueService . deleteCluesAndDeleteTag ( toUpdate , deleteIdCards , "个人恋爱创伤" ) ;
@ -782,7 +782,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
log . info ( "与配偶关系不和:{} | {}" , toInsert . size ( ) , toUpdate . size ( ) ) ;
if ( ! toInsert . isEmpty ( ) ) {
clueService . saveClues ( toInsert , Default . HOME_VIOLENCE ) ;
clueService . saveClues ( toInsert , "B55与配偶关系" ) ;
}
if ( ! toUpdate . isEmpty ( ) ) {
clueService . deleteCluesAndDeleteTag ( toUpdate , deleteIdCards , "与配偶关系不和" ) ;
@ -871,7 +871,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
log . info ( "邻里和同事:{} | {}" , toInsert . size ( ) , toUpdate . size ( ) ) ;
if ( ! toInsert . isEmpty ( ) ) {
clueService . saveClues ( toInsert , Default . HOME_VIOLENCE ) ;
clueService . saveClues ( toInsert , "B55同事与邻居关系" ) ;
}
if ( ! toUpdate . isEmpty ( ) ) {
clueService . deleteCluesAndDeleteTag ( toUpdate , deleteIdCards , "与邻居或同事纠纷" ) ;
@ -955,38 +955,41 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
if ( jjdList = = null ) {
continue ;
}
List < RiskModelTaskClue > olds = Optional . ofNullable ( personMap . get ( person . getIdCode ( ) ) ) . orElse ( new ArrayList < > ( ) ) ;
Map < String , RiskModelTaskClue > oldMap = olds . stream ( ) . collect ( Collectors . toMap ( RiskModelTaskClue : : getCaseIds , Function . identity ( ) , ( val , old ) - > val ) ) ;
List < RiskModelTaskClue > olds = personMap . get ( person . getIdCode ( ) ) ;
if ( olds ! = null ) {
continue ;
}
StringBuilder sb = new StringBuilder ( "该人员存在" + jjdList . size ( ) + "起被欺凌警情,接警单编号:" ) ;
LocalDateTime time = null ;
for ( GBaseJJD jjd : jjdList ) {
if ( oldMap . get ( BhUtil . jjdBh ( jjd . getJjdbh ( ) ) ) ! = null ) {
sb . append ( jjd . getJjdbh ( ) ) . append ( "," ) ;
try {
LocalDateTime tmp = jjd . getBjsj ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ;
if ( time = = null ) {
time = tmp ;
continue ;
}
if ( time . isBefore ( tmp ) ) {
time = tmp ;
}
} catch ( Exception ignored ) {
}
}
ClueData data = ClueData . builder ( )
. name ( person . getName ( ) )
. id ( BhUtil . jjdBh ( jjd . getJjdbh ( ) ) )
. id ( "" )
. idCode ( person . getIdCode ( ) )
. tag ( "存在被欺凌警情" )
. tags ( List . of ( "被欺凌" ) )
. score ( Math . min ( jjdList . size ( ) , 5 ) )
. sourceData ( sb . substring ( 0 , sb . length ( ) - 1 ) )
. personId ( person . getId ( ) )
. eventTime ( time )
. build ( ) ;
StringBuilder sb = new StringBuilder ( "存在被欺凌警情,接警单编号:" + jjd . getJjdbh ( ) ) ;
if ( jjd . getBjnr ( ) ! = null & & ! jjd . getBjnr ( ) . isEmpty ( ) ) {
sb . append ( ",报警内容;" + jjd . getBjnr ( ) ) ;
}
if ( jjd . getCjqk ( ) ! = null & & ! jjd . getCjqk ( ) . isEmpty ( ) ) {
sb . append ( ",处警情况;" + jjd . getCjqk ( ) ) ;
}
data . setSourceData ( sb . toString ( ) ) ;
try {
data . setEventTime ( jjd . getBjsj ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
} catch ( Exception ignored ) {
data . setEventTime ( LocalDateTime . now ( ) ) ;
}
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
toInsert . add ( DataUtil . createClueData ( task , data ) ) ;
}
log . info ( "欺凌:{}" , toInsert . size ( ) ) ;
if ( ! toInsert . isEmpty ( ) ) {
clueService . saveClues ( toInsert , Default . HOME_VIOLENCE ) ;
clueService . saveClues ( toInsert , "B73遭遇暴力欺凌" ) ;
}
taskRepository . updateTask ( task . getId ( ) , toInsert . size ( ) , 0 ) ;
}
@ -1109,8 +1112,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
List < String > tmp = Arrays . stream ( mobile . split ( "," ) ) . toList ( ) ;
switch ( tmp . size ( ) ) {
case 0 - > {
}
case 0 - > { }
case 1 - > mobilesMap . computeIfAbsent ( tmp . getFirst ( ) , k - > new ArrayList < > ( ) ) . add ( gBaseJJD ) ;
default - > {
for ( int i = 1 ; i < tmp . size ( ) ; i + + ) {
@ -1201,37 +1203,39 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
for ( RiskPersonal person : domain . getPersons ( ) ) {
List < GBaseJJD > jjdList = Optional . ofNullable ( fatherIdCodeMap . get ( person . getIdCode ( ) ) ) . orElse ( new ArrayList < > ( ) ) ;
jjdList = jjdList . stream ( ) . filter ( StreamUtil . distinctByKey ( GBaseJJD : : getJjdbh ) ) . toList ( ) ;
if ( jjdList = = null ) {
if ( jjdList = = null | | jjdList . isEmpty ( ) ) {
continue ;
}
List < RiskModelTaskClue > olds = Optional . ofNullable ( personMap . get ( person . getIdCode ( ) ) ) . orElse ( new ArrayList < > ( ) ) ;
Map < String , RiskModelTaskClue > oldMap = olds . stream ( ) . collect ( Collectors . toMap ( RiskModelTaskClue : : getCaseIds , Function . identity ( ) , ( val , old ) - > val ) ) ;
for ( GBaseJJD jjd : jjdList ) {
if ( oldMap . get ( BhUtil . jjdBh ( jjd . getJjdbh ( ) ) ) ! = null ) {
List < RiskModelTaskClue > olds = personMap . get ( person . getIdCode ( ) ) ;
if ( olds ! = null ) {
continue ;
}
ClueData data = ClueData . builder ( )
. name ( person . getName ( ) )
. id ( BhUtil . jjdBh ( jjd . getJjdbh ( ) ) )
. idCode ( person . getIdCode ( ) )
. tag ( "与" + tag + "存在矛盾" )
. personId ( person . getId ( ) )
. build ( ) ;
StringBuilder sb = new StringBuilder ( "该人员与" + tag + "存在矛盾,接警单编号:" + jjd . getJjdbh ( ) ) ;
if ( jjd . getBjnr ( ) ! = null & & ! jjd . getBjnr ( ) . isEmpty ( ) ) {
sb . append ( ",报警内容;" + jjd . getBjnr ( ) ) ;
LocalDateTime time = null ;
StringBuilder sb = new StringBuilder ( "该人员与" + tag + "存在" + jjdList . size ( ) + "起矛盾,接警单编号:" ) ;
for ( GBaseJJD jjd : jjdList ) {
sb . append ( jjd . getJjdbh ( ) ) . append ( "," ) ;
try {
LocalDateTime tmp = jjd . getBjsj ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ;
if ( time = = null ) {
time = tmp ;
continue ;
}
if ( jjd . getCjqk ( ) ! = null & & ! jjd . getCjqk ( ) . isEmpty ( ) ) {
sb . append ( ",处警情况;" + jjd . getCjqk ( ) ) ;
if ( time . isBefore ( tmp ) ) {
time = tmp ;
}
data . setSourceData ( sb . toString ( ) ) ;
try {
data . setEventTime ( jjd . getBjsj ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
} catch ( Exception ignored ) {
data . setEventTime ( LocalDateTime . now ( ) ) ;
}
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
toInsert . add ( DataUtil . createClueData ( task , ClueData . builder ( )
. name ( person . getName ( ) )
. id ( "" )
. idCode ( person . getIdCode ( ) )
. tags ( List . of ( "与" + tag + "存在矛盾" ) )
. eventTime ( time )
. score ( Math . min ( 5 , jjdList . size ( ) ) )
. sourceData ( sb . substring ( 0 , sb . length ( ) - 1 ) )
. personId ( person . getId ( ) )
. build ( ) ) ) ;
}
return toInsert ;
}
@ -1273,35 +1277,38 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
return new ArrayList < > ( ) ;
}
jjdList = jjdList . stream ( ) . filter ( StreamUtil . distinctByKey ( GBaseJJD : : getJjdbh ) ) . toList ( ) ;
List < RiskModelTaskClue > olds = Optional . ofNullable ( personOldMap . get ( personal . getIdCode ( ) ) ) . orElse ( new ArrayList < > ( ) ) ;
Map < String , RiskModelTaskClue > oldMap = olds . stream ( ) . collect ( Collectors . toMap ( RiskModelTaskClue : : getCaseIds , Function . identity ( ) , ( val , old ) - > val ) ) ;
List < RiskModelTaskClue > olds = personOldMap . get ( personal . getIdCode ( ) ) ;
if ( olds ! = null ) {
return new ArrayList < > ( ) ;
}
List < RiskModelTaskClue > toInsert = new ArrayList < > ( ) ;
StringBuilder sb = new StringBuilder ( "该人员存在" + jjdList . size ( ) + "起" + tag + "警情,接警单编号:" ) ;
LocalDateTime time = null ;
for ( GBaseJJD gBaseJJD : jjdList ) {
if ( oldMap . get ( BhUtil . jjdBh ( gBaseJJD . getJjdbh ( ) ) ) ! = null ) {
sb . append ( gBaseJJD . getJjdbh ( ) ) . append ( "," ) ;
try {
LocalDateTime tmp = gBaseJJD . getBjsj ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ;
if ( time = = null ) {
time = tmp ;
continue ;
}
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( BhUtil . jjdBh ( gBaseJJD . getJjdbh ( ) ) )
. idCode ( personal . getIdCode ( ) )
. tag ( tag )
. personId ( personal . getId ( ) )
. build ( ) ;
StringBuilder sb = new StringBuilder ( "该人员存在" + tag + "警情,接警单编号:" + gBaseJJD . getJjdbh ( ) ) ;
if ( gBaseJJD . getBjnr ( ) ! = null & & ! gBaseJJD . getBjnr ( ) . isEmpty ( ) ) {
sb . append ( ",报警内容;" + gBaseJJD . getBjnr ( ) ) ;
}
if ( gBaseJJD . getCjqk ( ) ! = null & & ! gBaseJJD . getCjqk ( ) . isEmpty ( ) ) {
sb . append ( ",处警情况;" + gBaseJJD . getCjqk ( ) ) ;
if ( time . isBefore ( tmp ) ) {
time = tmp ;
}
data . setSourceData ( sb . toString ( ) ) ;
try {
data . setEventTime ( gBaseJJD . getBjsj ( ) . toInstant ( ) . atZone ( ZoneId . systemDefault ( ) ) . toLocalDateTime ( ) ) ;
} catch ( Exception ignored ) {
data . setEventTime ( LocalDateTime . now ( ) ) ;
}
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
toInsert . add ( DataUtil . createClueData ( task , ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( "" )
. idCode ( personal . getIdCode ( ) )
. tags ( List . of ( tag ) )
. personId ( personal . getId ( ) )
. eventTime ( time )
. sourceData ( sb . substring ( 0 , sb . length ( ) - 1 ) )
. score ( Math . min ( jjdList . size ( ) , 5 ) )
. build ( ) ) ) ;
return toInsert ;
}
@ -1408,20 +1415,4 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
}
return tmp ;
}
RiskModelTaskClue createClue ( Integer modelId , Integer score , Integer taskId , ClueData data ) {
RiskModelTaskClue clue = new RiskModelTaskClue ( ) ;
clue . setModelId ( modelId ) ;
clue . setScore ( score ) ;
clue . setName ( data . getName ( ) ) ;
clue . setIdCode ( data . getIdCode ( ) ) ;
clue . setTaskId ( taskId ) ;
clue . setData ( data . getSourceData ( ) ) ;
clue . setEventTime ( data . getEventTime ( ) ) ;
clue . setCreateTime ( LocalDateTime . now ( ) ) ;
clue . setUpdateTime ( LocalDateTime . now ( ) ) ;
clue . setCaseIds ( data . getId ( ) ) ;
clue . setRiskReason ( data . getTag ( ) ) ;
return clue ;
}
}