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
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
511 additions
and
105 deletions
+511
-105
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/AjQueryParam.java
+3
-5
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
+21
-12
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
+86
-85
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
...
...
@@ -10,7 +10,7 @@ import java.util.List;
* 查询案件参数
*/
@Data
public
class
AjQueryParam
{
public
class
AjQueryParam
{
//起始时间
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
;
...
...
@@ -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
;
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
);
if
(
"1"
.
equals
(
flag
)){
try
{
data
=
AesEncryptUtil
.
encrypt
(
data
,
KEY
,
IV
);
System
.
out
.
println
(
"数据:"
+
data
);
System
.
out
.
println
(
"加密:"
+
data
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
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
,
"加密:"
+
data
);
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
...
...
@@ -132,105 +132,106 @@
WHERE tbsh.XXSC_PDBZ = '0'
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
from tb_yw_shse_th th
<where>
1 = 1
<if
test=
"ajlx == '00'"
>
and th.thglxyrsl
<![CDATA[>=]]>
3
and th.thglajsl
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '01'"
>
and th.thglxyrsl
<![CDATA[>=]]>
3
and th.thglajsl = 2
</if>
<if
test=
"ajlx == '10'"
>
and th.thglxyrsl = 2
and th.thglajsl
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '11'"
>
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
<select
id=
"queryAjypfxData"
resultType=
"com.founder.commonutils.model.newPublicEntity.ztypEntity.AjypFxPojo"
>
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=
"ryxm != null and ryxm != ''"
>
and thxyr.xm = #{ryxm}
</if>
<if
test=
"hjd != null and hjd != ''"
>
and thxyr.hjddm = #{hjd}
</if>
</where>
)
</if>
<if
test=
"(ladwdm != null and ladwdm != '') or (ajlbdm != null and ajlbdm != '') or (ajmc != null and ajmc != '')
1 = 1
<if
test=
"ajlx == '00'"
>
and th.THGLXYRSL
<![CDATA[>=]]>
3
and th.THGLAJSL
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '01'"
>
and th.THGLXYRSL
<![CDATA[>=]]>
3
and th.THGLAJSL = 2
</if>
<if
test=
"ajlx == '10'"
>
and th.THGLXYRSL = 2
and th.THGLAJSL
<![CDATA[>=]]>
3
</if>
<if
test=
"ajlx == '11'"
>
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
<where>
1 = 1
<if
test=
"ryxm != null and ryxm != ''"
>
and thxyr.XM = #{ryxm}
</if>
<if
test=
"hjd != null and hjd != ''"
>
and thxyr.HJDDM = #{hjd}
</if>
</where>
)
</if>
<if
test=
"(ladwdm != null and ladwdm != '') or (ajlbdm != null and ajlbdm != '') or (ajmc != null and ajmc != '')
or startDate != null or endDate != null"
>
and th.thbh in (
select thbh
from tb_yw_shse_thglasj thaj
<where>
1 = 1
<if
test=
"ajlbdm != null and ajlbdm != ''"
>
and thaj.ajlbdm = #{ajlbdm}
</if>
<if
test=
"ajmc != null and ajmc != ''"
>
thaj.ajmc like '%${ajmc}%'
</if>
<if
test=
"startDate != null"
>
and thaj.larq >= #{startDate, jdbcType=DATE}
</if>
<if
test=
"endDate != null"
>
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_lev1
=#{ladwdm, jdbcType=VARCHAR}
or code_lev2 =#{ladwdm, jdbcType=VARCHAR} or code_lev3 =#{ladwdm, jdbcType=VARCHAR}
or code_lev4 =#{ladwdm, jdbcType=VARCHAR} or code_lev5 =#{ladwdm, jdbcType=VARCHAR}
)
</if>
and th.thbh in (
select thbh
from tb_yw_shse_thglasj thaj
<where>
1 = 1
<if
test=
"ajlbdm != null and ajlbdm != ''"
>
and thaj.AJLBDM = #{ajlbdm}
</if>
<if
test=
"ajmc != null and ajmc != ''"
>
thaj.AJMC like '%${ajmc}%'
</if>
<if
test=
"startDate != null"
>
and thaj.LARQ >= #{startDate, jdbcType=DATE}
</if>
<if
test=
"endDate != null"
>
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_LEV1
=#{ladwdm, jdbcType=VARCHAR}
or CODE_LEV2 =#{ladwdm, jdbcType=VARCHAR} or CODE_LEV3 =#{ladwdm, jdbcType=VARCHAR}
or CODE_LEV4 =#{ladwdm, jdbcType=VARCHAR} or CODE_LEV5 =#{ladwdm, jdbcType=VARCHAR}
)
</if>
</where>
)
</if>
</where>
)
</if>
</where>
</select>
limit #{page},#{limit}
</select>
<select
id=
"queryAjypfxCount"
resultType=
"java.lang.Integer"
>
select count(th.THBH)
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>
)
...
...
@@ -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