Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
bigdatainterservice
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
曹鹏
bigdatainterservice
Commits
251bf766
Commit
251bf766
authored
May 13, 2019
by
caojingji
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/master/master' into caopeng_bate1
parents
7d616a65
e27defe0
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
238 additions
and
0 deletions
+238
-0
src/main/java/com/founder/interservice/dzgz/controller/DzgzController.java
+1
-0
src/main/java/com/founder/interservice/dzgz/model/DzgzTask.java
+2
-0
src/main/java/com/founder/interservice/dzgz/service/impl/DzgzScheduledServer.java
+165
-0
src/main/java/com/founder/interservice/mapper/xzxt/DzgzTaskMapper.java
+3
-0
src/main/java/com/founder/interservice/mapper/xzxt/DzgzTaskResultMapper.java
+2
-0
src/main/resources/mybatis/mapper/xzxt/DzgzTaskMapper.xml
+58
-0
src/main/resources/mybatis/mapper/xzxt/DzgzTaskResultMapper.xml
+7
-0
No files found.
src/main/java/com/founder/interservice/dzgz/controller/DzgzController.java
View file @
251bf766
...
...
@@ -298,6 +298,7 @@ public class DzgzController {
dzgzTask
.
setLc
(
node
.
getJSONArray
(
"lc"
).
toString
());
dzgzTask
.
setProgress
(
"0"
);
dzgzTask
.
setState
(
"QUEUEING"
);
dzgzTask
.
setGlxxXxzjbh
(
KeyUtil
.
getUniqueKey
(
"GL"
));
if
(
null
!=
user
){
dzgzTask
.
setFsrJh
(
user
.
getUsername
());
dzgzTask
.
setFsrSfzh
(
user
.
getCard_id
());
...
...
src/main/java/com/founder/interservice/dzgz/model/DzgzTask.java
View file @
251bf766
...
...
@@ -8,6 +8,8 @@ import java.util.Date;
@Data
public
class
DzgzTask
{
private
String
cdtlfxzt
;
//案前踩点案后逃离分析状态 0-未分析完成 1-分析完成
private
String
glxxXxzjbh
;
//关联信息信息主键编号---用于判断该任务为普通的电子固证去值还是案前踩点,案后逃离信息取值
private
String
rwresult
;
//任务结果
private
String
rwsd
;
//任务时段 0-当天该时段 1-前一天该时段 2-前两天该时段 3-前三天该时段 4-前四天(整天) 5-前五天(整天) 6-后三天(整三天)
private
String
taskId
;
//任务编号
...
...
src/main/java/com/founder/interservice/dzgz/service/impl/DzgzScheduledServer.java
View file @
251bf766
...
...
@@ -326,4 +326,169 @@ public class DzgzScheduledServer{
}
return
list
;
}
/**
* 去除重复数据String
* @param list
* @return
*/
public
static
List
<
String
>
removeDuplicateString
(
List
<
String
>
list
)
{
for
(
int
i
=
0
;
i
<
list
.
size
()
-
1
;
i
++
)
{
for
(
int
j
=
list
.
size
()
-
1
;
j
>
i
;
j
--
)
{
if
(
list
.
get
(
j
).
equals
(
list
.
get
(
i
)))
{
list
.
remove
(
j
);
}
}
}
return
list
;
}
/**
* 进行案前踩点与案后分析模型的分析
*/
//@Scheduled(initialDelay = 20000,fixedDelay = 180000) //项目启动后延迟1分钟执行,每次执行完后三分钟后再次执行
public
void
getTaskResult
(){
System
.
out
.
println
(
"=============AJDZGZ Thread startting ==============="
);
System
.
out
.
println
(
"=============AJDZGZ Thread startting ==============="
);
System
.
out
.
println
(
"=============AJDZGZ Thread startting ==============="
);
System
.
out
.
println
(
"=============AJDZGZ Thread startting ==============="
);
System
.
out
.
println
(
"=============AJDZGZ Thread startting ==============="
);
System
.
out
.
println
(
"=============AJDZGZ Thread startting ==============="
);
Map
map
=
new
HashMap
();
map
.
put
(
"rwsd"
,
"1"
);
map
.
put
(
"cdtlfxzt"
,
"0"
);
//拿到踩点逃离的数据 拿到所有案件未分析的任务
List
<
DzgzTask
>
dzgzList
=
taskMapper
.
queryAllAjwfxTask
(
map
);
System
.
out
.
println
(
"size:"
+
dzgzList
.
size
());
//依次拿到所有的数据
if
(
dzgzList
!=
null
&&
dzgzList
.
size
()>
0
){
for
(
int
i
=
0
;
i
<
dzgzList
.
size
();
i
++){
//依次拿到所有的数据,进行分析入库
try
{
doAjfx
(
dzgzList
.
get
(
i
));
}
catch
(
Exception
e
){
System
.
out
.
println
(
"案前踩点、案后逃离分析任务失败!!!"
);
e
.
printStackTrace
();
}
}
}
}
/**
* 案前踩点、案后逃离分析
* @param dzgzTask
*/
private
void
doAjfx
(
DzgzTask
dzgzTask
)
throws
Exception
{
String
glxxXxzjbh
=
dzgzTask
.
getGlxxXxzjbh
();
//通过关联信息主键编号拿到所有案前踩点、案后逃离的所有任务
Map
ajMap
=
new
HashMap
();
ajMap
.
put
(
"glxxXxzjbh"
,
glxxXxzjbh
);
ajMap
.
put
(
"progressZt"
,
"0"
);
List
<
DzgzTask
>
ajDzgzList
=
taskMapper
.
queryAllAjwfxTask
(
ajMap
);
if
(
ajDzgzList
!=
null
&&
ajDzgzList
.
size
()==
7
){
//该模型共会发送7个任务,必须7个任务都有从网安返回的结果时才进行数据分析
System
.
out
.
println
(
"size22222"
);
//定义模型中7个参数
List
<
String
>
dzgzTaskResultListNow
=
new
ArrayList
<>();
//当天该时段 rwsd-0
List
<
String
>
dzgzTaskResultListBefore1
=
new
ArrayList
<>();
//前一天该时段 rwsd-1
List
<
String
>
dzgzTaskResultListBefore2
=
new
ArrayList
<>();
//前二天该时段 rwsd-2
List
<
String
>
dzgzTaskResultListBefore3
=
new
ArrayList
<>();
//前三天该时段 rwsd-3
List
<
String
>
dzgzTaskResultListBefore4
=
new
ArrayList
<>();
//前四天该时段 rwsd-4
List
<
String
>
dzgzTaskResultListBefore5
=
new
ArrayList
<>();
//前五天该时段 rwsd-5
List
<
String
>
dzgzTaskResultListAfter3
=
new
ArrayList
<>();
//后三天该时段 rwsd-6
for
(
int
i
=
0
;
i
<
ajDzgzList
.
size
();
i
++){
System
.
out
.
println
(
"size33333"
);
//拿到任务完成状态
DzgzTask
task
=
ajDzgzList
.
get
(
i
);
String
progress
=
task
.
getProgress
();
String
rwsd
=
task
.
getRwsd
();
String
taskId
=
task
.
getTaskId
();
String
result_str
=
task
.
getRwresult
();
List
<
String
>
taskResult
=
new
ArrayList
<>();
if
(
"1"
.
equals
(
progress
)){
//网安有结果返回且已经全部入库
taskResult
=
taskResultMapper
.
getAllImsiResultsByTaskid
(
taskId
);
taskResult
=
removeDuplicateString
(
taskResult
);
}
else
{
//未存入数据库 但是已经拿到json结果
//解析返回的json结果
if
(
result_str
!=
null
&&!
""
.
endsWith
(
result_str
.
trim
()))
{
JSONObject
result_return
=
JSONObject
.
parseObject
(
result_str
);
JSONObject
objectData
=
result_return
.
getJSONObject
(
"data"
);
JSONArray
jsonArray
=
objectData
.
getJSONArray
(
"list"
);
if
(
jsonArray
!=
null
&&
jsonArray
.
size
()
>
0
)
{
List
<
DzgzTaskResult
>
taskResults
=
new
ArrayList
<>();
taskResults
=
jsonArray
.
toJavaList
(
DzgzTaskResult
.
class
);
taskResults
=
removeDuplicate
(
taskResults
);
for
(
int
t
=
0
;
t
<
taskResults
.
size
();
t
++){
DzgzTaskResult
res
=
taskResults
.
get
(
t
);
if
(
"IMSI"
.
equals
(
res
.
getObjectTypeName
())){
taskResult
.
add
(
res
.
getObjectValue
());
}
}
}
}
}
//查询所有的imsi
if
(
"0"
.
equals
(
rwsd
)){
dzgzTaskResultListNow
=
taskResult
;
}
else
if
(
"1"
.
equals
(
rwsd
)){
dzgzTaskResultListBefore1
=
taskResult
;
}
else
if
(
"2"
.
equals
(
rwsd
)){
dzgzTaskResultListBefore2
=
taskResult
;
}
else
if
(
"3"
.
equals
(
rwsd
)){
dzgzTaskResultListBefore3
=
taskResult
;
}
else
if
(
"4"
.
equals
(
rwsd
)){
dzgzTaskResultListBefore4
=
taskResult
;
}
else
if
(
"5"
.
equals
(
rwsd
)){
dzgzTaskResultListBefore5
=
taskResult
;
}
else
if
(
"6"
.
equals
(
rwsd
)){
dzgzTaskResultListAfter3
=
taskResult
;
}
System
.
out
.
println
(
"size444444444"
);
}
System
.
out
.
println
(
"当天该时段的imsi数量:"
+
dzgzTaskResultListNow
.
size
());
System
.
out
.
println
(
"前一天该时段的imsi数量:"
+
dzgzTaskResultListBefore1
.
size
());
System
.
out
.
println
(
"前两天该时段的imsi数量:"
+
dzgzTaskResultListBefore2
.
size
());
System
.
out
.
println
(
"前三天该时段的imsi数量:"
+
dzgzTaskResultListBefore3
.
size
());
System
.
out
.
println
(
"前四天的imsi数量:"
+
dzgzTaskResultListBefore4
.
size
());
System
.
out
.
println
(
"前五天的imsi数量:"
+
dzgzTaskResultListBefore5
.
size
());
System
.
out
.
println
(
"后三天的imsi数量:"
+
dzgzTaskResultListAfter3
.
size
());
//进行案前踩点分析----拿到当天与前1/2/3天重合的数据 这些数据不存在与前4/5天
//先拿不存在前4/5天的,常住人口多余流动人口
Collection
notexists
=
new
ArrayList
<
String
>(
dzgzTaskResultListNow
);
//不存在第四、五天的imsi
notexists
.
removeAll
(
dzgzTaskResultListBefore4
);
//去掉第四天和当天重复的imsi,得到嫌疑imsi
System
.
out
.
println
(
"存在于当天,不存在前第四天的imsi数量:"
+
notexists
.
size
());
notexists
.
removeAll
(
dzgzTaskResultListBefore5
);
//嫌疑imsi不能存在第五天,即去掉第五天与嫌疑imsi重合的数据
System
.
out
.
println
(
"存在于当天,不存在前第四、五天的imsi数量:"
+
notexists
.
size
());
//拿到不存在四五天的imsi,该imsi必须存在于前1/2/3天
Collection
notexists1
=
new
ArrayList
<
String
>(
dzgzTaskResultListBefore1
);
Collection
exists1
=
new
ArrayList
<
String
>(
dzgzTaskResultListBefore1
);
notexists1
.
removeAll
(
notexists
);
exists1
.
removeAll
(
notexists1
);
System
.
out
.
println
(
"存在于当天、前一天,不存在前第四、五天的imsi数量:"
+
exists1
.
size
());
Collection
notexists2
=
new
ArrayList
<
String
>(
dzgzTaskResultListBefore2
);
Collection
exists2
=
new
ArrayList
<
String
>(
dzgzTaskResultListBefore2
);
notexists2
.
removeAll
(
exists1
);
exists2
.
removeAll
(
notexists2
);
System
.
out
.
println
(
"存在于当天、前一天、前两天,不存在前第四、五天的imsi数量:"
+
exists2
.
size
());
Collection
notexists3
=
new
ArrayList
<
String
>(
dzgzTaskResultListBefore3
);
Collection
aqcdImsi
=
new
ArrayList
<
String
>(
dzgzTaskResultListBefore3
);
//案前踩点可疑imsi
notexists3
.
removeAll
(
exists2
);
aqcdImsi
.
removeAll
(
notexists3
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"存在于当天、前一天、前两天、前三天,不存在前第四、五天的imsi数量,即案前踩点imsi:"
+
aqcdImsi
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
Collection
after3
=
new
ArrayList
<
String
>(
dzgzTaskResultListAfter3
);
aqcdImsi
.
removeAll
(
after3
);
System
.
out
.
println
(
"案后逃离imsi:"
+
aqcdImsi
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
System
.
out
.
println
(
"+++++++++++++++++++++++++++++++++++++++++++"
);
}
}
}
src/main/java/com/founder/interservice/mapper/xzxt/DzgzTaskMapper.java
View file @
251bf766
...
...
@@ -6,6 +6,7 @@ import com.founder.interservice.dzgz.model.DzgzTaskResult;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Map
;
@Repository
public
interface
DzgzTaskMapper
{
...
...
@@ -25,4 +26,6 @@ public interface DzgzTaskMapper {
int
getDzgjResultDetailListTotalCount
(
DzgzTaskResult
dzgzTaskResult
)
throws
Exception
;
List
<
DzgzTask
>
queryAllUnFinishTask
();
List
<
DzgzTask
>
queryAllAjwfxTask
(
Map
map
);
}
src/main/java/com/founder/interservice/mapper/xzxt/DzgzTaskResultMapper.java
View file @
251bf766
...
...
@@ -20,4 +20,6 @@ public interface DzgzTaskResultMapper {
int
dzgzDetailIsExist
(
RegionalTaskResultDetail
param
)
throws
Exception
;
int
existsDzgzTaskResult
(
DzgzTaskResult
dzgzTask
);
List
<
String
>
getAllImsiResultsByTaskid
(
String
taskId
);
}
src/main/resources/mybatis/mapper/xzxt/DzgzTaskMapper.xml
View file @
251bf766
...
...
@@ -41,6 +41,7 @@
INSERT INTO TB_ST_DZGZTASK
(
TASK_ID,
GLXX_XXZJBH,
RWSD,
TASK_NAME,
TASK_CASE_ID,
...
...
@@ -61,6 +62,12 @@
VALUES
(
#{taskId},
<if
test=
"glxxXxzjbh != null and glxxXxzjbh != ''"
>
#{glxxXxzjbh},
</if>
<if
test=
"glxxXxzjbh == null || glxxXxzjbh == ''"
>
null,
</if>
<if
test=
"rwsd != null and rwsd != ''"
>
#{rwsd},
</if>
...
...
@@ -295,4 +302,54 @@
FROM TB_ST_DZGZTASK t
where t.PROGRESS!='1'
</select>
<select
id=
"queryAllAjwfxTask"
parameterType=
"java.util.Map"
resultType=
"com.founder.interservice.dzgz.model.DzgzTask"
>
select
t.TASK_ID as taskId,
t.GLXX_XXZJBH as glxxXxzjbh,
t.RWRESULT as rwresult,
t.RWSD as rwsd,
t.CDTLFXZT as cdtlfxzt,
t.TASK_NAME as taskName,
t.TASK_CASE_ID as taskCaseId,
t.QY_NAME as qyName,
t.LC as lc,
t.PROGRESS as progress,
case when t.STATE = 'QUEUEING' then '排队等待'
when t.STATE = 'STARTING' then '开始运行'
when t.STATE = 'RUNNING' then '执行中'
when t.STATE = 'FINISHED' then '执行完成'
when t.STATE = 'ERROR' then '执行错误'
when t.STATE = 'TIMEOUT' then '执行超时'
else '未发起申请'
end as state,
t.START_TIME as startTime,
t.END_TIME as endTime,
t.FSR_JH as fsrJh,
t.FSR_SFZH fsrSfzh,
t.FSR_XM fsrXm,
t.FSR_LXDH fsrLxdh,
case when t.SPZT = '-1' then '未发起申请'
when t.SPZT = '0' then '审批退回'
when t.SPZT = '0' then '审批成功'
when t.SPZT = '0' then '正在申请'
else '未发起申请'
end as spzt,
t.IP as ip,
t.DJSJ as djsj
FROM TB_ST_DZGZTASK t
where 1=1
<if
test=
"rwsd!=null and rwsd!=''"
>
and RWSD = #{rwsd}
</if>
<if
test=
"cdtlfxzt!=null and cdtlfxzt!=''"
>
and CDTLFXZT = #{cdtlfxzt}
</if>
<if
test=
"glxxXxzjbh!=null and glxxXxzjbh!=''"
>
and GLXX_XXZJBH = #{glxxXxzjbh}
</if>
<if
test=
"progressZt!=null and progressZt!=''"
>
and PROGRESS in ('1','2')
</if>
</select>
</mapper>
\ No newline at end of file
src/main/resources/mybatis/mapper/xzxt/DzgzTaskResultMapper.xml
View file @
251bf766
...
...
@@ -159,4 +159,10 @@
t.OBJECT_VALUE = #{objectValue}
</select>
<select
id =
"getAllImsiResultsByTaskid"
parameterType =
"String"
resultType=
"String"
>
select OBJECT_VALUE as objectValue
from TB_ST_DZGZTASKRESULT
where TASK_ID = #{taskId} and OBJECT_TYPE_NAME = 'IMSI'
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment