Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
map-parent
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
常超
map-parent
Commits
db1d763f
Commit
db1d763f
authored
Jul 18, 2022
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
人员可视化、群体研判、AES加密解密、剩余任务结果生成处理(湖南)
parent
b8e0f6d3
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
460 additions
and
54 deletions
+460
-54
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/AjQueryParam.java
+2
-4
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/ztypEntity/KsjResultPojo.java
+66
-0
common/service_base/src/main/java/com/founder/servicebase/controller/SkAesController.java
+14
-5
service/publicapi/src/main/java/com/founder/publicapi/controller/SkDataOperation/SkRegionalsResultController.java
+29
-1
service/publicapi/src/main/java/com/founder/publicapi/controller/ZtypService/ZtypController.java
+0
-1
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/ZtypFwbshMapper.xml
+1
-1
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/ZtypMapper.xml
+43
-42
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/SkRegionalsResultServiceImpl.java
+24
-0
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/ZtypServiceImpl.java
+281
-0
No files found.
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/AjQueryParam.java
View file @
db1d763f
...
...
@@ -37,13 +37,11 @@ public class AjQueryParam {
String
column
;
//排序方式 升序asc,降序desc
String
type
;
Integer
page
;
Integer
limit
;
//分析维度
private
String
fxwd
;
//共同关系系数
private
String
commonRelationshipNum
;
//当前页
private
Integer
page
;
//每页数
private
Integer
limit
;
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/ztypEntity/KsjResultPojo.java
0 → 100644
View file @
db1d763f
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
ztypEntity
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author yangyang
* @description 可视化分析
*/
@Data
public
class
KsjResultPojo
{
/**
* 节点信息组(去重的)
*/
private
List
<
Nodes
>
nodes
;
/**
* 关联关系组
*/
private
List
<
Links
>
links
;
@Data
public
static
class
Nodes
{
/**
节点下面显示的名称,如果需要多个显示,请传
"李xx\n23岁\n前端开发工程师" 单个的话就 "李xx"
*/
private
String
id
;
/**
* 节点信息的唯一值(例如证件号码),节点是否去重就是依据id
*/
private
String
label
;
/**
* (idcard: 人,aj: 案件,cph:车,sjk:手机,yhk:银行卡)判断节点图片
*/
private
String
imgType
;
/**
* 将节点所有的信息全部放到这个字段中,包括id和label,注意的是,这个对象必须有一个字段imgType(idcard: 人,aj: 案件,cph:车,sjk:手机,yhk:银行卡)判断节点图片
*/
private
Object
properties
;
}
@Data
public
static
class
Links
{
/**
* 源节点id值
*/
private
String
source
;
/**
* 目标节点id值
*/
private
String
target
;
/**
* 节点连线显示文字
*/
private
String
label
;
/**
* (idcard: 人,aj: 案件,cph:车,sjk:手机,yhk:银行卡)判断节点图片
*/
private
String
imgType
;
/**
* 将连线所有的信息全部放到这个字段中,注意事项同上,没有必要字段imgType
*/
private
Object
properties
;
}
}
common/service_base/src/main/java/com/founder/servicebase/controller/SkAesController.java
View file @
db1d763f
...
...
@@ -22,26 +22,35 @@ public class SkAesController {
/**
* 新增字典
*/
@GetMapping
(
"query/{data}"
)
@GetMapping
(
"query/{data}
/{flag}
"
)
@ApiOperation
(
value
=
"AES加密"
)
@OperLog
(
message
=
"AES加密"
,
operation
=
OperationType
.
QUERY
)
public
MapRestResult
save
(
@PathVariable
(
"data"
)
String
data
)
{
public
MapRestResult
save
(
@PathVariable
(
"data"
)
String
data
,
@PathVariable
(
"flag"
)
String
flag
)
{
String
jiemi
=
null
;
//使用AES-128-CBC加密模式
Date
now
=
new
Date
();
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
String
today
=
simpleDateFormat
.
format
(
now
);
String
KEY
=
"maplogin"
+
today
;
String
IV
=
"map_vues"
+
today
;
if
(
"1"
.
equals
(
flag
)){
try
{
data
=
AesEncryptUtil
.
encrypt
(
data
,
KEY
,
IV
);
System
.
out
.
println
(
"数据:"
+
data
);
System
.
out
.
println
(
"加密:"
+
data
);
String
jiemi
=
AesEncryptUtil
.
desEncrypt
(
data
,
KEY
,
IV
).
trim
();
System
.
out
.
println
(
"解密:"
+
jiemi
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
MapRestResult
.
build
(
201
,
"AES-128-CBC加密失败"
,
1
,
e
);
return
MapRestResult
.
build
(
201
,
"AES-128-CBC加密失败"
,
0
,
e
);
}
return
MapRestResult
.
build
(
200
,
"AES-128-CBC加密模式"
,
1
,
"加密:"
+
data
);
}
else
{
try
{
jiemi
=
AesEncryptUtil
.
desEncrypt
(
data
,
KEY
,
IV
).
trim
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
MapRestResult
.
build
(
201
,
"AES-128-CBC解密失败"
,
0
,
e
);
}
}
return
MapRestResult
.
build
(
200
,
"AES-128-CBC解密模式"
,
1
,
"解密:"
+
jiemi
);
}
}
service/publicapi/src/main/java/com/founder/publicapi/controller/SkDataOperation/SkRegionalsResultController.java
View file @
db1d763f
...
...
@@ -151,7 +151,35 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
case
"qypz_people"
:
// 获取任务结果 阿里云读取json线上读取接口
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
//区域碰撞手机
break
;
case
"qypz_ljxc"
:
// 路径寻车
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
case
"qypz_skhz"
:
// 时空绘制
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
case
"qypz_clafqt"
:
// 车辆案发潜逃
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
case
"qypz_clsccx"
:
// 车辆首次出现
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
case
"skhs_ryaqcd"
:
// 人员案前踩点
jsonArray
=
JsonUtils
.
readJsonFromClassPath
(
path
+
"/getJzhs.json"
,
JSONArray
.
class
);
break
;
//基站回溯 break;
case
"qypz_rysccx"
:
// 人员首次出现
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
case
"qypz_ryafqt"
:
// 人员案发潜逃
listResult
=
skRegionalsResultService
.
MoreAreaInfoThread
(
params
,
taskType
);
break
;
case
"skph_people"
:
// 获取任务结果 阿里云读取json线上读取接口
listResult
=
skRegionalsResultService
.
OneAreaInfoTrampResultThread
(
params
,
taskType
);
...
...
service/publicapi/src/main/java/com/founder/publicapi/controller/ZtypService/ZtypController.java
View file @
db1d763f
...
...
@@ -102,7 +102,6 @@ public class ZtypController {
if
(
count
!=
null
&&
count
>
0
)
{
records
=
ztypService
.
queryAjypfxData
(
requestParam
);
}
return
R
.
ok
().
total
(
count
).
rows
(
records
);
}
...
...
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/ZtypFwbshMapper.xml
View file @
db1d763f
...
...
@@ -71,7 +71,7 @@
<select
id=
"queryAjypfxData"
resultType=
"com.founder.commonutils.model.newPublicEntity.ztypEntity.AjypFxPojo"
>
select th.thbh as thbh,
th.thglajsl as ajCount,
nv
l(th.thgljlajsl,0) as jlajCount,
ifnul
l(th.thgljlajsl,0) as jlajCount,
th.thglxyrsl as xyrCount,
th.thglzdgzyrsl as zdgzyrCount
from tb_yw_shse_th th
...
...
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/ZtypMapper.xml
View file @
db1d763f
...
...
@@ -133,39 +133,39 @@
and tbsh.ASJXGFWBZH_FWBZH = LOWER(#{hm,jdbcType=VARCHAR}))
</select>
<select
id=
"queryAjypfxData"
resultType=
"com.founder.commonutils.model.newPublicEntity.ztypEntity.AjypFxPojo"
>
select th.thbh
as thbh,
th.thglajsl
as ajCount,
nvl(th.thgljlajsl
,0) as jlajCount,
th.thglxyrsl
as xyrCount,
th.thglzdgzyrsl
as zdgzyrCount
select th.THBH
as thbh,
th.THGLAJSL
as ajCount,
ifnull(th.THGLJLAJSL
,0) as jlajCount,
th.THGLXYRSL
as xyrCount,
th.THGLZDGZYRSL
as zdgzyrCount
from tb_yw_shse_th th
<where>
1 = 1
<if
test=
"ajlx == '00'"
>
and th.thglxyrsl
<![CDATA[>=]]>
3
and th.thglajsl
<![CDATA[>=]]>
3
and th.THGLXYRSL
<![CDATA[>=]]>
3
and th.THGLAJSL
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '01'"
>
and th.thglxyrsl
<![CDATA[>=]]>
3
and th.thglajsl
= 2
and th.THGLXYRSL
<![CDATA[>=]]>
3
and th.THGLAJSL
= 2
</if>
<if
test=
"ajlx == '10'"
>
and th.thglxyrsl
= 2
and th.thglajsl
<![CDATA[>=]]>
3
and th.THGLXYRSL
= 2
and th.THGLAJSL
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '11'"
>
and th.thglxyrsl
= 2
and th.thglajsl
= 2
and th.THGLXYRSL
= 2
and th.THGLAJSL
= 2
</if>
<if
test=
"(ryxm != null and ryxm != '') or (hjd != null and hjd != '')"
>
and th.thbh in (select thxyr.thbh from tb_yw_shse_thglxyr
thxyr
and th.thbh in (select thxyr.thbh from TB_YW_SHSE_THGLXYR
thxyr
<where>
1 = 1
<if
test=
"ryxm != null and ryxm != ''"
>
and thxyr.xm
= #{ryxm}
and thxyr.XM
= #{ryxm}
</if>
<if
test=
"hjd != null and hjd != ''"
>
and thxyr.hjddm
= #{hjd}
and thxyr.HJDDM
= #{hjd}
</if>
</where>
)
...
...
@@ -178,28 +178,29 @@
<where>
1 = 1
<if
test=
"ajlbdm != null and ajlbdm != ''"
>
and thaj.ajlbdm
= #{ajlbdm}
and thaj.AJLBDM
= #{ajlbdm}
</if>
<if
test=
"ajmc != null and ajmc != ''"
>
thaj.ajmc
like '%${ajmc}%'
thaj.AJMC
like '%${ajmc}%'
</if>
<if
test=
"startDate != null"
>
and thaj.larq
>= #{startDate, jdbcType=DATE}
and thaj.LARQ
>= #{startDate, jdbcType=DATE}
</if>
<if
test=
"endDate != null"
>
and thaj.larq
<![CDATA[<=]]>
#{endDate, jdbcType=DATE}
and thaj.LARQ
<![CDATA[<=]]>
#{endDate, jdbcType=DATE}
</if>
<if
test=
"ladwdm != null and ladwdm != ''"
>
and thaj.ladwdm in (select code from sys_dictitem_xz where code_lev
1
and thaj.LADWDM in (SELECT code FROM SYS_DICTITEM_XZ WHERE CODE_LEV
1
=#{ladwdm, jdbcType=VARCHAR}
or code_lev2 =#{ladwdm, jdbcType=VARCHAR} or code_lev
3 =#{ladwdm, jdbcType=VARCHAR}
or code_lev4 =#{ladwdm, jdbcType=VARCHAR} or code_lev
5 =#{ladwdm, jdbcType=VARCHAR}
or CODE_LEV2 =#{ladwdm, jdbcType=VARCHAR} or CODE_LEV
3 =#{ladwdm, jdbcType=VARCHAR}
or CODE_LEV4 =#{ladwdm, jdbcType=VARCHAR} or CODE_LEV
5 =#{ladwdm, jdbcType=VARCHAR}
)
</if>
</where>
)
</if>
</where>
limit #{page},#{limit}
</select>
<select
id=
"queryAjypfxCount"
resultType=
"java.lang.Integer"
>
select count(th.THBH)
...
...
@@ -207,30 +208,30 @@
<where>
1 = 1
<if
test=
"ajlx == '00'"
>
and th.
thglxyrsl
<![CDATA[>=]]>
3
and th.
thglajsl
<![CDATA[>=]]>
3
and th.
THGLXYRSL
<![CDATA[>=]]>
3
and th.
THGLAJSL
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '01'"
>
and th.
thglxyrsl
<![CDATA[>=]]>
3
and th.
thglajsl
= 2
and th.
THGLXYRSL
<![CDATA[>=]]>
3
and th.
THGLAJSL
= 2
</if>
<if
test=
"ajlx == '10'"
>
and th.
thglxyrsl
= 2
and th.
thglajsl
<![CDATA[>=]]>
3
and th.
THGLXYRSL
= 2
and th.
THGLAJSL
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '11'"
>
and th.
thglxyrsl
= 2
and th.
thglajsl
= 2
and th.
THGLXYRSL
= 2
and th.
THGLAJSL
= 2
</if>
<if
test=
"(ryxm != null and ryxm != '') or (hjd != null and hjd != '')"
>
and th.thbh in (select thxyr.thbh from
tb_yw_shse_thglxyr
thxyr
and th.thbh in (select thxyr.thbh from
TB_YW_SHSE_THGLXYR
thxyr
<where>
1 = 1
<if
test=
"ryxm != null and ryxm != ''"
>
and thxyr.
xm
= #{ryxm}
and thxyr.
XM
= #{ryxm}
</if>
<if
test=
"hjd != null and hjd != ''"
>
and thxyr.
hjddm
= #{hjd}
and thxyr.
HJDDM
= #{hjd}
</if>
</where>
)
...
...
@@ -239,26 +240,26 @@
or startDate != null or endDate != null"
>
and th.thbh in (
select thbh
from
tb_yw_shse_thglasj
thaj
from
TB_YW_SHSE_THGLASJ
thaj
<where>
1 = 1
<if
test=
"ajlbdm != null and ajlbdm != ''"
>
and thaj.
ajlbdm
= #{ajlbdm}
and thaj.
AJLBDM
= #{ajlbdm}
</if>
<if
test=
"ajmc != null and ajmc != ''"
>
thaj.
ajmc
like '%${ajmc}%'
thaj.
AJMC
like '%${ajmc}%'
</if>
<if
test=
"startDate != null"
>
and thaj.
larq
>= #{startDate, jdbcType=DATE}
and thaj.
LARQ
>= #{startDate, jdbcType=DATE}
</if>
<if
test=
"endDate != null"
>
and thaj.
larq
<![CDATA[<=]]>
#{endDate, jdbcType=DATE}
and thaj.
LARQ
<![CDATA[<=]]>
#{endDate, jdbcType=DATE}
</if>
<if
test=
"ladwdm != null and ladwdm != ''"
>
and thaj.
ladwdm in (SELECT code FROM sys_dictitem_xz WHERE code_lev
1
and thaj.
LADWDM in (SELECT code FROM SYS_DICTITEM_XZ WHERE CODE_LEV
1
=#{ladwdm, jdbcType=VARCHAR}
or
code_lev2 =#{ladwdm, jdbcType=VARCHAR} or code_lev
3 =#{ladwdm, jdbcType=VARCHAR}
or
code_lev4 =#{ladwdm, jdbcType=VARCHAR} or code_lev
5 =#{ladwdm, jdbcType=VARCHAR}
or
CODE_LEV2 =#{ladwdm, jdbcType=VARCHAR} or CODE_LEV
3 =#{ladwdm, jdbcType=VARCHAR}
or
CODE_LEV4 =#{ladwdm, jdbcType=VARCHAR} or CODE_LEV
5 =#{ladwdm, jdbcType=VARCHAR}
)
</if>
</where>
...
...
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/SkRegionalsResultServiceImpl.java
View file @
db1d763f
...
...
@@ -230,6 +230,30 @@ public class SkRegionalsResultServiceImpl extends ServiceImpl<SkRegionalsResultM
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
phoneall
(
receiving
);
break
;
//区域碰撞手机
case
"qypz_ljxc"
:
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
carall
(
receiving
);
break
;
//区域碰撞车辆
case
"qypz_skhz"
:
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
phoneall
(
receiving
);
break
;
//区域碰撞手机
case
"qypz_clafqt"
:
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
carall
(
receiving
);
break
;
//区域碰撞车辆
case
"qypz_clsccx"
:
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
carall
(
receiving
);
break
;
//区域碰撞车辆
case
"qypz_rysccx"
:
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
phoneall
(
receiving
);
break
;
//区域碰撞手机
case
"qypz_ryafqt"
:
// 获取回溯结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
phoneall
(
receiving
);
break
;
//区域碰撞手机
case
"skph_car"
:
// 获取徘徊结果 阿里云读取json线上读取接口
carOrPhoneInfolist
=
carall
(
receiving
);
...
...
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/ZtypServiceImpl.java
View file @
db1d763f
package
com
.
founder
.
publicapi
.
service
.
serviceimpl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.founder.commonutils.model.newPublicEntity.*
;
import
com.founder.commonutils.model.newPublicEntity.ztypEntity.AjThKshfxPojo
;
import
com.founder.commonutils.model.newPublicEntity.ztypEntity.AjypFxPojo
;
import
com.founder.commonutils.model.newPublicEntity.ztypEntity.KsjResultPojo
;
import
com.founder.publicapi.mapper.mysqlMapper.TbStAsjMapper
;
import
com.founder.publicapi.mapper.mysqlMapper.TbStZtypFwbshMapper
;
import
com.founder.publicapi.mapper.mysqlMapper.ZtypMapper
;
import
com.founder.publicapi.service.ZtypService
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.util.stream.Collectors
;
@Service
public
class
ZtypServiceImpl
implements
ZtypService
{
...
...
@@ -19,6 +27,9 @@ public class ZtypServiceImpl implements ZtypService {
ZtypMapper
ztypMapper
;
@Autowired
TbStZtypFwbshMapper
tbStZtypFwbshMapper
;
@Autowired
private
TbStAsjMapper
tbStAsjMapper
;
@Override
public
List
<
ZpajxxEntity
>
getZpajxx
(
ZpajxxModel
model
)
{
return
ztypMapper
.
getZpajxx
(
model
);
...
...
@@ -181,4 +192,274 @@ public class ZtypServiceImpl implements ZtypService {
thLabel
.
setCommonCashAccountCount
(
commonTjCount
.
toString
());
}
}
@Override
public
MapRestResult
kshdata
(
TbStZtypFwbsh
fwbsh
)
{
ExecutorService
cachedThreadPool
=
Executors
.
newCachedThreadPool
();
KsjResultPojo
ksjResultPojo
=
new
KsjResultPojo
();
// 最终对象数据
List
<
KsjResultPojo
.
Nodes
>
nodes
=
new
ArrayList
<>();
// 存储所有节点去重后数据
List
<
KsjResultPojo
.
Links
>
links
=
new
ArrayList
<>();
// 存储所有节点关系
AjThKshfxPojo
root
=
getKshDataType
(
fwbsh
);
if
(
root
==
null
)
{
//安全性校验
return
MapRestResult
.
error
(
"入参类型错误!"
);
}
if
(
"personid"
.
equals
(
fwbsh
.
getFwbshLb
()))
{
// 类型为身份证号
CountDownLatch
countDownLatch
=
new
CountDownLatch
(
4
);
String
zjhm
=
root
.
getId
();
// 证件号入参
// 证件号码加入节点
KsjResultPojo
.
Nodes
nodeZjhm
=
new
KsjResultPojo
.
Nodes
();
nodeZjhm
.
setId
(
zjhm
);
nodeZjhm
.
setLabel
(
"证件号码:"
+
zjhm
);
nodeZjhm
.
setImgType
(
"idcard"
);
nodeZjhm
.
setProperties
(
JSONObject
.
toJSON
(
nodeZjhm
));
nodes
.
add
(
nodeZjhm
);
// 查询人员案件信息
class
Ra
extends
Thread
{
String
value
;
void
setValue
(
String
zjbh
){
this
.
value
=
zjbh
;
}
@Override
public
void
run
(){
List
<
String
>
listResult
=
new
ArrayList
<>();
try
{
List
<
Map
<
String
,
Object
>>
asjList
=
tbStAsjMapper
.
getAsjxxByZjhm
(
value
);
for
(
Map
<
String
,
Object
>
mapAsj:
asjList
){
listResult
.
add
(
mapAsj
.
get
(
"asjbh"
).
toString
());
}
listResult
.
stream
().
distinct
().
forEach
(
obj
->
{
// 组装去重数据
KsjResultPojo
.
Nodes
node
=
new
KsjResultPojo
.
Nodes
();
node
.
setId
(
obj
);
node
.
setLabel
(
obj
);
node
.
setImgType
(
"aj"
);
node
.
setProperties
(
JSONObject
.
toJSON
(
node
));
nodes
.
add
(
node
);
// 组装关系数据
KsjResultPojo
.
Links
link
=
new
KsjResultPojo
.
Links
();
link
.
setSource
(
value
);
link
.
setTarget
(
obj
);
link
.
setLabel
(
"人案"
);
link
.
setImgType
(
"aj"
);
link
.
setProperties
(
JSONObject
.
toJSON
(
link
));
links
.
add
(
link
);
});
countDownLatch
.
countDown
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
// 查询人员手机和相关信息线程
class
Phone
extends
Thread
{
String
value
;
void
setValue
(
String
zjbh
){
this
.
value
=
zjbh
;
}
@Override
public
void
run
(){
List
<
String
>
listResult
=
new
ArrayList
<>();
try
{
String
phone
=
"15754879533"
;
// 模拟接口
listResult
.
add
(
phone
);
if
(
listResult
==
null
)
{
listResult
=
new
ArrayList
<>();
}
}
catch
(
Exception
e
)
{
listResult
=
new
ArrayList
<>();
e
.
printStackTrace
();
}
listResult
.
stream
().
distinct
().
forEach
(
obj
->
{
// 组装去重数据
KsjResultPojo
.
Nodes
node
=
new
KsjResultPojo
.
Nodes
();
node
.
setId
(
obj
);
node
.
setLabel
(
obj
);
node
.
setImgType
(
"sjk"
);
node
.
setProperties
(
JSONObject
.
toJSON
(
node
));
nodes
.
add
(
node
);
// 组装关系数据
KsjResultPojo
.
Links
link
=
new
KsjResultPojo
.
Links
();
link
.
setSource
(
value
);
link
.
setTarget
(
obj
);
link
.
setLabel
(
"机主"
);
link
.
setImgType
(
"sjk"
);
link
.
setProperties
(
JSONObject
.
toJSON
(
link
));
links
.
add
(
link
);
});
countDownLatch
.
countDown
();
};
}
// 查询人员车辆
class
Car
extends
Thread
{
String
value
;
void
setValue
(
String
zjbh
){
this
.
value
=
zjbh
;
}
@Override
public
void
run
(){
List
<
String
>
listResult
=
new
ArrayList
<>();
try
{
String
phone
=
"蒙AKH824"
;
// 模拟接口
listResult
.
add
(
phone
);
if
(
listResult
==
null
)
{
listResult
=
new
ArrayList
<>();
}
}
catch
(
Exception
e
)
{
listResult
=
new
ArrayList
<>();
e
.
printStackTrace
();
}
listResult
.
stream
().
distinct
().
forEach
(
obj
->
{
// 组装去重数据
KsjResultPojo
.
Nodes
node
=
new
KsjResultPojo
.
Nodes
();
node
.
setId
(
obj
);
node
.
setLabel
(
obj
);
node
.
setImgType
(
"cph"
);
node
.
setProperties
(
JSONObject
.
toJSON
(
node
));
nodes
.
add
(
node
);
// 组装关系数据
KsjResultPojo
.
Links
link
=
new
KsjResultPojo
.
Links
();
link
.
setSource
(
value
);
link
.
setTarget
(
obj
);
link
.
setLabel
(
"车主"
);
link
.
setImgType
(
"cph"
);
link
.
setProperties
(
JSONObject
.
toJSON
(
link
));
links
.
add
(
link
);
});
countDownLatch
.
countDown
();
}
}
// 查询人员银行卡号
class
Yhkh
extends
Thread
{
String
value
;
void
setValue
(
String
zjbh
){
this
.
value
=
zjbh
;
}
@Override
public
void
run
(){
List
<
String
>
listResult
=
new
ArrayList
<>();
try
{
String
phone
=
"6216625552447663148522"
;
// 模拟接口
listResult
.
add
(
phone
);
if
(
listResult
==
null
)
{
listResult
=
new
ArrayList
<>();
}
}
catch
(
Exception
e
)
{
listResult
=
new
ArrayList
<>();
e
.
printStackTrace
();
}
listResult
.
stream
().
distinct
().
forEach
(
obj
->
{
// 组装去重数据
KsjResultPojo
.
Nodes
node
=
new
KsjResultPojo
.
Nodes
();
node
.
setId
(
obj
);
node
.
setLabel
(
obj
);
node
.
setImgType
(
"yhk"
);
node
.
setProperties
(
JSONObject
.
toJSON
(
node
));
nodes
.
add
(
node
);
// 组装关系数据
KsjResultPojo
.
Links
link
=
new
KsjResultPojo
.
Links
();
link
.
setSource
(
value
);
link
.
setTarget
(
obj
);
link
.
setLabel
(
"卡号"
);
link
.
setImgType
(
"yhk"
);
link
.
setProperties
(
JSONObject
.
toJSON
(
link
));
links
.
add
(
link
);
});
countDownLatch
.
countDown
();
}
}
Ra
ra
=
new
Ra
();
ra
.
setValue
(
zjhm
);
cachedThreadPool
.
execute
(
ra
);
Phone
phone
=
new
Phone
();
phone
.
setValue
(
zjhm
);
cachedThreadPool
.
execute
(
phone
);
Car
car
=
new
Car
();
car
.
setValue
(
zjhm
);
cachedThreadPool
.
execute
(
car
);
Yhkh
yhkh
=
new
Yhkh
();
yhkh
.
setValue
(
zjhm
);
cachedThreadPool
.
execute
(
yhkh
);
try
{
countDownLatch
.
await
();
cachedThreadPool
.
shutdown
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
ksjResultPojo
.
setNodes
(
nodes
);
ksjResultPojo
.
setLinks
(
links
);
return
new
MapRestResult
(
200
,
"可视化结果获取成功"
,
1
,
ksjResultPojo
);
}
private
AjThKshfxPojo
getKshDataType
(
TbStZtypFwbsh
fwbsh
)
{
AjThKshfxPojo
root
=
new
AjThKshfxPojo
();
root
.
setId
(
fwbsh
.
getFwbshHm
());
root
.
setParentType
(
"group"
);
String
fwbshLb
=
fwbsh
.
getFwbshLb
();
if
(
fwbshLb
!=
null
)
{
switch
(
fwbshLb
)
{
case
"personid"
:
{
root
.
setType
(
"person"
);
root
.
setName
(
"身份证号:"
+
fwbsh
.
getFwbshHm
());
root
.
setParentName
(
"身份证号:"
+
fwbsh
.
getFwbshHm
());
break
;
}
case
"mobile"
:
{
root
.
setType
(
"phone"
);
root
.
setName
(
"手机号码:"
+
fwbsh
.
getFwbshHm
());
root
.
setParentName
(
"手机号码:"
+
fwbsh
.
getFwbshHm
());
break
;
}
case
"yhkh"
:
{
root
.
setType
(
"bankCard"
);
root
.
setName
(
"银行卡号:"
+
fwbsh
.
getFwbshHm
());
root
.
setParentName
(
"银行卡号:"
+
fwbsh
.
getFwbshHm
());
break
;
}
case
"carid"
:
{
root
.
setType
(
"car"
);
root
.
setName
(
"车牌号码:"
+
fwbsh
.
getFwbshHm
());
root
.
setParentName
(
"车牌号码:"
+
fwbsh
.
getFwbshHm
());
break
;
}
case
"qq"
:
{
root
.
setType
(
"qq"
);
root
.
setName
(
"QQ号码:"
+
fwbsh
.
getFwbshHm
());
root
.
setParentName
(
"QQ号码:"
+
fwbsh
.
getFwbshHm
());
break
;
}
case
"wx"
:
{
root
.
setType
(
"wechat"
);
root
.
setName
(
"微信号码:"
+
fwbsh
.
getFwbshHm
());
root
.
setParentName
(
"微信号码:"
+
fwbsh
.
getFwbshHm
());
break
;
}
default
:
{
return
null
;
}
}
}
return
root
;
}
}
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