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
ecf3fb58
Commit
ecf3fb58
authored
Nov 10, 2023
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
多维相关提交(湖南)
parent
d7e0f34a
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
2208 additions
and
203 deletions
+2208
-203
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/GlgxData.java
+25
-0
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/JdfxResult.java
+42
-0
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/Kshpropertice.java
+1
-0
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/Linkspropertice.java
+9
-2
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/SysGnsyrzServerApi.java
+204
-0
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/XyrParam.java
+66
-0
common/common_utils/src/main/java/com/founder/commonutils/model/vo/param/TbStAsjParm.java
+1
-1
common/common_utils/src/main/java/com/founder/commonutils/util/HttpClient.java
+58
-4
common/service_base/src/main/java/com/founder/servicebase/config/TokenConfig.java
+1
-1
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/KshSlServiceController.java
+1295
-51
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/LogUtil.java
+88
-0
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/LogsUtil.java
+41
-0
service/publicapi/src/main/java/com/founder/publicapi/controller/SkInterface/GlgxInterface.java
+1
-1
service/publicapi/src/main/java/com/founder/publicapi/controller/SkInterface/TsinfoController.java
+131
-72
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/SysGnsyrzServerApiMapper.java
+14
-0
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/SysGnsyrzServerApiMapper.xml
+58
-0
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/TbStAsjMapper.xml
+2
-2
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/TbStAsjServiceImpl.java
+6
-6
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/ZtypServiceImpl.java
+1
-1
service/publicapi/src/main/resources/data/getSmgl.json
+64
-62
service/publicapi/src/main/resources/data/getZjl.json
+100
-0
No files found.
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/GlgxData.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
hnkshEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"可视化GlgxData"
,
description
=
""
)
public
class
GlgxData
{
@ApiModelProperty
(
value
=
"标识号"
)
private
String
bsh
;
@ApiModelProperty
(
value
=
"标识号类型"
)
private
String
bshlx
;
@ApiModelProperty
(
value
=
"关联标识号"
)
private
String
glbsh
;
@ApiModelProperty
(
value
=
"关联标识号类型"
)
private
String
glbshlx
;
@ApiModelProperty
(
value
=
"数据来源"
)
private
String
sjly
;
@ApiModelProperty
(
value
=
"关联类型"
)
private
String
glgx
;
@ApiModelProperty
(
value
=
"关联时间"
)
private
String
glsj
;
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/JdfxResult.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
hnkshEntity
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
JdfxResult
{
private
List
<
RealDataMaplist
>
realDataMaplist
;
private
JjdzMap
jjdzMap
;
private
SjdzMap
sjdzMap
;
@Data
public
static
class
RealDataMaplist
{
private
String
sead
;
private
String
rece
;
private
String
read
;
private
String
nasp
;
private
String
fitm
;
private
String
fnsp
;
private
String
latm
;
private
String
entm
;
private
String
dvnm
;
private
String
reph
;
private
String
seph
;
}
@Data
public
static
class
JjdzMap
{
private
String
sjh
;
private
List
btjjdz
;
private
String
btjjdzSum
;
}
@Data
public
static
class
SjdzMap
{
private
String
sjh
;
private
List
btsjdz
;
private
String
btsjdzSum
;
}
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/Kshpropertice.java
View file @
ecf3fb58
...
...
@@ -13,5 +13,6 @@ public class Kshpropertice implements Serializable {
private
String
imgType
;
private
String
boderColor
;
private
String
imagePhoto
;
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/Linkspropertice.java
View file @
ecf3fb58
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
hnkshEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
public
class
Linkspropertice
implements
Serializable
{
@ApiModelProperty
(
value
=
"时间"
)
private
String
time
;
@ApiModelProperty
(
value
=
"标识号"
)
private
String
source
;
@ApiModelProperty
(
value
=
"关联标识号"
)
private
String
target
;
@ApiModelProperty
(
value
=
"关系"
)
private
String
label
;
@ApiModelProperty
(
value
=
"关联关系data"
)
private
List
<
GlgxData
>
glgxData
;
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/SysGnsyrzServerApi.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
hnkshEntity
;
import
java.util.Date
;
public
class
SysGnsyrzServerApi
{
private
String
rzlsh
;
//日志流水号
private
Date
fwsj
;
//访问时间
private
String
yymcJyqk
;
//应用名称
private
String
yhGmsfhm
;
//用户公民身份证号
private
String
yhIp
;
//用户ip
private
String
yhdwGajgjgdm
;
//用户单位
private
String
yhdwGajgmc
;
//用户单位名称
private
String
czlxdm
;
//操作类型代码,01 查询类,02 新增信息类,03 修改信息类,04删除信息类,09登录
private
String
czxxJyqk
;
//操作信息
private
String
xxscPdbz
;
//是否删除标志
private
String
xxdjdwGajgjgdm
;
//信息登记单位
private
String
xxdjdwGajgmc
;
//信息登记单位名称
private
String
xxdjryXm
;
//信息登记人
private
String
xxdjryGmsfhm
;
//信息登记证件号码
private
String
xxdjryLxdh
;
//信息登记联系电话
private
Date
djsj
;
//登记时间
private
String
xxczdwGajgjgdm
;
//信息操作单位
private
String
xxczdwGajgmc
;
//信息操作单位名称
private
String
xxczryXm
;
//信息操作人
private
String
xxczryGmsfhm
;
//信息操作证件号码
private
Date
gxsj
;
//更新时间
private
String
xxlyms
;
//信息来源描述
public
SysGnsyrzServerApi
(){}
public
String
getRzlsh
()
{
return
rzlsh
;
}
public
void
setRzlsh
(
String
rzlsh
)
{
this
.
rzlsh
=
rzlsh
;
}
public
Date
getFwsj
()
{
return
fwsj
;
}
public
void
setFwsj
(
Date
fwsj
)
{
this
.
fwsj
=
fwsj
;
}
public
String
getYymcJyqk
()
{
return
yymcJyqk
;
}
public
void
setYymcJyqk
(
String
yymcJyqk
)
{
this
.
yymcJyqk
=
yymcJyqk
;
}
public
String
getYhGmsfhm
()
{
return
yhGmsfhm
;
}
public
void
setYhGmsfhm
(
String
yhGmsfhm
)
{
this
.
yhGmsfhm
=
yhGmsfhm
;
}
public
String
getYhIp
()
{
return
yhIp
;
}
public
void
setYhIp
(
String
yhIp
)
{
this
.
yhIp
=
yhIp
;
}
public
String
getYhdwGajgjgdm
()
{
return
yhdwGajgjgdm
;
}
public
void
setYhdwGajgjgdm
(
String
yhdwGajgjgdm
)
{
this
.
yhdwGajgjgdm
=
yhdwGajgjgdm
;
}
public
String
getYhdwGajgmc
()
{
return
yhdwGajgmc
;
}
public
void
setYhdwGajgmc
(
String
yhdwGajgmc
)
{
this
.
yhdwGajgmc
=
yhdwGajgmc
;
}
public
String
getCzlxdm
()
{
return
czlxdm
;
}
public
void
setCzlxdm
(
String
czlxdm
)
{
this
.
czlxdm
=
czlxdm
;
}
public
String
getCzxxJyqk
()
{
return
czxxJyqk
;
}
public
void
setCzxxJyqk
(
String
czxxJyqk
)
{
this
.
czxxJyqk
=
czxxJyqk
;
}
public
String
getXxscPdbz
()
{
return
xxscPdbz
;
}
public
void
setXxscPdbz
(
String
xxscPdbz
)
{
this
.
xxscPdbz
=
xxscPdbz
;
}
public
String
getXxdjdwGajgjgdm
()
{
return
xxdjdwGajgjgdm
;
}
public
void
setXxdjdwGajgjgdm
(
String
xxdjdwGajgjgdm
)
{
this
.
xxdjdwGajgjgdm
=
xxdjdwGajgjgdm
;
}
public
String
getXxdjdwGajgmc
()
{
return
xxdjdwGajgmc
;
}
public
void
setXxdjdwGajgmc
(
String
xxdjdwGajgmc
)
{
this
.
xxdjdwGajgmc
=
xxdjdwGajgmc
;
}
public
String
getXxdjryXm
()
{
return
xxdjryXm
;
}
public
void
setXxdjryXm
(
String
xxdjryXm
)
{
this
.
xxdjryXm
=
xxdjryXm
;
}
public
String
getXxdjryGmsfhm
()
{
return
xxdjryGmsfhm
;
}
public
void
setXxdjryGmsfhm
(
String
xxdjryGmsfhm
)
{
this
.
xxdjryGmsfhm
=
xxdjryGmsfhm
;
}
public
String
getXxdjryLxdh
()
{
return
xxdjryLxdh
;
}
public
void
setXxdjryLxdh
(
String
xxdjryLxdh
)
{
this
.
xxdjryLxdh
=
xxdjryLxdh
;
}
public
Date
getDjsj
()
{
return
djsj
;
}
public
void
setDjsj
(
Date
djsj
)
{
this
.
djsj
=
djsj
;
}
public
String
getXxczdwGajgjgdm
()
{
return
xxczdwGajgjgdm
;
}
public
void
setXxczdwGajgjgdm
(
String
xxczdwGajgjgdm
)
{
this
.
xxczdwGajgjgdm
=
xxczdwGajgjgdm
;
}
public
String
getXxczdwGajgmc
()
{
return
xxczdwGajgmc
;
}
public
void
setXxczdwGajgmc
(
String
xxczdwGajgmc
)
{
this
.
xxczdwGajgmc
=
xxczdwGajgmc
;
}
public
String
getXxczryXm
()
{
return
xxczryXm
;
}
public
void
setXxczryXm
(
String
xxczryXm
)
{
this
.
xxczryXm
=
xxczryXm
;
}
public
String
getXxczryGmsfhm
()
{
return
xxczryGmsfhm
;
}
public
void
setXxczryGmsfhm
(
String
xxczryGmsfhm
)
{
this
.
xxczryGmsfhm
=
xxczryGmsfhm
;
}
public
Date
getGxsj
()
{
return
gxsj
;
}
public
void
setGxsj
(
Date
gxsj
)
{
this
.
gxsj
=
gxsj
;
}
public
String
getXxlyms
()
{
return
xxlyms
;
}
public
void
setXxlyms
(
String
xxlyms
)
{
this
.
xxlyms
=
xxlyms
;
}
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/hnkshEntity/XyrParam.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
hnkshEntity
;
import
lombok.Data
;
@Data
public
class
XyrParam
{
private
String
xm
;
/**
* 证件号码
*/
private
String
zjhm
;
private
String
xbdm
;
private
String
zhrqKssj
;
private
String
zhrqJssj
;
/**
* 开始时间
*/
private
String
kssj
;
/**
* 结束时间
*/
private
String
jssj
;
private
String
zhdwdm
;
private
String
xzzmc
;
private
String
csrqKssj
;
private
String
csrqJssj
;
private
String
gjdm
;
private
String
mzdm
;
private
String
hjdqhdm
;
private
String
hjdmc
;
/**
*车牌号码
*/
private
String
cphm
;
private
String
asjbh
;
/**
* 手机号码
*/
private
String
sjhm
;
private
String
startDate
;
private
String
endDate
;
private
int
page
=
1
;
private
int
limit
=
10
;
private
int
rows
=
10
;
private
long
intervalTime
=
10
;
private
int
no
=
2
;
private
long
time
=
10
;
private
int
threadPageSize
=
1
;
private
String
gxrZjhm
;
private
String
type
;
}
common/common_utils/src/main/java/com/founder/commonutils/model/vo/param/TbStAsjParm.java
View file @
ecf3fb58
...
...
@@ -52,7 +52,7 @@ public class TbStAsjParm implements Serializable {
private
String
ajlbdm
;
@ApiModelProperty
(
value
=
"小案类别代码"
)
private
String
zatz
J
yqk
;
private
String
zatz
j
yqk
;
@ApiModelProperty
(
value
=
"案件细类别代码"
)
private
String
ajxlb
;
...
...
common/common_utils/src/main/java/com/founder/commonutils/util/HttpClient.java
View file @
ecf3fb58
...
...
@@ -6,14 +6,21 @@ import org.apache.http.client.config.RequestConfig;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.protocol.ClientContext
;
import
org.apache.http.client.protocol.HttpClientContext
;
import
org.apache.http.client.utils.URIBuilder
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.BasicCookieStore
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.cookie.BasicClientCookie
;
import
org.apache.http.protocol.BasicHttpContext
;
import
org.apache.http.protocol.HttpContext
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.net.CookieStore
;
import
java.net.URI
;
import
java.util.*
;
...
...
@@ -81,14 +88,18 @@ public class HttpClient {
* @param json
* @return {username:"",pass:""}
*/
public
static
JSONObject
doPostJsonHunanTs
(
String
url
,
String
json
)
throws
Exception
{
public
static
JSONObject
doPostJsonHunanTs
(
String
url
,
String
json
,
String
cookieName
,
String
cookieValue
)
throws
Exception
{
// post请求返回结果
CloseableHttpClient
httpClient
=
HttpClients
.
createDefault
();
JSONObject
jsonResult
=
null
;
HttpPost
httpPost
=
new
HttpPost
(
url
);
// 设置请求和传输超时时间
// 设置请求和传输超时时间
以及cookie
httpPost
.
setConfig
(
requestConfig
);
httpPost
.
setHeader
(
"founder.authorization"
,
"Basic 9b6c45cfcf3a4a629e3ed90fa3e5d058"
);
BasicCookieStore
cookieStore
=
new
BasicCookieStore
();
BasicClientCookie
cookie
=
new
BasicClientCookie
(
cookieName
,
cookieValue
);
cookieStore
.
addCookie
(
cookie
);
HttpContext
httpContext
=
new
BasicHttpContext
();
httpContext
.
setAttribute
(
HttpClientContext
.
COOKIE_STORE
,
cookieStore
);
try
{
//设置参数解决中文乱码
if
(
null
!=
json
){
...
...
@@ -98,7 +109,7 @@ public class HttpClient {
httpPost
.
setEntity
(
entity
);
}
//发送请求
CloseableHttpResponse
result
=
httpClient
.
execute
(
httpPost
);
CloseableHttpResponse
result
=
httpClient
.
execute
(
httpPost
,
httpContext
);
System
.
out
.
println
(
"StatusCode===="
+
result
.
getStatusLine
().
getStatusCode
());
if
(
result
.
getStatusLine
().
getStatusCode
()
==
HttpStatus
.
SC_OK
){
// 读取服务器返回的json数据(然后解析)
...
...
@@ -157,4 +168,47 @@ public class HttpClient {
}
return
resultString
;
}
/**
* 请求的参数类型为json
* @param url
* @param json
* @return {username:"",pass:""}
*/
public
static
String
doPostJson
(
String
url
,
Map
<
String
,
String
>
headers
,
String
json
)
throws
Exception
{
// post请求返回结果
CloseableHttpClient
httpClient
=
HttpClients
.
createDefault
();
String
jsonResult
=
null
;
System
.
out
.
println
(
url
);
HttpPost
httpPost
=
new
HttpPost
(
url
);
// 设置请求和传输超时时间
httpPost
.
setConfig
(
requestConfig
);
if
(
headers
!=
null
)
{
for
(
String
key
:
headers
.
keySet
())
{
httpPost
.
setHeader
(
key
,
headers
.
get
(
key
));
}
}
try
{
//设置参数解决中文乱码
if
(
null
!=
json
){
StringEntity
entity
=
new
StringEntity
(
json
,
"utf-8"
);
entity
.
setContentEncoding
(
"UTF-8"
);
entity
.
setContentType
(
"application/json"
);
httpPost
.
setEntity
(
entity
);
}
//发送请求
CloseableHttpResponse
result
=
httpClient
.
execute
(
httpPost
);
if
(
result
.
getStatusLine
().
getStatusCode
()
==
HttpStatus
.
SC_OK
){
// 读取服务器返回的json数据(然后解析)
jsonResult
=
EntityUtils
.
toString
(
result
.
getEntity
(),
"utf-8"
);
}
else
{
return
null
;
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
Exception
();
}
finally
{
httpPost
.
releaseConnection
();
}
return
jsonResult
;
}
}
common/service_base/src/main/java/com/founder/servicebase/config/TokenConfig.java
View file @
ecf3fb58
...
...
@@ -26,7 +26,7 @@ public class TokenConfig implements WebMvcConfigurer {
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
String
[]
excludePatterns
=
new
String
[]{
"/swagger-resources/**"
,
"/webjars/**"
,
"/v2/**"
,
"/swagger-ui.html/**"
,
"/api"
,
"/api-docs"
,
"/api-docs/**"
,
"/doc.html/**"
,
"/koTime/**"
};
"/api"
,
"/api-docs"
,
"/api-docs/**"
,
"/doc.html/**"
,
"/koTime/**"
,
"/exportTsHn/export"
};
registry
.
addInterceptor
(
tokenInterceptor
)
.
addPathPatterns
(
"/**"
)
//指定该类拦截的url
.
excludePathPatterns
(
skInterceptorController
.
findAllUrl
())
...
...
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/KshSlServiceController.java
View file @
ecf3fb58
package
com
.
founder
.
publicapi
.
controller
.
KshService
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.founder.commonutils.model.asjEntity.TbStAsj
;
import
com.founder.commonutils.model.newPublicEntity.MapRestResult
;
import
com.founder.commonutils.model.newPublicEntity.RyAndAjEntity.TbXwZbfzxyr
;
import
com.founder.commonutils.model.newPublicEntity.RyAndAjEntity.TbYwXszDwcbgx
;
import
com.founder.commonutils.model.newPublicEntity.SkRegionalsPerson
;
import
com.founder.commonutils.model.newPublicEntity.SysUser
;
import
com.founder.commonutils.model.newPublicEntity.TbStRy
;
import
com.founder.commonutils.model.newPublicEntity.hnkshEntity.*
;
import
com.founder.commonutils.model.newPublicEntity.ztypEntity.NaoTuHdXx
;
import
com.founder.commonutils.model.vo.response.SkRelatedResultInterFace
;
import
com.founder.commonutils.
util.HttpClient
;
import
com.founder.commonutils.util.
StringUtil
;
import
com.founder.commonutils.
model.vo.response.SkRelatedResultVO
;
import
com.founder.commonutils.util.
*
;
import
com.founder.publicapi.mapper.mysqlMapper.TbStAsjMapper
;
import
com.founder.publicapi.mapper.mysqlMapper.TbYwXszDwcbgxMapper
;
import
com.founder.publicapi.mapper.mysqlMapper.ZbFzxyrDataMapper
;
...
...
@@ -17,15 +23,32 @@ import com.founder.servicebase.logs.OperLog;
import
com.founder.servicebase.logs.OperationType
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang.StringUtils
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentHelper
;
import
org.dom4j.Element
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
static
com
.
founder
.
publicapi
.
controller
.
SkInterface
.
InterfaceAPI
.
objTurnStr
;
import
static
java
.
util
.
stream
.
Collectors
.
collectingAndThen
;
import
static
java
.
util
.
stream
.
Collectors
.
toCollection
;
/**
* 可视化算例6个接口
...
...
@@ -46,12 +69,19 @@ public class KshSlServiceController {
private
String
ZjhmBysjhm
;
// 通过手机获取证件号码信息
@Value
(
"${thgxUrl}"
)
private
String
thgxUrl
;
// 同户关系
@Value
(
"${hdUrl}"
)
private
String
hdUrl
;
// 通过手机获取证件号码信息
@Autowired
LogUtil
logUtil
;
@Autowired
TbStAsjMapper
tbStAsjMapper
;
@Autowired
ZbFzxyrDataMapper
zbFzxyrDataMapper
;
@Autowired
TbYwXszDwcbgxMapper
tbYwXszDwcbgxMapper
;
@Autowired
private
StringRedisTemplate
redisTemplate
;
// 算例读取json的 用json文件
/* 可视化算例5个接口(返回数据格式和算例一致均为一级下挖):
1、人案关联(人查案、案查人) 人表:tb_xw_zbfzxyr 两表通过asjbh关联查询 只要asjbh
...
...
@@ -69,7 +99,7 @@ public class KshSlServiceController {
Hnkshresult
result1
=
new
Hnkshresult
();
if
(
objectType
.
equals
(
"idcard"
)
&&
!
StringUtil
.
isEmpty
(
objectValue
))
{
QueryWrapper
<
TbXwZbfzxyr
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
select
(
"asjbh"
,
"zhrq"
).
eq
(
"zhfzxyr_cyzj_zjhm"
,
objectValue
);
wrapper
.
select
(
"asjbh"
,
"zhrq"
).
eq
(
"zhfzxyr_cyzj_zjhm"
,
objectValue
);
List
<
TbXwZbfzxyr
>
sfzfindasj
=
zbFzxyrDataMapper
.
selectList
(
wrapper
);
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
...
...
@@ -112,7 +142,7 @@ public class KshSlServiceController {
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
if
(
objectType
.
equals
(
"aj"
)
&&
!
StringUtil
.
isEmpty
(
objectValue
))
{
QueryWrapper
<
TbXwZbfzxyr
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
select
(
"zhfzxyr_cyzj_zjhm"
,
"zhrq"
).
eq
(
"asjbh"
,
objectValue
);
wrapper1
.
select
(
"zhfzxyr_cyzj_zjhm"
,
"zhrq"
).
eq
(
"asjbh"
,
objectValue
);
List
<
TbXwZbfzxyr
>
AfindR
=
zbFzxyrDataMapper
.
selectList
(
wrapper1
);
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
...
...
@@ -176,7 +206,7 @@ public class KshSlServiceController {
for
(
TbXwZbfzxyr
asj
:
sfzfindasj
)
{
String
asjbh
=
asj
.
getAsjbh
();
QueryWrapper
<
TbXwZbfzxyr
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
select
(
"zhfzxyr_cyzj_zjhm"
,
"zhrq"
).
eq
(
"asjbh"
,
asjbh
);
wrapper1
.
select
(
"zhfzxyr_cyzj_zjhm"
,
"zhrq"
).
eq
(
"asjbh"
,
asjbh
);
List
<
TbXwZbfzxyr
>
AfindR
=
zbFzxyrDataMapper
.
selectList
(
wrapper1
);
// 案查人 遍历 这个案件底下有多少人
for
(
TbXwZbfzxyr
sfz
:
AfindR
)
{
...
...
@@ -336,7 +366,7 @@ public class KshSlServiceController {
}
else
{
return
new
MapRestResult
().
error
(
"无信息"
);
}
if
(
nodes
.
size
()>
0
&&
re
.
size
()>
0
)
{
if
(
nodes
.
size
()
>
0
&&
re
.
size
()
>
0
)
{
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
...
...
@@ -453,7 +483,7 @@ public class KshSlServiceController {
}
else
{
return
new
MapRestResult
().
error
(
"无信息"
);
}
if
(
nodes
.
size
()>
0
&&
re
.
size
()>
0
)
{
if
(
nodes
.
size
()
>
0
&&
re
.
size
()
>
0
)
{
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
...
...
@@ -650,7 +680,7 @@ public class KshSlServiceController {
}
else
{
return
new
MapRestResult
().
error
(
"无信息"
);
}
if
(
nodes
.
size
()>
0
&&
re
.
size
()>
0
)
{
if
(
nodes
.
size
()
>
0
&&
re
.
size
()
>
0
)
{
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
...
...
@@ -667,20 +697,20 @@ public class KshSlServiceController {
@OperLog
(
message
=
"多维串并串并算例"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/cbsl"
)
@ApiOperation
(
value
=
"多维串并串并算例"
)
public
MapRestResult
cbsl
(
String
objectValue
,
String
objectType
)
{
public
MapRestResult
cbsl
(
String
objectValue
,
String
objectType
)
{
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
links
=
new
ArrayList
<>();
if
(
objectType
.
equals
(
"aj"
)
&&
!
StringUtil
.
isEmpty
(
objectValue
)){
List
<
kshlinks
>
links
=
new
ArrayList
<>();
if
(
objectType
.
equals
(
"aj"
)
&&
!
StringUtil
.
isEmpty
(
objectValue
))
{
QueryWrapper
<
TbYwXszDwcbgx
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
select
(
"DISTINCT WZXX"
).
eq
(
"ASJBH"
,
objectValue
);
wrapper
.
select
(
"DISTINCT WZXX"
).
eq
(
"ASJBH"
,
objectValue
);
List
<
TbYwXszDwcbgx
>
tbYwXszDwcbgxes
=
tbYwXszDwcbgxMapper
.
selectList
(
wrapper
);
for
(
TbYwXszDwcbgx
tbYwXszDwcbgx
:
tbYwXszDwcbgxes
)
{
String
st1
=
tbYwXszDwcbgx
.
getWZXX
();
String
wzxx
=
st1
.
substring
(
st1
.
indexOf
(
"("
)
+
1
,
st1
.
indexOf
(
")"
));
String
wzxx
=
st1
.
substring
(
st1
.
indexOf
(
"("
)
+
1
,
st1
.
indexOf
(
")"
));
// nodes
HnTbStRygxDTO
mergeDTOgjd
=
new
HnTbStRygxDTO
();
mergeDTOgjd
.
setId
(
wzxx
);
...
...
@@ -688,13 +718,13 @@ public class KshSlServiceController {
Kshpropertice
kshpropertice
=
new
Kshpropertice
();
kshpropertice
.
setId
(
wzxx
);
kshpropertice
.
setLabel
(
wzxx
);
if
(
st1
.
contains
(
"指纹"
)){
if
(
st1
.
contains
(
"指纹"
))
{
kshpropertice
.
setImgType
(
"fingerprint"
);
}
else
if
(
st1
.
contains
(
"DNA"
))
{
}
else
if
(
st1
.
contains
(
"DNA"
))
{
kshpropertice
.
setImgType
(
"dna"
);
}
else
if
(
st1
.
contains
(
"足迹"
))
{
}
else
if
(
st1
.
contains
(
"足迹"
))
{
kshpropertice
.
setImgType
(
"other"
);
}
else
{
}
else
{
kshpropertice
.
setImgType
(
"other"
);
}
kshpropertice
.
setBoderColor
(
null
);
...
...
@@ -706,16 +736,16 @@ public class KshSlServiceController {
kshlink
.
setSource
(
objectValue
);
kshlink
.
setTarget
(
wzxx
);
Linkspropertice
linkspropertice
=
new
Linkspropertice
();
if
(
st1
.
contains
(
"指纹"
)){
if
(
st1
.
contains
(
"指纹"
))
{
kshlink
.
setLabel
(
"指纹物证"
);
linkspropertice
.
setLabel
(
"指纹物证"
);
}
else
if
(
st1
.
contains
(
"DNA"
))
{
}
else
if
(
st1
.
contains
(
"DNA"
))
{
kshlink
.
setLabel
(
"DNA物证"
);
linkspropertice
.
setLabel
(
"DNA物证"
);
}
else
if
(
st1
.
contains
(
"足迹"
))
{
}
else
if
(
st1
.
contains
(
"足迹"
))
{
kshlink
.
setLabel
(
"足迹物证"
);
linkspropertice
.
setLabel
(
"足迹物证"
);
}
else
{
}
else
{
kshpropertice
.
setImgType
(
"其他物证"
);
linkspropertice
.
setLabel
(
"其他物证"
);
}
...
...
@@ -730,15 +760,14 @@ public class KshSlServiceController {
dataSumup
.
setName
(
"串并算例"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
if
(
objectType
.
equals
(
"idcard"
)
&&
!
StringUtil
.
isEmpty
(
objectValue
)){
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
if
(
objectType
.
equals
(
"idcard"
)
&&
!
StringUtil
.
isEmpty
(
objectValue
))
{
QueryWrapper
<
TbYwXszDwcbgx
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
select
(
"DISTINCT WZXX"
).
like
(
"RYXX"
,
objectValue
);
wrapper1
.
select
(
"DISTINCT WZXX"
).
like
(
"RYXX"
,
objectValue
);
List
<
TbYwXszDwcbgx
>
tbYwXszDwcbgxes
=
tbYwXszDwcbgxMapper
.
selectList
(
wrapper1
);
for
(
TbYwXszDwcbgx
tbYwXszDwcbgx
:
tbYwXszDwcbgxes
)
{
String
st1
=
tbYwXszDwcbgx
.
getWZXX
();
String
wzxx
=
st1
.
substring
(
st1
.
indexOf
(
"("
)
+
1
,
st1
.
indexOf
(
")"
));
String
wzxx
=
st1
.
substring
(
st1
.
indexOf
(
"("
)
+
1
,
st1
.
indexOf
(
")"
));
// nodes
HnTbStRygxDTO
mergeDTOgjd
=
new
HnTbStRygxDTO
();
mergeDTOgjd
.
setId
(
wzxx
);
...
...
@@ -746,14 +775,14 @@ public class KshSlServiceController {
Kshpropertice
kshpropertice
=
new
Kshpropertice
();
kshpropertice
.
setId
(
wzxx
);
kshpropertice
.
setLabel
(
wzxx
);
if
(
st1
.
contains
(
"指纹"
)){
if
(
st1
.
contains
(
"指纹"
))
{
kshpropertice
.
setImgType
(
"fingerprint"
);
}
else
if
(
st1
.
contains
(
"DNA"
))
{
}
else
if
(
st1
.
contains
(
"DNA"
))
{
kshpropertice
.
setImgType
(
"dna"
);
}
else
if
(
st1
.
contains
(
"足迹"
))
{
}
else
if
(
st1
.
contains
(
"足迹"
))
{
kshpropertice
.
setImgType
(
"other"
);
}
else
{
}
else
{
kshpropertice
.
setImgType
(
"other"
);
}
kshpropertice
.
setBoderColor
(
null
);
...
...
@@ -765,16 +794,16 @@ public class KshSlServiceController {
kshlink
.
setSource
(
objectValue
);
kshlink
.
setTarget
(
wzxx
);
Linkspropertice
linkspropertice
=
new
Linkspropertice
();
if
(
st1
.
contains
(
"指纹"
)){
if
(
st1
.
contains
(
"指纹"
))
{
kshlink
.
setLabel
(
"指纹物证"
);
linkspropertice
.
setLabel
(
"指纹物证"
);
}
else
if
(
st1
.
contains
(
"DNA"
))
{
}
else
if
(
st1
.
contains
(
"DNA"
))
{
kshlink
.
setLabel
(
"DNA物证"
);
linkspropertice
.
setLabel
(
"DNA物证"
);
}
else
if
(
st1
.
contains
(
"足迹"
))
{
}
else
if
(
st1
.
contains
(
"足迹"
))
{
kshlink
.
setLabel
(
"足迹物证"
);
linkspropertice
.
setLabel
(
"足迹物证"
);
}
else
{
}
else
{
kshlink
.
setLabel
(
"其他物证"
);
linkspropertice
.
setLabel
(
"其他物证"
);
}
...
...
@@ -789,11 +818,10 @@ public class KshSlServiceController {
dataSumup
.
setName
(
"串并算例"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
if
((
objectType
.
equals
(
"fingerprint"
)||
objectType
.
equals
(
"dna"
))
&&
!
StringUtil
.
isEmpty
(
objectValue
)){
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
if
((
objectType
.
equals
(
"fingerprint"
)
||
objectType
.
equals
(
"dna"
))
&&
!
StringUtil
.
isEmpty
(
objectValue
))
{
QueryWrapper
<
TbYwXszDwcbgx
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
like
(
"WZXX"
,
objectValue
);
wrapper1
.
like
(
"WZXX"
,
objectValue
);
List
<
TbYwXszDwcbgx
>
tbYwXszDwcbgxes
=
tbYwXszDwcbgxMapper
.
selectList
(
wrapper1
);
Set
ryxxAndasjbh
=
new
HashSet
();
for
(
TbYwXszDwcbgx
tbYwXszDwcbgx
:
tbYwXszDwcbgxes
)
{
...
...
@@ -802,11 +830,11 @@ public class KshSlServiceController {
}
for
(
Object
o
:
ryxxAndasjbh
)
{
String
st1
=
o
.
toString
();
String
s
=
null
;
if
(
st1
.
contains
(
"("
)
&&
st1
.
contains
(
")"
))
{
s
=
st1
.
substring
(
st1
.
indexOf
(
"("
)
+
1
,
st1
.
indexOf
(
")"
));
}
else
{
s
=
st1
;
String
s
=
null
;
if
(
st1
.
contains
(
"("
)
&&
st1
.
contains
(
")"
))
{
s
=
st1
.
substring
(
st1
.
indexOf
(
"("
)
+
1
,
st1
.
indexOf
(
")"
));
}
else
{
s
=
st1
;
}
// nodes
HnTbStRygxDTO
mergeDTOgjd
=
new
HnTbStRygxDTO
();
...
...
@@ -815,9 +843,9 @@ public class KshSlServiceController {
Kshpropertice
kshpropertice
=
new
Kshpropertice
();
kshpropertice
.
setId
(
s
);
kshpropertice
.
setLabel
(
s
);
if
(
s
.
contains
(
"A"
)){
if
(
s
.
contains
(
"A"
))
{
kshpropertice
.
setImgType
(
"aj"
);
}
else
{
}
else
{
kshpropertice
.
setImgType
(
"idcard"
);
}
kshpropertice
.
setBoderColor
(
null
);
...
...
@@ -829,10 +857,10 @@ public class KshSlServiceController {
kshlink
.
setSource
(
objectValue
);
kshlink
.
setTarget
(
s
);
Linkspropertice
linkspropertice
=
new
Linkspropertice
();
if
(
s
.
contains
(
"A"
)){
if
(
s
.
contains
(
"A"
))
{
kshlink
.
setLabel
(
"案件编号"
);
linkspropertice
.
setLabel
(
"案件编号"
);
}
else
{
}
else
{
kshlink
.
setLabel
(
"人员信息"
);
linkspropertice
.
setLabel
(
"人员信息"
);
}
...
...
@@ -847,18 +875,769 @@ public class KshSlServiceController {
dataSumup
.
setName
(
"串并算例"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
{
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
{
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
links
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"串并算例"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
}
//通过身份证号查询人员亲属关系信息
@OperLog
(
message
=
"家谱关系"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/jpgx"
)
@ApiOperation
(
value
=
"家谱关系"
)
public
MapRestResult
jpgx
(
String
sfzh
,
HttpServletRequest
request
)
{
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
try
{
HttpClient
httpClientCar
=
new
HttpClient
();
JSONObject
paramsCar
=
new
JSONObject
();
paramsCar
.
put
(
"zjhm"
,
sfzh
);
JSONObject
resultInterface
=
httpClientCar
.
doPostJsonHunan
(
hunanUrl
+
thgxUrl
,
paramsCar
.
toJSONString
());
if
(
null
!=
resultInterface
)
{
// 解析返回结果
if
(
"success"
.
equals
(
resultInterface
.
getString
(
"status"
)))
{
JSONArray
jsonArray
=
JSONObject
.
parseObject
(
resultInterface
.
get
(
"data"
).
toString
()).
getJSONArray
(
"rows"
);
if
(
jsonArray
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
obj
=
jsonArray
.
getJSONObject
(
i
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(!
sfzh
.
equals
(
obj
.
getString
(
"zjhm"
)))
{
String
name
=
obj
.
getString
(
"xm"
)
+
":"
+
obj
.
getString
(
"zjhm"
);
String
gx
=
obj
.
getString
(
"yhzgx"
);
HnTbStRygxDTO
node
=
node
(
name
,
gx
+
"\n"
+
name
,
"idcard"
,
getPhoto
(
obj
.
getString
(
"zjhm"
)),
null
);
nodes
.
add
(
node
);
sumup
.
add
(
name
);
kshlinks
link
=
link
(
sfzh
,
name
,
gx
,
null
,
sfzh
,
"idcard"
,
name
,
"idcard"
,
"科兴"
,
"家谱关系"
,
null
);
re
.
add
(
link
);
}
}
}
}
}
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"家谱关系"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"家谱接口异常"
+
e
);
}
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
// 通过身份证和时间段查询旅店同住宿人员频次等信息
@OperLog
(
message
=
"同住关系"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/tzgx"
)
@ApiOperation
(
value
=
"同住关系"
)
public
JSONObject
tzgx
(
String
objNum
,
String
resourceType
,
String
timeDiff
,
String
startTime
,
String
endTime
,
String
frequency
,
HttpServletRequest
request
)
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getTzgx.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
// 通过收寄件人手机号和时间段查询对应的时间范围内收寄件情况,以及人员、地址频次的分析结果,包括频繁变更收寄地址情况
@OperLog
(
message
=
"寄递分析"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/jdfx"
)
@ApiOperation
(
value
=
"寄递分析"
)
public
MapRestResult
jdfx
(
String
sjh
,
String
timeStart
,
String
timeEnd
,
HttpServletRequest
request
)
{
XyrParam
xyrParam
=
new
XyrParam
();
xyrParam
.
setSjhm
(
sjh
);
xyrParam
.
setKssj
(
timeStart
);
xyrParam
.
setJssj
(
timeEnd
);
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
Hnkshresult
result
=
new
Hnkshresult
();
List
<
JdfxResult
.
RealDataMaplist
>
objects
=
new
ArrayList
<>();
JSONObject
jsonObject
=
null
;
try
{
Map
<
String
,
String
>
headers
=
initHttpXmlHeads
();
String
bodyJson
=
"{\n"
+
" \"app_header\": {},\n"
+
" \"app_body\": {}}"
;
String
resultToken
=
""
;
resultToken
=
HttpClient
.
doPostJson
(
"http://65.26.106.40:8581/GatewayMsg/proxy/invoke/?SenderID=C43-00000005&ServiceID=S43-00000548&EndUser=李德书,432326197503264512,430000290000&InfoType=KHCX&InfoSet="
+
URLEncoder
.
encode
(
initKdConditionByZjhm
(
sjh
),
"UTF-8"
),
headers
,
bodyJson
);
int
total
=
0
;
logUtil
.
insertGNSYRZOPENAPI
(
"01"
,
"网技-快递信息"
,
LogsUtil
.
getNotEmptyFiled
(
xyrParam
).
toString
(),
""
,
""
,
"430000000000"
,
"湖南刑专平台"
,
""
,
NetworkUtil
.
getIpAddr
(
request
));
if
(
resultToken
!=
null
&&
!
""
.
equals
(
resultToken
))
{
jsonObject
=
xmltoJson
(
resultToken
);
System
.
out
.
println
(
jsonObject
.
toJSONString
());
JSONObject
results
=
jsonObject
.
getJSONObject
(
"Result"
);
JSONObject
datas
=
results
.
getJSONObject
(
"Datas"
);
JSONObject
ottoMsg
=
datas
.
getJSONObject
(
"OTTOMsg"
);
JSONObject
jdcx
=
ottoMsg
.
getJSONObject
(
"JDCX"
);
JSONObject
datalist
=
jdcx
.
getJSONObject
(
"datalist"
);
total
=
jdcx
.
getIntValue
(
"recordCount"
);
if
(
total
>
0
)
{
if
(
total
==
1
)
{
Map
<
String
,
Object
>
mapnr
=
new
HashMap
();
JSONObject
job
=
datalist
.
getJSONObject
(
"data"
);
String
senderAddress
=
job
.
getString
(
"senderAddress"
);
//发货地址
String
senderMobile
=
job
.
getString
(
"senderMobile"
);
//发货人电话
String
receiverName
=
job
.
getString
(
"receiverName"
);
//收货方姓名
String
companyName
=
job
.
getString
(
"companyName"
);
//寄递公司地址
String
receiverMobile
=
job
.
getString
(
"receiverMobile"
);
//收货方移动电话
String
senderCounty
=
job
.
getString
(
"senderCounty"
);
//发货方所在区县
String
senderNation
=
job
.
getString
(
"senderNation"
);
//发货方所在国家
String
senderProvince
=
job
.
getString
(
"senderProvince"
);
//发货方所在省份
String
senderCity
=
job
.
getString
(
"senderCity"
);
//发货方所在市
String
receiverAddress
=
job
.
getString
(
"receiverAddress"
);
//收货人详细地址
String
senderName
=
job
.
getString
(
"senderName"
);
//发货方姓名
String
ecOrderID
=
job
.
getString
(
"ecOrderID"
);
//订单号
String
goodsName
=
job
.
getString
(
"goodsName"
);
//物品名称
JdfxResult
.
RealDataMaplist
realDataMaplist
=
new
JdfxResult
.
RealDataMaplist
();
realDataMaplist
.
setRece
(
receiverName
);
// 收货方姓名
realDataMaplist
.
setRead
(
receiverAddress
);
// 收件者详细地址
realDataMaplist
.
setSead
(
senderAddress
);
// 收件者详细地址
realDataMaplist
.
setReph
(
receiverMobile
);
//收件者手机号码
realDataMaplist
.
setSeph
(
senderMobile
);
//寄件者手机号码
objects
.
add
(
realDataMaplist
);
}
else
{
JSONArray
list
=
datalist
.
getJSONArray
(
"data"
);
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
Map
<
String
,
Object
>
mapnr
=
new
HashMap
();
JSONObject
job
=
list
.
getJSONObject
(
i
);
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
// 得到 每个对象中的属性值
String
senderAddress
=
job
.
getString
(
"senderAddress"
);
//发货地址
String
senderMobile
=
job
.
getString
(
"senderMobile"
);
//发货人电话
String
receiverName
=
job
.
getString
(
"receiverName"
);
//收货方姓名
String
companyName
=
job
.
getString
(
"companyName"
);
//寄递公司地址
String
receiverMobile
=
job
.
getString
(
"receiverMobile"
);
//收货方移动电话
String
senderCounty
=
job
.
getString
(
"senderCounty"
);
//发货方所在区县
String
senderNation
=
job
.
getString
(
"senderNation"
);
//发货方所在国家
String
senderProvince
=
job
.
getString
(
"senderProvince"
);
//发货方所在省份
String
senderCity
=
job
.
getString
(
"senderCity"
);
//发货方所在市
String
receiverAddress
=
job
.
getString
(
"receiverAddress"
);
//收货人详细地址
String
senderName
=
job
.
getString
(
"senderName"
);
//发货方姓名
String
ecOrderID
=
job
.
getString
(
"ecOrderID"
);
//订单号
String
goodsName
=
job
.
getString
(
"goodsName"
);
//物品
JdfxResult
.
RealDataMaplist
realDataMaplist
=
new
JdfxResult
.
RealDataMaplist
();
realDataMaplist
.
setRece
(
receiverName
);
// 收货方姓名
realDataMaplist
.
setRead
(
receiverAddress
);
// 收件者详细地址
realDataMaplist
.
setSead
(
senderAddress
);
// 收件者详细地址
realDataMaplist
.
setReph
(
receiverMobile
);
//收件者手机号码
realDataMaplist
.
setSeph
(
senderMobile
);
//寄件者手机号码
objects
.
add
(
realDataMaplist
);
}
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(
objects
.
size
()
>
0
)
{
//根据收件者手机号码分组
Map
<
String
,
List
<
JdfxResult
.
RealDataMaplist
>>
collect1
=
objects
.
stream
().
filter
(
s
->
StringUtils
.
isNotEmpty
(
s
.
getReph
()))
.
collect
(
Collectors
.
groupingBy
(
JdfxResult
.
RealDataMaplist
::
getReph
));
//根据value的长度降序
LinkedHashMap
<
String
,
List
<
JdfxResult
.
RealDataMaplist
>>
collect
=
collect1
.
entrySet
().
stream
()
.
sorted
(
Comparator
.
comparing
((
Map
.
Entry
<
String
,
List
<
JdfxResult
.
RealDataMaplist
>>
e
)
->
e
.
getValue
().
size
()).
reversed
())
.
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
Map
.
Entry
::
getValue
,
(
v1
,
v2
)
->
v1
,
LinkedHashMap:
:
new
));
Set
<
String
>
strings
=
collect
.
keySet
();
int
i
=
0
;
for
(
String
string
:
strings
)
{
if
(!
sumup
.
contains
(
string
)
&&
!
string
.
equals
(
sjh
))
{
int
size
=
collect
.
get
(
string
).
size
();
//手机号出现的次数
String
reph
=
collect
.
get
(
string
).
get
(
0
).
getReph
();
//收件者手机号码
String
rece
=
collect
.
get
(
string
).
get
(
0
).
getRece
();
//收件者名称
HnTbStRygxDTO
node
=
node
(
reph
,
rece
+
"\n"
+
reph
,
"sjk"
,
null
,
null
);
nodes
.
add
(
node
);
sumup
.
add
(
reph
);
kshlinks
link
=
link
(
sjh
,
reph
,
"寄件"
+
size
+
"次"
,
null
,
sjh
,
"sjk"
,
reph
,
"sjk"
,
"科兴"
,
"寄递分析"
,
null
);
re
.
add
(
link
);
i
=
i
+
1
;
}
if
(
i
==
5
)
{
break
;
}
}
// 根据寄件者手机分组
Map
<
String
,
List
<
JdfxResult
.
RealDataMaplist
>>
collect3
=
objects
.
stream
().
filter
(
s
->
StringUtils
.
isNotEmpty
(
s
.
getSeph
()))
.
collect
(
Collectors
.
groupingBy
(
JdfxResult
.
RealDataMaplist
::
getSeph
));
//根据value的size降序
LinkedHashMap
<
String
,
List
<
JdfxResult
.
RealDataMaplist
>>
collect2
=
collect3
.
entrySet
().
stream
()
.
sorted
(
Comparator
.
comparing
((
Map
.
Entry
<
String
,
List
<
JdfxResult
.
RealDataMaplist
>>
e
)
->
e
.
getValue
().
size
()).
reversed
())
.
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
Map
.
Entry
::
getValue
,
(
v1
,
v2
)
->
v1
,
LinkedHashMap:
:
new
));
//获取分组降序后的key
Set
<
String
>
strings3
=
collect2
.
keySet
();
int
j
=
0
;
for
(
String
string
:
strings3
)
{
if
(!
sumup
.
contains
(
string
)
&&
!
string
.
equals
(
sjh
))
{
int
size
=
collect2
.
get
(
string
).
size
();
//手机号出现的次数
String
seph
=
collect2
.
get
(
string
).
get
(
0
).
getSeph
();
//寄件者手机号
String
entm
=
collect2
.
get
(
string
).
get
(
0
).
getEntm
();
//快递单号
HnTbStRygxDTO
node
=
node
(
seph
,
seph
,
"sjk"
,
null
,
null
);
nodes
.
add
(
node
);
sumup
.
add
(
seph
);
kshlinks
link
=
link
(
sjh
,
seph
,
"收件"
+
size
+
"次"
+
entm
,
entm
,
sjh
,
"sjk"
,
seph
,
"sjk"
,
"科兴"
,
"寄递分析"
,
entm
);
re
.
add
(
link
);
j
=
j
+
1
;
}
if
(
j
==
5
)
{
break
;
}
}
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"寄递分析"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
{
Hnkshresult
result1
=
result
(
"寄递分析"
);
return
new
MapRestResult
(
200
,
"ok"
,
result1
);
}
}
// 通过参数输入身份证号码或酒店编码或名称,以及时间段,返回该人员对应特征的结果:1、频繁更换酒店2、酒店连续入住3、高频夜间入住 时间范围三个月之内
@OperLog
(
message
=
"入住分析"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/rzfx"
)
@ApiOperation
(
value
=
"入住分析"
)
public
JSONObject
rzfx
(
String
jdmc
,
String
jdbm
,
String
sfzh
,
String
resourceType
,
String
frequency
,
String
point
,
String
startTime
,
String
endTime
,
HttpServletRequest
request
)
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getRzfx.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
@OperLog
(
message
=
"出入境分析"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/crjfx"
)
@ApiOperation
(
value
=
"出入境分析"
)
public
JSONObject
crjfx
(
String
frequency
,
String
sfzh
,
String
timeStart
,
String
timeEnd
,
HttpServletRequest
request
)
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getCrjfx.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
//当前时间往前1个月内,出发地/班次+目的地+身份证,输出火车、航班、客运轨迹类型的去往该目的地频次>=3次的人员轨迹数据
@OperLog
(
message
=
"出行分析"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/cxfx"
)
@ApiOperation
(
value
=
"出行分析"
)
public
JSONObject
cxfx
(
String
sfzh
,
String
qsd
,
String
shift
,
String
trafficType
,
String
mdd
,
HttpServletRequest
request
)
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getCxfx.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
//通过身份证查询最近3个月内火车、航班、客运、地铁等同行人员(频次>=3)等信息
@OperLog
(
message
=
"同行分析"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/txfx"
)
@ApiOperation
(
value
=
"同行分析"
)
public
JSONObject
txfx
(
String
value
,
String
type
,
HttpServletRequest
request
)
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getTxfx.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
@OperLog
(
message
=
"资金流"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/zjl"
)
@ApiOperation
(
value
=
"资金流"
)
public
JSONObject
zjl
()
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getZjl.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
//通过案件编号或身份证号查询案件信息;通过驾驶证号或车牌号查询相应的违章信息(号码类型(01 身份证号 02 车牌号 03 案件编号)
@OperLog
(
message
=
"涉案信息"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/ajda"
)
@ApiOperation
(
value
=
"涉案信息"
)
public
MapRestResult
ajda
(
String
value
,
String
type
,
HttpServletRequest
request
)
{
// 人查案 sfz
Hnkshresult
result
=
new
Hnkshresult
();
Hnkshresult
result1
=
new
Hnkshresult
();
if
(
type
.
equals
(
"01"
)
&&
!
StringUtil
.
isEmpty
(
value
))
{
QueryWrapper
<
TbXwZbfzxyr
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
select
(
"asjbh,zhrq"
).
eq
(
"zhfzxyr_cyzj_zjhm"
,
value
);
List
<
TbXwZbfzxyr
>
sfzfindasj
=
zbFzxyrDataMapper
.
selectList
(
wrapper
);
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
for
(
TbXwZbfzxyr
abh
:
sfzfindasj
)
{
String
asjbh
=
abh
.
getAsjbh
();
// 通过案件编号获取案件信息
QueryWrapper
<
TbStAsj
>
wrapperAj
=
new
QueryWrapper
<>();
wrapperAj
.
select
(
"asjbh,ajmc,djsj"
).
eq
(
"asjbh"
,
asjbh
);
TbStAsj
tbStAsj
=
tbStAsjMapper
.
selectOne
(
wrapperAj
);
// 数据结构组装
HnTbStRygxDTO
node
=
node
(
asjbh
,
tbStAsj
.
getAjmc
()
+
"\n"
+
asjbh
,
"aj"
,
null
,
null
);
nodes
.
add
(
node
);
sumup
.
add
(
asjbh
);
kshlinks
link
=
link
(
value
,
asjbh
,
abh
.
getZhrq
(),
abh
.
getZhrq
(),
value
,
"idcard"
,
asjbh
,
"aj"
,
"刑专"
,
"人案"
,
abh
.
getZhrq
());
re
.
add
(
link
);
}
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"人案关联"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
else
if
(
type
.
equals
(
"03"
)
&&
!
StringUtil
.
isEmpty
(
value
))
{
QueryWrapper
<
TbXwZbfzxyr
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
select
(
"zhfzxyr_cyzj_zjhm,zhfzxyr_xm,zhrq"
).
eq
(
"asjbh"
,
value
);
List
<
TbXwZbfzxyr
>
AfindR
=
zbFzxyrDataMapper
.
selectList
(
wrapper1
);
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
// 案查人 遍历 这个案件底下有多少人
for
(
TbXwZbfzxyr
sfz
:
AfindR
)
{
String
zjhm
=
sfz
.
getZhfzxyrCyzjZjhm
();
HnTbStRygxDTO
node
=
node
(
zjhm
,
sfz
.
getZhfzxyrXm
()
+
"\n"
+
zjhm
,
"idcard"
,
getPhoto
(
zjhm
),
null
);
nodes
.
add
(
node
);
sumup
.
add
(
zjhm
);
kshlinks
link
=
link
(
value
,
zjhm
,
"嫌疑人"
,
sfz
.
getZhrq
(),
value
,
"aj"
,
zjhm
,
"idcard"
,
"刑专"
,
"案人关联"
,
sfz
.
getZhrq
());
re
.
add
(
link
);
}
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"案人关联"
);
result1
.
setKshdata
(
kshdata
);
result1
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result1
);
}
else
if
(
type
.
equals
(
"02"
)
&&
!
StringUtil
.
isEmpty
(
value
))
{
}
return
new
MapRestResult
();
}
// 由一个人员的身份证号查询该人的所有同案案件信息和同案人员信息(已结案件)
@OperLog
(
message
=
"同案关系"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/tagx"
)
@ApiOperation
(
value
=
"同案关系"
)
public
MapRestResult
tagx
(
String
idCard
,
HttpServletRequest
request
)
{
// sfz人查询案下的其他人
QueryWrapper
<
TbXwZbfzxyr
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
select
(
"asjbh"
).
eq
(
"zhfzxyr_cyzj_zjhm"
,
idCard
);
List
<
TbXwZbfzxyr
>
sfzfindasj
=
zbFzxyrDataMapper
.
selectList
(
wrapper
);
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
for
(
TbXwZbfzxyr
asj
:
sfzfindasj
)
{
String
asjbh
=
asj
.
getAsjbh
();
QueryWrapper
<
TbXwZbfzxyr
>
wrapper1
=
new
QueryWrapper
<>();
wrapper1
.
select
(
"zhfzxyr_cyzj_zjhm,zhrq,zhfzxyr_xm"
).
eq
(
"asjbh"
,
asjbh
);
List
<
TbXwZbfzxyr
>
AfindR
=
zbFzxyrDataMapper
.
selectList
(
wrapper1
);
// 案查人 遍历 这个案件底下有多少人
for
(
TbXwZbfzxyr
sfz
:
AfindR
)
{
String
zjhm
=
sfz
.
getZhfzxyrCyzjZjhm
();
String
xm
=
sfz
.
getZhfzxyrXm
();
if
(!
zjhm
.
equals
(
idCard
))
{
// 通过案件编号获取案件信息
QueryWrapper
<
TbStAsj
>
wrapperAj
=
new
QueryWrapper
<>();
wrapperAj
.
select
(
"asjbh,ajmc"
).
eq
(
"asjbh"
,
asjbh
);
TbStAsj
tbStAsj
=
tbStAsjMapper
.
selectOne
(
wrapperAj
);
String
ajmc
=
tbStAsj
.
getAjmc
();
HnTbStRygxDTO
idcard
=
node
(
zjhm
,
xm
+
"\n"
+
zjhm
,
"idcard"
,
""
,
null
);
nodes
.
add
(
idcard
);
sumup
.
add
(
zjhm
);
// 案件指向第三层
kshlinks
link
=
link
(
asjbh
,
zjhm
,
"抓获日期:"
+
sfz
.
getZhrq
(),
sfz
.
getZhrq
(),
asjbh
,
"aj"
,
zjhm
,
"idcard"
,
"刑专"
,
"同案关系"
,
sfz
.
getZhrq
());
re
.
add
(
link
);
HnTbStRygxDTO
idcard1
=
node
(
asjbh
,
ajmc
+
"\n"
+
asjbh
,
"aj"
,
getPhoto
(
zjhm
),
null
);
nodes
.
add
(
idcard1
);
sumup
.
add
(
asjbh
);
//根节点指向案件
kshlinks
link1
=
link
(
zjhm
,
asjbh
,
"案件"
,
""
,
zjhm
,
"idcard"
,
asjbh
,
"aj"
,
"刑专"
,
"同案关系"
,
null
);
re
.
add
(
link1
);
}
}
}
// 对nodes去重
ArrayList
<
HnTbStRygxDTO
>
collect1
=
nodes
.
stream
().
collect
(
collectingAndThen
(
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
HnTbStRygxDTO:
:
getId
))),
ArrayList:
:
new
));
kshdata
.
setNodes
(
collect1
);
// 对links去重
ArrayList
<
kshlinks
>
collect2
=
re
.
stream
()
.
collect
(
collectingAndThen
(
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
o
->
o
.
getSource
()
+
";"
+
o
.
getTarget
()))),
ArrayList:
:
new
));
kshdata
.
setLinks
(
collect2
);
// 对sumup去重
List
<
String
>
collect
=
sumup
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
dataSumup
.
setList
(
collect
);
dataSumup
.
setName
(
"同案关系"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
// 根据教育经历信息和职业情况数据,发现人员互为校友关系的情况(校友关系分析)以及发现其中就职于相同公司、在相同公司有过工作经历的人员,发现其中有同事关系的人员(同事关系分析)
@OperLog
(
message
=
"社会关系"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/shgx"
)
@ApiOperation
(
value
=
"社会关系"
)
public
JSONObject
shgx
(
String
zjhm
,
String
type
,
HttpServletRequest
request
)
throws
Exception
{
JSONObject
jsonObject
=
null
;
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getShgx.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
// 通过手机号与时间段查询该手机号与对端手机号的通联信息
@OperLog
(
message
=
"通联关系"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/tlgx"
)
@ApiOperation
(
value
=
"通联关系"
)
public
MapRestResult
tlgx
(
String
sjh
,
String
timeStart
,
String
timeEnd
,
HttpServletRequest
request
)
{
XyrParam
xyrParam
=
new
XyrParam
();
xyrParam
.
setSjhm
(
sjh
);
xyrParam
.
setKssj
(
timeStart
);
xyrParam
.
setJssj
(
timeEnd
);
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
try
{
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
Map
<
String
,
String
>
headers
=
initHttpXmlHeads
();
String
bodyJson
=
"{\n"
+
" \"app_header\": {},\n"
+
" \"app_body\": {}}"
;
String
resultToken
=
""
;
resultToken
=
HttpClient
.
doPostJson
(
"http://65.26.106.40:8581/GatewayMsg/proxy/invoke/?SenderID=C43-00000005&ServiceID=S43-00000548&EndUser=李德书,432326197503264512,430000290000&InfoType=KHCX&InfoSet="
+
URLEncoder
.
encode
(
initHdConditionByZjhm
(
xyrParam
),
"UTF-8"
),
headers
,
bodyJson
);
logUtil
.
insertGNSYRZOPENAPI
(
"01"
,
"网技-话单信息"
,
LogsUtil
.
getNotEmptyFiled
(
xyrParam
).
toString
(),
""
,
""
,
"430000000000"
,
"湖南刑专平台"
,
""
,
NetworkUtil
.
getIpAddr
(
request
));
if
(
resultToken
!=
null
&&
!
""
.
equals
(
resultToken
))
{
JSONObject
jsonObject
=
xmltoJson
(
resultToken
);
System
.
out
.
println
(
jsonObject
.
toJSONString
());
JSONObject
results
=
jsonObject
.
getJSONObject
(
"Result"
);
JSONObject
datas
=
results
.
getJSONObject
(
"Datas"
);
int
total
=
0
;
JSONObject
ottoMsg
=
datas
.
getJSONObject
(
"OTTOMsg"
);
JSONObject
dccx
=
ottoMsg
.
getJSONObject
(
"DCCX"
);
JSONObject
msgContent
=
dccx
.
getJSONObject
(
"MsgContent"
);
JSONObject
commonlyQuery
=
msgContent
.
getJSONObject
(
"CommonlyQuery"
);
JSONObject
commonlyQueryResponse
=
commonlyQuery
.
getJSONObject
(
"CommonlyQueryResponse"
);
total
=
commonlyQueryResponse
.
getIntValue
(
"ResultCount"
);
JSONObject
datalist
=
commonlyQueryResponse
.
getJSONObject
(
"CommonQueryResultList"
);
if
(
total
>
0
)
{
if
(
total
==
1
)
{
JSONObject
job
=
datalist
.
getJSONObject
(
"CommonQueryResultInfo"
);
String
oppositeNumber
=
job
.
getString
(
"OppositeNumber"
);
//对方号码
String
toAttAreaCode
=
job
.
getString
(
"ToAttAreaCode"
);
// 对方号码所在地
String
customerNumber
=
job
.
getString
(
"CustomerNumber"
);
//服务号码
String
userAttAreaCode
=
job
.
getString
(
"UserAttAreaCode"
);
//服务方所在地
String
callType
=
job
.
getString
(
"CallType"
);
//呼号类型
String
beginTime
=
job
.
getString
(
"BeginTime"
);
//开始时间
String
timeLen
=
job
.
getString
(
"TimeLen"
);
//通话时长 (单位秒)
//nodes
HnTbStRygxDTO
mergeDTOgjd
=
node
(
oppositeNumber
,
oppositeNumber
,
"sjk"
,
null
,
null
);
nodes
.
add
(
mergeDTOgjd
);
sumup
.
add
(
oppositeNumber
);
// links
kshlinks
link
=
link
(
sjh
,
oppositeNumber
,
"通话类型:"
+
callType
+
"通话时长:"
+
timeLen
+
"秒"
,
beginTime
,
sjh
,
"sjk"
,
oppositeNumber
,
"sjk"
,
"科兴"
,
"通联关系"
,
beginTime
);
re
.
add
(
link
);
}
else
if
(
total
<
1000
)
{
JSONArray
list
=
datalist
.
getJSONArray
(
"CommonQueryResultInfo"
);
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
JSONObject
job
=
list
.
getJSONObject
(
i
);
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
// 得到 每个对象中的属性值
String
oppositeNumber
=
job
.
getString
(
"OppositeNumber"
);
//对方号码
String
toAttAreaCode
=
job
.
getString
(
"ToAttAreaCode"
);
// 对方号码所在地
String
customerNumber
=
job
.
getString
(
"CustomerNumber"
);
//服务号码
String
userAttAreaCode
=
job
.
getString
(
"UserAttAreaCode"
);
//服务方所在地
String
callType
=
job
.
getString
(
"CallType"
);
//呼号类型
String
beginTime
=
job
.
getString
(
"BeginTime"
);
//开始时间
String
timeLen
=
job
.
getString
(
"TimeLen"
);
//通话时长 (单位秒)
//nodes
HnTbStRygxDTO
mergeDTOgjd
=
node
(
oppositeNumber
,
oppositeNumber
,
"sjk"
,
null
,
null
);
nodes
.
add
(
mergeDTOgjd
);
sumup
.
add
(
oppositeNumber
);
// links
kshlinks
link
=
link
(
sjh
,
oppositeNumber
,
"通话类型:"
+
callType
+
"通话时长:"
+
timeLen
+
"秒"
,
beginTime
,
sjh
,
"sjk"
,
oppositeNumber
,
"sjk"
,
"科兴"
,
"通联关系"
,
beginTime
);
re
.
add
(
link
);
}
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"接口异常"
+
e
);
}
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"通联关系"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
//身份证、驾驶证、护照、手机号(imei、imsi)、虚拟账号(虚拟账号)号码之间互查
@OperLog
(
message
=
"虚实关联"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/xsgx"
)
@ApiOperation
(
value
=
"虚实关联"
)
public
MapRestResult
xsgx
(
String
value
,
String
type
,
HttpServletRequest
request
)
{
// 号码类型(01:身份证号sfzh;02:驾照jzhm;03:护照hzhm;04:手机号sjhm;05:虚拟账号信息xnxx)
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
if
(
type
.
equals
(
"01"
))
{
// 机主
try
{
JSONArray
jsonArrayPhone
=
getJzxx
(
value
,
"zjhm"
);
if
(
jsonArrayPhone
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
jsonArrayPhone
.
size
();
i
++)
{
JSONObject
objPhone
=
jsonArrayPhone
.
getJSONObject
(
i
);
if
(
Arrays
.
asList
(
"1"
,
"0"
,
"2"
).
contains
(
objPhone
.
getString
(
"status"
)))
{
// 用户状态(1:在用,0:欠费停机,2:停机,3:注销,9:其它)
String
phoneNo
=
objPhone
.
getString
(
"phoneNo"
);
String
openDate
=
objPhone
.
getString
(
"openDate"
);
// nodes
HnTbStRygxDTO
mergeDTOgjd
=
node
(
phoneNo
,
phoneNo
,
"sjk"
,
null
,
null
);
nodes
.
add
(
mergeDTOgjd
);
sumup
.
add
(
phoneNo
);
// links
kshlinks
link
=
link
(
value
,
phoneNo
,
"手机号"
+
openDate
,
openDate
,
value
,
"01"
,
openDate
,
"sjk"
,
"科信"
,
"手机号"
,
openDate
);
re
.
add
(
link
);
}
}
}
}
catch
(
Exception
e
)
{
return
MapRestResult
.
error
(
"机主接口错误!"
+
e
);
}
}
else
if
(
type
.
equals
(
"04"
))
{
try
{
//手机号能够了查到身份证号
JSONArray
jsonArrayPhone
=
getJzxx
(
value
,
"sjhm"
);
if
(
jsonArrayPhone
.
size
()
>
0
)
{
// 业务受理时间 最新的机主证件号码
jsonArrayPhone
=
jSONArraySort
(
jsonArrayPhone
,
"openDate"
);
JSONObject
obj
=
jsonArrayPhone
.
getJSONObject
(
0
);
String
sfzh
=
obj
.
getString
(
"idCard"
);
String
openDate
=
obj
.
getString
(
"openDate"
);
// nodes
HnTbStRygxDTO
node
=
node
(
sfzh
,
sfzh
,
"idcard"
,
null
,
null
);
nodes
.
add
(
node
);
sumup
.
add
(
sfzh
);
kshlinks
link
=
link
(
value
,
sfzh
,
"身份证"
,
openDate
,
value
,
"04"
,
sfzh
,
"idcard"
,
"科信"
,
"身份证"
,
openDate
);
re
.
add
(
link
);
}
}
catch
(
Exception
e
)
{
return
MapRestResult
.
error
(
"机主接口错误!"
+
e
);
}
}
//对nodes去重
ArrayList
<
HnTbStRygxDTO
>
collect1
=
nodes
.
stream
().
collect
(
collectingAndThen
(
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
HnTbStRygxDTO:
:
getId
))),
ArrayList:
:
new
));
kshdata
.
setNodes
(
collect1
);
//对links去重
ArrayList
<
kshlinks
>
collect2
=
re
.
stream
()
.
collect
(
collectingAndThen
(
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
o
->
o
.
getTarget
()))),
ArrayList:
:
new
));
kshdata
.
setLinks
(
collect2
);
//对sumup去重
List
<
String
>
collect
=
sumup
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
dataSumup
.
setList
(
collect
);
dataSumup
.
setName
(
"虚实关联"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
// (msis)手机号、imsi、imei三个号码相互查询,例如一机多号和一号多机
@OperLog
(
message
=
"四码关联"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/smglTwo"
)
@ApiOperation
(
value
=
"四码关联"
)
public
JSONObject
smglTwo
(
String
value
,
String
type
,
HttpServletRequest
request
)
{
JSONObject
jsonObject
=
null
;
// 01 手机号msis;02 imsi;03 imei
if
(
type
.
equals
(
"01"
))
{
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getSmgl.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
return
jsonObject
;
}
else
if
(
type
.
equals
(
"02"
))
{
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getSmgl.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
}
else
if
(
type
.
equals
(
"03"
))
{
try
{
jsonObject
=
JsonUtils
.
readJsonFromClassPath
(
"data/getSmgl.json"
,
JSONObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"json转换实体异常"
+
e
);
}
}
return
jsonObject
;
}
// 与其通联的手机号码信息
@OperLog
(
message
=
"通联分析"
,
operation
=
OperationType
.
QUERY
)
@PostMapping
(
"/tlfx"
)
@ApiOperation
(
value
=
"通联分析"
)
public
MapRestResult
tlfx
(
String
timeType
,
String
phoneNumber
,
String
timeStart
,
String
timeEnd
,
HttpServletRequest
request
)
{
XyrParam
xyrParam
=
new
XyrParam
();
xyrParam
.
setSjhm
(
phoneNumber
);
xyrParam
.
setKssj
(
timeStart
);
xyrParam
.
setJssj
(
timeEnd
);
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
re
=
new
ArrayList
<>();
try
{
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
Map
<
String
,
String
>
headers
=
initHttpXmlHeads
();
String
bodyJson
=
"{\n"
+
" \"app_header\": {},\n"
+
" \"app_body\": {}}"
;
String
resultToken
=
""
;
resultToken
=
HttpClient
.
doPostJson
(
"http://65.26.106.40:8581/GatewayMsg/proxy/invoke/?SenderID=C43-00000005&ServiceID=S43-00000548&EndUser=李德书,432326197503264512,430000290000&InfoType=KHCX&InfoSet="
+
URLEncoder
.
encode
(
initHdConditionByZjhm
(
xyrParam
),
"UTF-8"
),
headers
,
bodyJson
);
logUtil
.
insertGNSYRZOPENAPI
(
"01"
,
"网技-话单信息"
,
LogsUtil
.
getNotEmptyFiled
(
xyrParam
).
toString
(),
""
,
""
,
"430000000000"
,
"湖南刑专平台"
,
""
,
NetworkUtil
.
getIpAddr
(
request
));
if
(
resultToken
!=
null
&&
!
""
.
equals
(
resultToken
))
{
JSONObject
jsonObject
=
xmltoJson
(
resultToken
);
System
.
out
.
println
(
jsonObject
.
toJSONString
());
JSONObject
results
=
jsonObject
.
getJSONObject
(
"Result"
);
JSONObject
datas
=
results
.
getJSONObject
(
"Datas"
);
int
total
=
0
;
JSONObject
ottoMsg
=
datas
.
getJSONObject
(
"OTTOMsg"
);
JSONObject
dccx
=
ottoMsg
.
getJSONObject
(
"DCCX"
);
JSONObject
msgContent
=
dccx
.
getJSONObject
(
"MsgContent"
);
JSONObject
commonlyQuery
=
msgContent
.
getJSONObject
(
"CommonlyQuery"
);
JSONObject
commonlyQueryResponse
=
commonlyQuery
.
getJSONObject
(
"CommonlyQueryResponse"
);
total
=
commonlyQueryResponse
.
getIntValue
(
"ResultCount"
);
JSONObject
datalist
=
commonlyQueryResponse
.
getJSONObject
(
"CommonQueryResultList"
);
if
(
total
>
0
)
{
if
(
total
==
1
)
{
JSONObject
job
=
datalist
.
getJSONObject
(
"CommonQueryResultInfo"
);
String
oppositeNumber
=
job
.
getString
(
"OppositeNumber"
);
//对方号码
String
toAttAreaCode
=
job
.
getString
(
"ToAttAreaCode"
);
// 对方号码所在地
String
customerNumber
=
job
.
getString
(
"CustomerNumber"
);
//服务号码
String
userAttAreaCode
=
job
.
getString
(
"UserAttAreaCode"
);
//服务方所在地
String
callType
=
job
.
getString
(
"CallType"
);
//呼号类型
String
beginTime
=
job
.
getString
(
"BeginTime"
);
//开始时间
String
timeLen
=
job
.
getString
(
"TimeLen"
);
//通话时长 (单位秒)
//nodes
HnTbStRygxDTO
mergeDTOgjd
=
node
(
oppositeNumber
,
oppositeNumber
,
"sjk"
,
null
,
null
);
nodes
.
add
(
mergeDTOgjd
);
sumup
.
add
(
oppositeNumber
);
// links
kshlinks
link
=
link
(
sjh
,
oppositeNumber
,
"通话类型:"
+
callType
+
"通话时长:"
+
timeLen
+
"秒"
,
beginTime
,
sjh
,
"sjk"
,
oppositeNumber
,
"sjk"
,
"科兴"
,
"通联关系"
,
beginTime
);
re
.
add
(
link
);
}
else
if
(
total
<
1000
)
{
JSONArray
list
=
datalist
.
getJSONArray
(
"CommonQueryResultInfo"
);
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
JSONObject
job
=
list
.
getJSONObject
(
i
);
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
// 得到 每个对象中的属性值
String
oppositeNumber
=
job
.
getString
(
"OppositeNumber"
);
//对方号码
String
toAttAreaCode
=
job
.
getString
(
"ToAttAreaCode"
);
// 对方号码所在地
String
customerNumber
=
job
.
getString
(
"CustomerNumber"
);
//服务号码
String
userAttAreaCode
=
job
.
getString
(
"UserAttAreaCode"
);
//服务方所在地
String
callType
=
job
.
getString
(
"CallType"
);
//呼号类型
String
beginTime
=
job
.
getString
(
"BeginTime"
);
//开始时间
String
timeLen
=
job
.
getString
(
"TimeLen"
);
//通话时长 (单位秒)
//nodes
HnTbStRygxDTO
mergeDTOgjd
=
node
(
oppositeNumber
,
oppositeNumber
,
"sjk"
,
null
,
null
);
nodes
.
add
(
mergeDTOgjd
);
sumup
.
add
(
oppositeNumber
);
// links
kshlinks
link
=
link
(
phoneNumber
,
oppositeNumber
,
"通话类型:"
+
callType
+
"通话时长:"
+
timeLen
+
"秒"
,
beginTime
,
phoneNumber
,
"sjk"
,
oppositeNumber
,
"sjk"
,
"科兴"
,
"通联关系"
,
beginTime
);
re
.
add
(
link
);
}
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
print
(
"接口异常"
+
e
);
}
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
re
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
"通联关系"
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
new
MapRestResult
(
200
,
"ok"
,
result
);
}
/**
* 功能描述: JSONArray根据时间字段排序
...
...
@@ -890,4 +1669,469 @@ public class KshSlServiceController {
JSONArray
parse
=
(
JSONArray
)
JSONArray
.
parse
(
JSONObject
.
toJSONString
(
list
));
return
parse
;
}
public
String
getPhoto
(
String
zjhm
)
{
List
<
SkRegionalsPerson
>
listSkRegionalsPerson
=
new
ArrayList
<>();
SkRegionalsPerson
ryxx
=
new
SkRegionalsPerson
();
String
esbServiceReturn
=
""
;
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
SysUser
user
=
(
SysUser
)
request
.
getAttribute
(
"user"
);
Map
<
String
,
String
>
map
=
new
HashMap
();
map
.
put
(
"cxhm"
,
zjhm
);
map
.
put
(
"yymc"
,
"时空大数据平台"
);
map
.
put
(
"qqrXm"
,
user
.
getTrueName
());
map
.
put
(
"qqrGmsfzh"
,
user
.
getIdentitycard
());
map
.
put
(
"qqrJgmc"
,
user
.
getUnitname
());
map
.
put
(
"qqrJgdm"
,
user
.
getUnitcode
());
map
.
put
(
"qqrIp"
,
NetworkUtil
.
getIpAddr
(
request
));
String
resultStr
=
""
;
try
{
System
.
out
.
println
(
"常口调用开始==============="
+
zjhm
);
resultStr
=
HttpUtil
.
doPost
(
"http://65.26.106.172:1005/qgck/getRyxxByQgck"
,
map
);
if
(
StringUtils
.
isNotBlank
(
resultStr
))
{
System
.
out
.
println
(
"常口调用成功==============="
+
zjhm
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
resultStr
);
if
(
jsonObject
!=
null
&&
jsonObject
.
containsKey
(
"data"
))
{
JSONObject
jsonObject1
=
jsonObject
.
getJSONObject
(
"data"
);
if
(
jsonObject1
!=
null
&&
jsonObject1
.
containsKey
(
"ryxx"
))
{
TbStRy
tbStRy
=
jsonObject1
.
getObject
(
"ryxx"
,
TbStRy
.
class
);
if
(
tbStRy
!=
null
)
{
ryxx
=
getQgxx
(
tbStRy
);
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ryxx
.
getImg
();
}
private
SkRegionalsPerson
getQgxx
(
TbStRy
tbStRy
)
{
SkRegionalsPerson
qgRyJbXx
=
null
;
try
{
qgRyJbXx
=
new
SkRegionalsPerson
();
qgRyJbXx
.
setXm
(
tbStRy
.
getXm
());
qgRyJbXx
.
setXb
(
tbStRy
.
getXbdmStr
());
qgRyJbXx
.
setMz
(
tbStRy
.
getMzdmStr
());
qgRyJbXx
.
setSfzhm
(
tbStRy
.
getZjhm
());
qgRyJbXx
.
setHjdqhdz
(
tbStRy
.
getHjdzXzqhdmStr
());
qgRyJbXx
.
setCsdzmc
(
tbStRy
.
getCsdDzmc
());
qgRyJbXx
.
setImg
(
"data:image/jpg;base64,"
+
tbStRy
.
getEdzzplj
());
qgRyJbXx
.
setXzzdzmc
(
tbStRy
.
getXzzDzmc
());
Date
csrq
=
tbStRy
.
getCsrqQsrq
();
String
csrqQsrq
=
null
;
if
(
csrq
!=
null
)
{
DateFormat
fmt
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
try
{
csrqQsrq
=
fmt
.
format
(
csrq
);
qgRyJbXx
.
setCsrq
(
csrqQsrq
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
qgRyJbXx
;
}
// 机主网技
public
JSONArray
getJzxx
(
String
objectValue
,
String
type
)
throws
Exception
{
String
redisKey
=
"SK:PHONE:"
+
objectValue
;
if
(
redisTemplate
.
hasKey
(
redisKey
))
{
String
str
=
redisTemplate
.
opsForValue
().
get
(
redisKey
);
JSONArray
allList
=
JSONArray
.
parseArray
(
str
);
return
allList
;
}
String
params
=
""
;
// 证件号拿手机号
if
(
type
.
equals
(
"zjhm"
))
{
params
=
URLEncoder
.
encode
(
initConditionByZjhm
(
objectValue
),
"UTF-8"
);
}
else
if
(
type
.
equals
(
"sjhm"
))
{
// 手机拿证件
params
=
URLEncoder
.
encode
(
initConditionBySjhm
(
objectValue
),
"UTF-8"
);
}
Map
<
String
,
String
>
headers
=
initHttpXmlHeads
();
String
bodyJson
=
"{\n"
+
" \"app_header\": {},\n"
+
" \"app_body\": {}}"
;
String
resultToken
=
""
;
resultToken
=
HttpUtil
.
doPostJsonHunan
(
"http://65.26.10.200:8581/GatewayMsg/proxy/invoke/?SenderID=C43-00000005&ServiceID=S43-00000548&EndUser=李德书,432326197503264512,430000290000&InfoType=KHCX&InfoSet="
+
params
,
headers
,
bodyJson
);
System
.
out
.
println
(
resultToken
);
JSONArray
list
=
new
JSONArray
();
JSONArray
listResult
=
new
JSONArray
();
if
(
null
!=
resultToken
)
{
JSONObject
jsonObject
=
xmltoJson
(
resultToken
);
System
.
out
.
println
(
jsonObject
.
toJSONString
());
JSONObject
results
=
jsonObject
.
getJSONObject
(
"Result"
);
JSONObject
datas
=
results
.
getJSONObject
(
"Datas"
);
JSONObject
ottoMsg
=
datas
.
getJSONObject
(
"OTTOMsg"
);
JSONObject
uqs
=
ottoMsg
.
getJSONObject
(
"uqs"
);
JSONObject
rs
=
uqs
.
getJSONObject
(
"response"
);
JSONObject
userInfos
=
uqs
.
getJSONObject
(
"userInfos"
);
list
=
userInfos
.
getJSONArray
(
"userInfo"
);
}
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
JSONObject
job
=
list
.
getJSONObject
(
i
);
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
// 得到 每个对象中的属性值
// String phoneNo=job.getString("phoneNo"); //电话号码
// String provLatnId=job.getString("provLatnId"); //用户地域标识
// String userName=job.getString("userName"); //用户姓名
// String status=job.getString("status"); //用户状态
// String setuPaddr=job.getString("SETUPaddr"); //安装地址
// String certTypeId=job.getString("certTypeId"); //证件类型
// String idCard=job.getString("idCard"); //证件号码
// String openDate=job.getString("openDate"); //业务受理时间
// String address=job.getString("address");//客户地址
listResult
.
add
(
job
);
}
}
if
(
listResult
.
size
()
>
0
)
{
if
(
redisTemplate
.
hasKey
(
redisKey
))
{
redisTemplate
.
delete
(
redisKey
);
}
redisTemplate
.
opsForValue
().
set
(
redisKey
,
JSON
.
toJSONString
(
listResult
),
1L
,
TimeUnit
.
DAYS
);
}
return
listResult
;
}
/**
* 将xml转换为JSON对象
*
* @param xml xml字符串
* @return
* @throws Exception
*/
public
static
JSONObject
xmltoJson
(
String
xml
)
throws
Exception
{
JSONObject
jsonObject
=
new
JSONObject
();
Document
document
=
DocumentHelper
.
parseText
(
xml
);
//获取根节点元素对象
Element
root
=
document
.
getRootElement
();
iterateNodes
(
root
,
jsonObject
);
return
jsonObject
;
}
private
HashMap
<
String
,
String
>
initHttpXmlHeads
()
{
HashMap
<
String
,
String
>
headParams
=
new
HashMap
<
String
,
String
>();
headParams
.
put
(
"Content-Type"
,
"application/json;charset=UTF-8"
);
headParams
.
put
(
"sender_id"
,
"C90-43000019"
);
headParams
.
put
(
"service_id"
,
"S90-43000025"
);
headParams
.
put
(
"timeout"
,
"60"
);
headParams
.
put
(
"end_user.name"
,
"%e6%b5%8b%e8%af%95"
);
headParams
.
put
(
"end_user.id_card"
,
"431224198909105410"
);
headParams
.
put
(
"end_user.department"
,
"430000000000 "
);
headParams
.
put
(
"end_user.certificate"
,
"BH9527"
);
headParams
.
put
(
"end_user.device_id"
,
"65.28.39.213"
);
headParams
.
put
(
"timestamp"
,
"20200910100312114"
);
headParams
.
put
(
"sign"
,
"1e2de989cd49f72bde081f84a4b2c47a;1614653654000"
);
return
headParams
;
}
/**
* 手机号码机主查询参数
*
* @param sjhm
* @return
*/
private
String
initConditionBySjhm
(
String
sjhm
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"<Content><Header>"
);
sb
.
append
(
"<RequestID>KHCX_65.28.39.173_20200825172913_1234</RequestID>"
);
sb
.
append
(
"<CommonInfo>"
);
sb
.
append
(
"<approveID>430102195309191513</approveID>"
);
sb
.
append
(
"<approveName>测试吴俊明</approveName>"
);
sb
.
append
(
"<DeptName>局领导</DeptName>"
);
sb
.
append
(
"</CommonInfo>"
);
sb
.
append
(
"<CaseInfo>"
);
sb
.
append
(
"<CaseID>A4301000000002020070001</CaseID>"
);
sb
.
append
(
"<CaseName>监管平台对接测试</CaseName>"
);
sb
.
append
(
"<CaseProperty>刑事</CaseProperty>"
);
sb
.
append
(
"<CaseCause>查询案件:监管平台对接测试</CaseCause>"
);
sb
.
append
(
"<CaseResume>查询机主,详单,寄递</CaseResume>"
);
sb
.
append
(
"</CaseInfo></Header><Body>"
);
sb
.
append
(
"<DbSource name=\"KHCX\" carrier=\"YD\">YDKHCX</DbSource><Fields Count=\"1\">"
);
sb
.
append
(
"<FieldCondition>"
);
sb
.
append
(
"<LogicCaculation>and</LogicCaculation>"
);
sb
.
append
(
"<LeftBracket></LeftBracket>"
);
sb
.
append
(
"<LeftValue>PHONE_NUM</LeftValue>"
);
sb
.
append
(
"<ConditionCalculation>=</ConditionCalculation>"
);
sb
.
append
(
"<RightValue>"
+
sjhm
+
"</RightValue>"
);
sb
.
append
(
"<RightBracket></RightBracket>"
);
sb
.
append
(
"</FieldCondition></Fields></Body></Content>"
);
return
sb
.
toString
();
}
/**
* 手机号码机主查询参数,证件号码查询
*
* @param zjhm
* @return
*/
private
String
initConditionByZjhm
(
String
zjhm
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"<Content><Header>"
);
sb
.
append
(
"<RequestID>KHCX_65.28.39.173_20200825172913_1111</RequestID>"
);
sb
.
append
(
"<CommonInfo>"
);
sb
.
append
(
"<approveID>430102195309191513</approveID>"
);
sb
.
append
(
"<approveName>测试吴俊明</approveName>"
);
sb
.
append
(
"<DeptName>局领导</DeptName>"
);
sb
.
append
(
"</CommonInfo>"
);
sb
.
append
(
"<CaseInfo>"
);
sb
.
append
(
"<CaseID>A4301000000002020070001</CaseID>"
);
sb
.
append
(
"<CaseName>监管平台对接测试</CaseName>"
);
sb
.
append
(
"<CaseProperty>刑事</CaseProperty>"
);
sb
.
append
(
"<CaseCause>查询案件:监管平台对接测试</CaseCause>"
);
sb
.
append
(
"<CaseResume>查询机主,详单,寄递</CaseResume>"
);
sb
.
append
(
"</CaseInfo></Header><Body>"
);
sb
.
append
(
"<DbSource name=\"KHCX\" carrier=\"YD\">YDKHCX</DbSource><Fields Count=\"1\">"
);
sb
.
append
(
"<FieldCondition>"
);
sb
.
append
(
"<LogicCaculation>and</LogicCaculation>"
);
sb
.
append
(
"<LeftBracket></LeftBracket>"
);
sb
.
append
(
"<LeftValue>idCard</LeftValue>"
);
sb
.
append
(
"<ConditionCalculation>=</ConditionCalculation>"
);
sb
.
append
(
"<RightValue>"
+
zjhm
+
"</RightValue>"
);
sb
.
append
(
"<RightBracket></RightBracket>"
);
sb
.
append
(
"</FieldCondition></Fields></Body></Content>"
);
return
sb
.
toString
();
}
/**
* 遍历元素
*
* @param node 元素
* @param json 将元素遍历完成之后放的JSON对象
*/
@SuppressWarnings
(
"unchecked"
)
public
static
void
iterateNodes
(
Element
node
,
JSONObject
json
)
{
//获取当前元素的名称
String
nodeName
=
node
.
getName
();
//判断已遍历的JSON中是否已经有了该元素的名称
if
(
json
.
containsKey
(
nodeName
))
{
//该元素在同级下有多个
Object
Object
=
json
.
get
(
nodeName
);
JSONArray
array
=
null
;
if
(
Object
instanceof
JSONArray
)
{
array
=
(
JSONArray
)
Object
;
}
else
{
array
=
new
JSONArray
();
array
.
add
(
Object
);
}
//获取该元素下所有子元素
List
<
Element
>
listElement
=
node
.
elements
();
if
(
listElement
.
isEmpty
())
{
//该元素无子元素,获取元素的值
String
nodeValue
=
node
.
getTextTrim
();
array
.
add
(
nodeValue
);
json
.
put
(
nodeName
,
array
);
return
;
}
//有子元素
JSONObject
newJson
=
new
JSONObject
();
//遍历所有子元素
for
(
Element
e
:
listElement
)
{
//递归
iterateNodes
(
e
,
newJson
);
}
array
.
add
(
newJson
);
json
.
put
(
nodeName
,
array
);
return
;
}
//该元素同级下第一次遍历
//获取该元素下所有子元素
List
<
Element
>
listElement
=
node
.
elements
();
if
(
listElement
.
isEmpty
())
{
//该元素无子元素,获取元素的值
String
nodeValue
=
node
.
getTextTrim
();
json
.
put
(
nodeName
,
nodeValue
);
return
;
}
//有子节点,新建一个JSONObject来存储该节点下子节点的值
JSONObject
object
=
new
JSONObject
();
//遍历所有一级子节点
for
(
Element
e
:
listElement
)
{
//递归
iterateNodes
(
e
,
object
);
}
json
.
put
(
nodeName
,
object
);
return
;
}
public
HnTbStRygxDTO
node
(
String
id
,
String
lable
,
String
imgType
,
String
imagePhoto
,
String
boderColor
)
{
HnTbStRygxDTO
mergeDTOgjd
=
new
HnTbStRygxDTO
();
mergeDTOgjd
.
setId
(
id
);
mergeDTOgjd
.
setLabel
(
lable
);
Kshpropertice
kshpropertice
=
new
Kshpropertice
();
kshpropertice
.
setId
(
id
);
kshpropertice
.
setLabel
(
lable
);
kshpropertice
.
setImgType
(
imgType
);
kshpropertice
.
setImagePhoto
(
imagePhoto
);
kshpropertice
.
setBoderColor
(
boderColor
);
mergeDTOgjd
.
setProperties
(
kshpropertice
);
return
mergeDTOgjd
;
}
public
kshlinks
link
(
String
source
,
String
target
,
String
label
,
String
time
,
String
bsh
,
String
bshlx
,
String
glbsh
,
String
glbshlx
,
String
sjly
,
String
glgx
,
String
glsj
)
{
kshlinks
kshlink
=
new
kshlinks
();
kshlink
.
setSource
(
source
);
kshlink
.
setTarget
(
target
);
kshlink
.
setLabel
(
label
);
Linkspropertice
linkspropertice
=
new
Linkspropertice
();
linkspropertice
.
setTime
(
time
);
linkspropertice
.
setSource
(
source
);
linkspropertice
.
setTarget
(
target
);
linkspropertice
.
setLabel
(
label
);
GlgxData
glgxData
=
new
GlgxData
();
List
<
GlgxData
>
list
=
new
ArrayList
<>();
glgxData
.
setBsh
(
bsh
);
glgxData
.
setBshlx
(
bshlx
);
glgxData
.
setGlbsh
(
glbsh
);
glgxData
.
setGlbshlx
(
glbshlx
);
glgxData
.
setSjly
(
sjly
);
glgxData
.
setGlgx
(
glgx
);
glgxData
.
setGlsj
(
glsj
);
list
.
add
(
glgxData
);
linkspropertice
.
setGlgxData
(
list
);
kshlink
.
setProperties
(
linkspropertice
);
return
kshlink
;
}
private
String
getThlx
(
String
thlxdm
)
{
String
thlx
=
""
;
if
(
thlxdm
!=
null
)
{
switch
(
thlxdm
)
{
case
"1"
:
{
thlx
=
"主叫"
;
break
;
}
case
"2"
:
{
thlx
=
"被叫"
;
break
;
}
default
:
{
thlx
=
"其它"
;
return
thlx
;
}
}
}
return
thlx
;
}
/**
* 手机号码快递查询初始化参数
*
* @param sjhm
* @return
*/
private
String
initKdConditionByZjhm
(
String
sjhm
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"<Content><Header>"
);
sb
.
append
(
"<RequestID>JDCX_65.28.39.173_20200825172913_1234</RequestID>"
);
sb
.
append
(
"<CommonInfo>"
);
sb
.
append
(
"<approveID>430102195309191513</approveID>"
);
sb
.
append
(
"<approveName>测试吴俊明</approveName>"
);
sb
.
append
(
"<DeptName>局领导</DeptName>"
);
sb
.
append
(
"</CommonInfo>"
);
sb
.
append
(
"<CaseInfo>"
);
sb
.
append
(
"<CaseID>A4301000000002020070001</CaseID>"
);
sb
.
append
(
"<CaseName>监管平台对接测试</CaseName>"
);
sb
.
append
(
"<CaseProperty>刑事</CaseProperty>"
);
sb
.
append
(
"<CaseCause>查询案件:监管平台对接测试</CaseCause>"
);
sb
.
append
(
"<CaseResume>查询机主,详单,寄递</CaseResume>"
);
sb
.
append
(
"</CaseInfo></Header><Body>"
);
sb
.
append
(
"<DbSource name=\"JDCX\" carrier=\"JDCX\">JDCX</DbSource><Fields Count=\"1\">"
);
sb
.
append
(
"<FieldCondition>"
);
sb
.
append
(
"<LogicCaculation>and</LogicCaculation>"
);
sb
.
append
(
"<LeftBracket></LeftBracket>"
);
sb
.
append
(
"<LeftValue>PHONE_NUM</LeftValue>"
);
sb
.
append
(
"<ConditionCalculation>=</ConditionCalculation>"
);
sb
.
append
(
"<RightValue>"
+
sjhm
+
"</RightValue>"
);
sb
.
append
(
"<RightBracket></RightBracket>"
);
sb
.
append
(
"</FieldCondition></Fields></Body></Content>"
);
return
sb
.
toString
();
}
//没有信息返回的空对象
public
Hnkshresult
result
(
String
name
)
{
Hnkshresult
result
=
new
Hnkshresult
();
kshdata
kshdata
=
new
kshdata
();
dataSumup
dataSumup
=
new
dataSumup
();
List
<
String
>
sumup
=
new
ArrayList
<>();
List
<
HnTbStRygxDTO
>
nodes
=
new
ArrayList
<>();
List
<
kshlinks
>
links
=
new
ArrayList
<>();
kshdata
.
setNodes
(
nodes
);
kshdata
.
setLinks
(
links
);
dataSumup
.
setList
(
sumup
);
dataSumup
.
setName
(
name
);
result
.
setKshdata
(
kshdata
);
result
.
setDataSumup
(
dataSumup
);
return
result
;
}
/**
* 将字符串转日期成Long类型的时间戳,格式为:yyyy-MM-dd HH:mm:ss
*/
public
static
Long
convertTimeToLong
(
String
time
)
{
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
LocalDateTime
parse
=
LocalDateTime
.
parse
(
time
,
formatter
);
return
LocalDateTime
.
from
(
parse
).
atZone
(
ZoneId
.
systemDefault
()).
toInstant
().
toEpochMilli
();
}
/**
* 手机号码话单查询初始化参数
*
* @param
* @return
*/
private
String
initHdConditionByZjhm
(
XyrParam
xyrParam
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"<Content><Header>"
);
sb
.
append
(
"<RequestID>DCCX_65.28.39.173_20200825172913_1234</RequestID>"
);
sb
.
append
(
"<CommonInfo>"
);
sb
.
append
(
"<approveID>430102195309191513</approveID>"
);
sb
.
append
(
"<approveName>测试吴俊明</approveName>"
);
sb
.
append
(
"<DeptName>局领导</DeptName>"
);
sb
.
append
(
"</CommonInfo>"
);
sb
.
append
(
"<CaseInfo>"
);
sb
.
append
(
"<CaseID>A4301000000002020070001</CaseID>"
);
sb
.
append
(
"<CaseName>监管平台对接测试</CaseName>"
);
sb
.
append
(
"<CaseProperty>刑事</CaseProperty>"
);
sb
.
append
(
"<CaseCause>查询案件:监管平台对接测试</CaseCause>"
);
sb
.
append
(
"<CaseResume>查询机主,详单,寄递</CaseResume>"
);
sb
.
append
(
"</CaseInfo></Header><Body>"
);
sb
.
append
(
"<DbSource name=\"DCCX\" carrier=\"YD\">GSM,SMS,ROAM,GPRS,local</DbSource><Fields Count=\"2\">"
);
sb
.
append
(
"<FieldCondition>"
);
sb
.
append
(
"<LogicCaculation>and</LogicCaculation>"
);
sb
.
append
(
"<LeftBracket></LeftBracket>"
);
sb
.
append
(
"<LeftValue>START_TIME</LeftValue>"
);
sb
.
append
(
"<ConditionCalculation>=</ConditionCalculation>"
);
sb
.
append
(
"<RightValue>"
+
xyrParam
.
getKssj
()
+
","
+
xyrParam
.
getJssj
()
+
"</RightValue>"
);
sb
.
append
(
"<RightBracket></RightBracket>"
);
sb
.
append
(
"</FieldCondition>"
);
sb
.
append
(
"<FieldCondition>"
);
sb
.
append
(
"<LogicCaculation>and</LogicCaculation>"
);
sb
.
append
(
"<LeftBracket></LeftBracket>"
);
sb
.
append
(
"<LeftValue>CHARGE_NUM</LeftValue>"
);
sb
.
append
(
"<ConditionCalculation>=</ConditionCalculation>"
);
sb
.
append
(
"<RightValue>"
+
xyrParam
.
getSjhm
()
+
"</RightValue>"
);
sb
.
append
(
"<RightBracket></RightBracket>"
);
sb
.
append
(
"</FieldCondition></Fields></Body></Content>"
);
return
sb
.
toString
();
}
}
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/LogUtil.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
publicapi
.
controller
.
KshService
;
import
com.founder.commonutils.model.newPublicEntity.hnkshEntity.SysGnsyrzServerApi
;
import
com.founder.publicapi.mapper.mysqlMapper.SysGnsyrzServerApiMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.UUID
;
@Service
public
class
LogUtil
{
@Autowired
private
SysGnsyrzServerApiMapper
sysGnsyrzServerApiMapper
;
public
String
getRzlsh
(
String
unitCode
)
{
String
qlw
=
unitCode
.
substring
(
0
,
6
);
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
String
sjdate
=
formatter
.
format
(
new
Date
());
String
lsh
=
getOrderIdByUUId
();
String
yrzlsh
=
qlw
+
sjdate
+
lsh
;
String
rzlsh
=
yrzlsh
.
replace
(
" "
,
""
);
return
rzlsh
;
}
private
String
getOrderIdByUUId
()
{
int
machineId
=
1
;
int
hashCodeV
=
UUID
.
randomUUID
().
toString
().
hashCode
();
if
(
hashCodeV
<
0
)
{
hashCodeV
=
-
hashCodeV
;
}
return
machineId
+
String
.
format
(
"%015d"
,
hashCodeV
);
}
public
String
insertGNSYRZOPENAPI
(
String
type
,
String
yymc
,
String
cxcs
,
String
userId
,
String
userName
,
String
unitCode
,
String
unitName
,
String
lxdh
,
String
ip
)
{
String
rzlsh
=
null
;
rzlsh
=
getRzlsh
(
unitCode
);
String
cznr
=
""
;
if
(
cxcs
!=
null
&&
!
""
.
equals
(
cxcs
))
{
cxcs
=
cxcs
.
replace
(
" "
,
","
);
}
if
(
"01"
.
equals
(
type
))
{
cznr
=
"执行[查询]动作,参数为:"
+
cxcs
;
}
else
if
(
"02"
.
equals
(
type
))
{
cznr
=
"执行[新建]动作"
;
}
else
if
(
"03"
.
equals
(
type
))
{
cznr
=
"执行[修改]动作,参数为:"
+
cxcs
;
}
else
if
(
"04"
.
equals
(
type
))
{
cznr
=
"执行[删除]动作,参数为:"
+
cxcs
;
}
else
if
(
"05"
.
equals
(
type
))
{
cznr
=
"执行[点击访问]动作,参数为:"
+
cxcs
;
}
else
if
(
"09"
.
equals
(
type
))
{
cznr
=
"执行[登录]动作,参数为:"
+
cxcs
;
}
else
{
cznr
=
"执行[未知]操作,参数为:"
+
cxcs
+
",类型为:"
+
type
;
}
Date
now
=
new
Date
();
SysGnsyrzServerApi
gnsyrz
=
new
SysGnsyrzServerApi
();
gnsyrz
.
setYhGmsfhm
(
userId
);
gnsyrz
.
setYhIp
(
ip
);
gnsyrz
.
setYhdwGajgjgdm
(
unitCode
);
gnsyrz
.
setYhdwGajgmc
(
unitName
);
gnsyrz
.
setRzlsh
(
rzlsh
);
gnsyrz
.
setDjsj
(
now
);
gnsyrz
.
setGxsj
(
now
);
gnsyrz
.
setFwsj
(
now
);
gnsyrz
.
setXxdjdwGajgjgdm
(
unitCode
);
gnsyrz
.
setXxdjdwGajgmc
(
unitName
);
gnsyrz
.
setXxscPdbz
(
"0"
);
gnsyrz
.
setXxdjryXm
(
userName
);
gnsyrz
.
setXxdjryGmsfhm
(
userId
);
gnsyrz
.
setXxdjryLxdh
(
lxdh
);
gnsyrz
.
setXxczdwGajgjgdm
(
unitCode
);
gnsyrz
.
setXxczdwGajgmc
(
unitName
);
gnsyrz
.
setXxczryGmsfhm
(
userId
);
gnsyrz
.
setXxczryXm
(
userName
);
gnsyrz
.
setCzlxdm
(
type
);
gnsyrz
.
setCzxxJyqk
(
cznr
);
gnsyrz
.
setYymcJyqk
(
yymc
);
gnsyrz
.
setXxlyms
(
"系统功能日志"
);
sysGnsyrzServerApiMapper
.
saveSysgnsyrz
(
gnsyrz
);
return
rzlsh
;
}
}
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/LogsUtil.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
publicapi
.
controller
.
KshService
;
import
java.lang.reflect.Method
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
LogsUtil
{
/**
* @Author Axu 获取类中的非空字段
* @Date 10:45 2019/11/15
* @Param [sourceObject]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public
static
Map
<
String
,
Object
>
getNotEmptyFiled
(
Object
sourceObject
){
Map
<
String
,
Object
>
notEmptyFiled
=
new
HashMap
<>();
Class
sourceClass
=
sourceObject
.
getClass
();
Method
[]
sourceMethods
=
sourceClass
.
getDeclaredMethods
();
for
(
int
i
=
0
;
i
<
sourceMethods
.
length
;
i
++){
String
methodName
=
sourceMethods
[
i
].
getName
();
if
(
methodName
!=
null
&&
methodName
.
startsWith
(
"get"
)){
try
{
Object
returnSource
=
sourceMethods
[
i
].
invoke
(
sourceObject
);
if
(
returnSource
!=
null
&&
!
returnSource
.
equals
(
""
)){
StringBuilder
stringBuilder
=
new
StringBuilder
();
stringBuilder
.
append
(
Character
.
toLowerCase
(
methodName
.
split
(
"get"
)[
1
].
charAt
(
0
))).
append
(
methodName
.
split
(
"get"
)[
1
].
substring
(
1
));
String
key
=
stringBuilder
.
toString
();
notEmptyFiled
.
put
(
key
,
returnSource
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
}
return
notEmptyFiled
;
}
}
service/publicapi/src/main/java/com/founder/publicapi/controller/SkInterface/GlgxInterface.java
View file @
ecf3fb58
...
...
@@ -402,7 +402,7 @@ public class GlgxInterface {
sb
.
append
(
"</FieldCondition></Fields></Body></Content>"
);
return
sb
.
toString
();
}
}
/**
* 手机号码机主查询参数
...
...
service/publicapi/src/main/java/com/founder/publicapi/controller/SkInterface/TsinfoController.java
View file @
ecf3fb58
/*
package
com
.
founder
.
publicapi
.
controller
.
SkInterface
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -11,14 +10,16 @@ import com.founder.commonutils.util.ExportExcelUtil;
import
com.founder.commonutils.util.HttpClient
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.xssf.usermodel.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import java.
util.ArrayList
;
import java.
util.Arrays
;
import java.util.
List
;
import
java.
io.IOException
;
import
java.
io.OutputStream
;
import
java.util.
*
;
import
java.util.concurrent.*
;
import
java.util.stream.Collectors
;
...
...
@@ -31,65 +32,32 @@ public class TsinfoController {
private
ThreadPoolTaskExecutor
threadPoolTaskExecutor
;
String
url
=
"http://tianshu.gat.zj/tsure/assistQueryResult/queryAssistForPage.json"
;
@
Pos
tMapping("/export")
@
Ge
tMapping
(
"/export"
)
@ApiOperation
(
"Excel接口"
)
public void export(@RequestParam(name = "id") String id){
// 天枢导出注册
CompletableFuture future = CompletableFuture.supplyAsync(() -> {
Integer zdryexist =0;
public
void
export
(
@RequestParam
(
name
=
"id"
)
String
id
,
HttpServletResponse
response
){
XSSFWorkbook
wb
=
new
XSSFWorkbook
();
try
{
List<CarInfo> carList = exportData(carInfoService.selectCarInfoListCount(entity),entity);
ExportExcelUtil<CarInfo> exportExcelUtil = new ExportExcelUtil<>();
String[] headersName = {"车架号","品牌型号","车辆颜色","发动机号","车辆所有人","出卖人姓名","出卖人身份证号","营业场所名称","法人姓名","法人联系电话"};
String[] headersField = {"vin","ppxh","ys","fdjh","clsyr","cmrXm","cmrZjhm","yycsmc","frxm","frlxdh"};
exportExcelUtil.exportExcel("DataStatistics", headersName, headersField, carList, response,"二手车信息");
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}, threadPoolTaskExecutor);
// 天枢导出登录
CompletableFuture future2 = CompletableFuture.supplyAsync(() -> {
Integer zdryexist =0;
try {
List<CarInfo> carList = exportData(carInfoService.selectCarInfoListCount(entity),entity);
ExportExcelUtil<CarInfo> exportExcelUtil = new ExportExcelUtil<>();
String[] headersName = {"车架号","品牌型号","车辆颜色","发动机号","车辆所有人","出卖人姓名","出卖人身份证号","营业场所名称","法人姓名","法人联系电话"};
String[] headersField = {"vin","ppxh","ys","fdjh","clsyr","cmrXm","cmrZjhm","yycsmc","frxm","frlxdh"};
exportExcelUtil.exportExcel("DataStatistics", headersName, headersField, carList, response,"二手车信息");
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}, threadPoolTaskExecutor);
// 天枢导出交易
CompletableFuture future3 = CompletableFuture.supplyAsync(() -> {
Integer zdryexist =0;
try {
List<CarInfo> carList = exportData(carInfoService.selectCarInfoListCount(entity),entity);
ExportExcelUtil<CarInfo> exportExcelUtil = new ExportExcelUtil<>();
String[] headersName = {"车架号","品牌型号","车辆颜色","发动机号","车辆所有人","出卖人姓名","出卖人身份证号","营业场所名称","法人姓名","法人联系电话"};
String[] headersField = {"vin","ppxh","ys","fdjh","clsyr","cmrXm","cmrZjhm","yycsmc","frxm","frlxdh"};
exportExcelUtil.exportExcel("DataStatistics", headersName, headersField, carList, response,"二手车信息");
// table 登录(logon_log_acc) 注册(register) 账户明细(consume_query_real_time)
createExcel
(
exportData
(
"logon_log_acc"
,
id
),
"登录"
,
wb
);
createExcel
(
exportData
(
"register"
,
id
),
"注册"
,
wb
);
createExcel
(
exportData
(
"consume_query_real_time"
,
id
),
"交易"
,
wb
);
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
.
concat
(
"log.xls"
));
OutputStream
out
=
response
.
getOutputStream
();
wb
.
write
(
out
);
wb
.
close
();
out
.
close
();;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return "success";
}, threadPoolTaskExecutor);
future.join();
future2.join();
future3.join();
}
public List<CarInfo> exportData(int size,CarInfo carInfo) throws Exception {
List<CarInfo> list = new ArrayList<>();
public
List
<
Map
<
String
,
Object
>>
exportData
(
String
table
,
String
id
)
throws
Exception
{
int
size
=
getCount
(
table
,
id
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
// 分页
int
limit
=
1000
;
// 特殊处理
if(limit==0){
limit=1;
}
long
threadNum
=
size
/
limit
;
int
startnum
=
0
;
int
endnum
=
0
;
...
...
@@ -106,55 +74,54 @@ public class TsinfoController {
if
(
startnum
==
endnum
)
{
break
;
}
carInfo.setPage(startnum);
carInfo.setPageSize(limit);
Task task = new Task(carInfo);
FutureTask<List<CarInfo>> futureTask = new FutureTask<>(task);
Task
task
=
new
Task
(
table
,
limit
,
startnum
,
id
);
FutureTask
<
List
<
Map
<
String
,
Object
>>>
futureTask
=
new
FutureTask
<>(
task
);
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
100
);
executorService
.
submit
(
futureTask
);
List<
CarInfo
> list1 = futureTask.get();
List
<
Map
<
String
,
Object
>
>
list1
=
futureTask
.
get
();
list
.
addAll
(
list1
);
executorService
.
shutdown
();
}
return
list
;
}
class Task implements Callable<List<
CarInfo
>> {
class
Task
implements
Callable
<
List
<
Map
<
String
,
Object
>
>>
{
private
String
table
;
private
Integer
pageSize
;
private
Integer
pageNum
;
public Task(String table,Integer pageSize,Integer pageNum) {
private
String
id
;
public
Task
(
String
table
,
Integer
pageSize
,
Integer
pageNum
,
String
id
)
{
this
.
table
=
table
;
this
.
pageSize
=
pageSize
;
this
.
pageNum
=
pageNum
;
this
.
id
=
id
;
}
@Override
public List<
CarInfo
> call() {
list<
> listResult = new ArrayList<>();
public
List
<
Map
<
String
,
Object
>
>
call
()
{
List
<
Map
<
String
,
Object
>
>
listResult
=
new
ArrayList
<>();
HttpClient
httpClient
=
new
HttpClient
();
JSONObject
params
=
new
JSONObject
();
// table 登录(logon_log_acc) 注册(register) 账户明细(consume_query_real_time)
params
.
put
(
"pageSize"
,
pageSize
);
params
.
put
(
"pageNum"
,
pageNum
);
params
.
put
(
"tsureRequireId"
,
"311072023091100672254"
);
params
.
put
(
"tableName"
,
table
);
JSONObject
result
=
null
;
try
{
result = httpClient.doPostJsonHunanTs(url, params.toJSONString());
} catch (Exception e) {
e.printStackTrace();
}
result
=
httpClient
.
doPostJsonHunanTs
(
url
,
params
.
toJSONString
(),
"JSESSIONID"
,
id
);
if
(
result
!=
null
)
{
if
(
"true"
.
equals
(
result
.
getString
(
"success"
)))
{
JSONArray
jsonArray
=
result
.
getJSONArray
(
"data"
);
listResult
=
(
List
<
Map
<
String
,
Object
>>)
translate
(
jsonArray
);
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
listResult
;
}
}
// 获取总数
public Integer getCount(String table){
public
Integer
getCount
(
String
table
,
String
id
){
Integer
totalCount
=
0
;
HttpClient
httpClient
=
new
HttpClient
();
JSONObject
params
=
new
JSONObject
();
...
...
@@ -165,7 +132,7 @@ public class TsinfoController {
params
.
put
(
"tableName"
,
table
);
JSONObject
result
=
null
;
try
{
result = httpClient.doPostJsonHunanTs(url, params.toJSONString());
result
=
httpClient
.
doPostJsonHunanTs
(
url
,
params
.
toJSONString
()
,
"JSESSIONID"
,
id
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -176,5 +143,97 @@ public class TsinfoController {
}
return
totalCount
;
}
/**
* 将JSONArray对象转换成List集合
*
* @param json
* @return
* @see
*/
public
static
Object
translate
(
JSONArray
json
)
{
List
<
Object
>
list
=
new
ArrayList
<
Object
>();
for
(
Object
o
:
json
)
{
if
(
o
instanceof
JSONArray
)
list
.
add
(
translate
((
JSONArray
)
o
));
else
if
(
o
instanceof
JSONObject
)
list
.
add
(
translate
((
JSONObject
)
o
));
else
list
.
add
(
o
);
}
return
list
;
}
/**
* 将JSONObjec对象转换成Map集合
*
* @param json
* @return
* @see
*/
public
static
HashMap
<
String
,
Object
>
translate
(
JSONObject
json
)
{
HashMap
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Set
keys
=
json
.
keySet
();
for
(
Object
key
:
keys
)
{
Object
o
=
json
.
get
(
key
);
if
(
o
instanceof
JSONArray
)
map
.
put
((
String
)
key
,
translate
((
JSONArray
)
o
));
else
if
(
o
instanceof
JSONObject
)
map
.
put
((
String
)
key
,
translate
((
JSONObject
)
o
));
else
map
.
put
((
String
)
key
,
o
);
}
return
map
;
}
public
void
createExcel
(
List
<
Map
<
String
,
Object
>>
mapList
,
String
title
,
XSSFWorkbook
wb
)
{
//获取数据源的 key, 用于获取列数及设置标题
Map
<
String
,
Object
>
map
=
mapList
.
get
(
0
);
Set
<
String
>
stringSet
=
map
.
keySet
();
ArrayList
<
String
>
headList
=
new
ArrayList
<>(
stringSet
);
//创建一个Sheet页
XSSFSheet
sheet
=
wb
.
createSheet
(
title
);
//设置行高
sheet
.
setDefaultRowHeight
((
short
)
(
2
*
256
));
//为有数据的每列设置列宽
for
(
int
i
=
0
;
i
<
headList
.
size
();
i
++)
{
sheet
.
setColumnWidth
(
i
,
8000
);
}
//设置单元格字体样式
XSSFFont
font
=
wb
.
createFont
();
font
.
setFontName
(
"等线"
);
font
.
setFontHeightInPoints
((
short
)
16
);
//在sheet里创建第一行,并设置单元格内容为 title (标题)
XSSFRow
titleRow
=
sheet
.
createRow
(
0
);
XSSFCell
titleCell
=
titleRow
.
createCell
(
0
);
titleCell
.
setCellValue
(
title
);
// 创建单元格文字居中样式并设置标题单元格居中
XSSFCellStyle
cellStyle
=
wb
.
createCellStyle
();
cellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
titleCell
.
setCellStyle
(
cellStyle
);
//获得表格第二行
XSSFRow
row
=
sheet
.
createRow
(
1
);
//根据数据源信息给第二行每一列设置标题
for
(
int
i
=
0
;
i
<
headList
.
size
();
i
++)
{
XSSFCell
cell
=
row
.
createCell
(
i
);
cell
.
setCellValue
(
headList
.
get
(
i
));
}
XSSFRow
rows
;
XSSFCell
cells
;
//循环拿到的数据给所有行每一列设置对应的值
for
(
int
i
=
0
;
i
<
mapList
.
size
();
i
++)
{
//在这个sheet页里创建一行
rows
=
sheet
.
createRow
(
i
+
2
);
//给该行数据赋值
for
(
int
j
=
0
;
j
<
headList
.
size
();
j
++)
{
String
value
;
if
(
mapList
.
get
(
i
).
get
(
headList
.
get
(
j
))
!=
null
){
value
=
mapList
.
get
(
i
).
get
(
headList
.
get
(
j
)).
toString
();
}
else
{
value
=
""
;
}
cells
=
rows
.
createCell
(
j
);
cells
.
setCellValue
(
value
);
}
}
}
}
*/
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/SysGnsyrzServerApiMapper.java
0 → 100644
View file @
ecf3fb58
package
com
.
founder
.
publicapi
.
mapper
.
mysqlMapper
;
import
com.founder.commonutils.model.newPublicEntity.hnkshEntity.SysGnsyrzServerApi
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Component
;
@Component
@Mapper
public
interface
SysGnsyrzServerApiMapper
{
void
saveSysgnsyrz
(
SysGnsyrzServerApi
var1
);
}
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/SysGnsyrzServerApiMapper.xml
0 → 100644
View file @
ecf3fb58
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.founder.publicapi.mapper.mysqlMapper.SysGnsyrzServerApiMapper"
>
<insert
id=
"saveSysgnsyrz"
parameterType=
"com.founder.commonutils.model.newPublicEntity.hnkshEntity.SysGnsyrzServerApi"
>
INSERT INTO sys_gnsyrz_serverapi (
rzlsh
,fwsj
,yymc_jyqk
,yh_gmsfhm
,yh_ip
,yhdw_gajgjgdm
,yhdw_gajgmc
,czlxdm
,czxx_jyqk
,xxsc_pdbz
,xxdjdw_gajgjgdm
,xxdjdw_gajgmc
,xxdjry_xm
,xxdjry_gmsfhm
,xxdjry_lxdh
,djsj
,xxczdw_gajgjgdm
,xxczdw_gajgmc
,xxczry_xm
,xxczry_gmsfhm
,gxsj
,xxlyms
)
VALUES(
#{ rzlsh , jdbcType=VARCHAR }
,now()
,#{ yymcJyqk , jdbcType=VARCHAR }
,#{ yhGmsfhm , jdbcType=VARCHAR }
,#{ yhIp , jdbcType=VARCHAR }
,#{ yhdwGajgjgdm , jdbcType=VARCHAR }
,#{ yhdwGajgmc , jdbcType=VARCHAR }
,#{ czlxdm , jdbcType=VARCHAR }
,#{ czxxJyqk , jdbcType=VARCHAR }
,#{ xxscPdbz , jdbcType=VARCHAR }
,#{ xxdjdwGajgjgdm , jdbcType=VARCHAR }
,#{ xxdjdwGajgmc , jdbcType=VARCHAR }
,#{ xxdjryXm , jdbcType=VARCHAR }
,#{ xxdjryGmsfhm , jdbcType=VARCHAR }
,#{ xxdjryLxdh , jdbcType=VARCHAR }
,now()
,#{ xxczdwGajgjgdm , jdbcType=VARCHAR }
,#{ xxczdwGajgmc , jdbcType=VARCHAR }
,#{ xxczryXm , jdbcType=VARCHAR }
,#{ xxczryGmsfhm , jdbcType=VARCHAR }
,now()
,#{ xxlyms , jdbcType=VARCHAR }
)
</insert>
</mapper>
service/publicapi/src/main/java/com/founder/publicapi/mapper/mysqlMapper/xml/TbStAsjMapper.xml
View file @
ecf3fb58
...
...
@@ -87,8 +87,8 @@
<if
test=
"ajlbdm!= null and ajlbdm!=''"
>
AND T.AJLBDM like concat(#{ajlbdm , jdbcType=VARCHAR }, '%')
</if>
<if
test=
"zatz
Jyqk!= null and zatzJ
yqk!=''"
>
AND T.ZATZ_JYQK = #{zatz
J
yqk , jdbcType=VARCHAR }
<if
test=
"zatz
jyqk!= null and zatzj
yqk!=''"
>
AND T.ZATZ_JYQK = #{zatz
j
yqk , jdbcType=VARCHAR }
</if>
<if
test=
"ajxlb!= null and ajxlb!=''"
>
AND asjbz.ajxlb = #{ajxlb , jdbcType=VARCHAR }
...
...
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/TbStAsjServiceImpl.java
View file @
ecf3fb58
...
...
@@ -496,15 +496,15 @@ public class TbStAsjServiceImpl extends ServiceImpl<TbStAsjMapper, TbStAsj> impl
}
// 小类案别
if
(
StringUtils
.
isNotBlank
(
asj
.
getZatz
J
yqk
()))
{
if
(
StringUtils
.
isNotBlank
(
asj
.
getZatz
j
yqk
()))
{
// 根据规则截取
String
zatz
=
""
;
if
(
asj
.
getZatz
J
yqk
().
endsWith
(
"000000"
))
{
zatz
=
asj
.
getZatz
J
yqk
().
substring
(
0
,
6
)
+
"*"
;
}
else
if
(
asj
.
getZatz
J
yqk
().
endsWith
(
"00"
)){
zatz
=
asj
.
getZatz
J
yqk
().
substring
(
0
,
10
)
+
"*"
;
if
(
asj
.
getZatz
j
yqk
().
endsWith
(
"000000"
))
{
zatz
=
asj
.
getZatz
j
yqk
().
substring
(
0
,
6
)
+
"*"
;
}
else
if
(
asj
.
getZatz
j
yqk
().
endsWith
(
"00"
)){
zatz
=
asj
.
getZatz
j
yqk
().
substring
(
0
,
10
)
+
"*"
;
}
else
{
zatz
=
asj
.
getZatz
J
yqk
();
zatz
=
asj
.
getZatz
j
yqk
();
}
WildcardQueryBuilder
wildcardQueryBuilder
=
QueryBuilders
.
wildcardQuery
(
"zatzJyqk"
,
zatz
);
bqAj
.
must
(
wildcardQueryBuilder
);
...
...
service/publicapi/src/main/java/com/founder/publicapi/service/serviceimpl/ZtypServiceImpl.java
View file @
ecf3fb58
...
...
@@ -1244,7 +1244,7 @@ public class ZtypServiceImpl implements ZtypService {
naoTuHdXx
.
setDfsjhm
(
objPhone
.
getString
(
"oppositeNumber"
));
naoTuHdXx
.
setHjsj
(
objPhone
.
getString
(
"beginTime"
));
naoTuHdXx
.
setThsc
(
objPhone
.
getString
(
"timeLen"
));
naoTuHdXx
.
setThlx
(
getThlx
(
objPhone
.
getString
(
"
timeLen
"
)));
naoTuHdXx
.
setThlx
(
getThlx
(
objPhone
.
getString
(
"
CallType
"
)));
hdList
.
add
(
naoTuHdXx
);
}
}
...
...
service/publicapi/src/main/resources/data/getSmgl.json
View file @
ecf3fb58
{
"status"
:
200
,
"msg"
:
"ok"
,
"data"
:
{
"kshdata"
:
{
"nodes"
:
[
{
"id"
:
"BGSC001
"
,
"label"
:
"BGSC001
"
,
"id"
:
"18199625540
"
,
"label"
:
"18199625540
"
,
"properties"
:
{
"id"
:
"BGSC001"
,
"label"
:
"BGSC001"
,
"imgType"
:
"imsi"
"id"
:
"18199625540"
,
"label"
:
"18199625540"
,
"imgType"
:
"sjk"
,
"imagePhoto"
:
null
,
"boderColor"
:
null
}
},
{
"id"
:
"KFS00
1"
,
"label"
:
"KFS00
1"
,
"id"
:
"43012319651026589
1"
,
"label"
:
"43012319651026589
1"
,
"properties"
:
{
"id"
:
"KFS001"
,
"label"
:
"KFS001"
,
"imgType"
:
"imei"
"id"
:
"430123196510265891"
,
"label"
:
"430123196510265891"
,
"imgType"
:
"imsi"
,
"imagePhoto"
:
null
,
"boderColor"
:
null
}
},
{
"id"
:
"18545251333
"
,
"label"
:
"18545251333
"
,
"id"
:
"430123196510265892
"
,
"label"
:
"430123196510265892
"
,
"properties"
:
{
"id"
:
"18545251333"
,
"label"
:
"18545251333"
,
"imgType"
:
"sjk"
}
},
{
"id"
:
"长沙市第一医院"
,
"label"
:
"长沙市第一医院"
,
"properties"
:
{
"id"
:
"长沙市第一医院"
,
"label"
:
"长沙市第一医院"
,
"imgType"
:
"mac"
"id"
:
"430123196510265892"
,
"label"
:
"430123196510265892"
,
"imgType"
:
"imei"
,
"imagePhoto"
:
null
,
"boderColor"
:
null
}
}
],
"links"
:
[
{
"source"
:
"430123196510265891
"
,
"target"
:
"BGSC001
"
,
"label"
:
"IMSI
"
,
"source"
:
"18199625540
"
,
"target"
:
"430123196510265892
"
,
"label"
:
"imsi
"
,
"properties"
:
{
"time"
:
"2022-09-16 09:59:11"
,
"label"
:
"IMSI"
,
"source"
:
"430123196510265891"
,
"target"
:
"BGSC001"
}
},
"time"
:
null
,
"source"
:
"18199625540"
,
"target"
:
"430123196510265892"
,
"label"
:
"imsi"
,
"glgxData"
:
[
{
"source"
:
"430123196510265891"
,
"target"
:
"KFS001"
,
"label"
:
"IMEI"
,
"properties"
:
{
"time"
:
"2022-09-16 09:59:11"
,
"label"
:
"IMEI"
,
"source"
:
"430123196510265891"
,
"target"
:
"KFS001"
"bsh"
:
"18199625540"
,
"bshlx"
:
"sjk"
,
"glbsh"
:
"430123196510265892"
,
"glbshlx"
:
"imsi"
,
"sjly"
:
"科信"
,
"glgx"
:
"四码关联"
,
"glsj"
:
null
}
},
{
"source"
:
"430123196510265891"
,
"target"
:
"18545251333"
,
"label"
:
"手机号"
,
"properties"
:
{
"time"
:
"2022-09-16 09:59:11"
,
"label"
:
"手机号"
,
"source"
:
"430123196510265891"
,
"target"
:
"18545251333"
]
}
},
{
"source"
:
"430123196510265891
"
,
"target"
:
"长沙市第一医院
"
,
"label"
:
"MAC
"
,
"source"
:
"18199625540
"
,
"target"
:
"430123196510265891
"
,
"label"
:
"imei
"
,
"properties"
:
{
"time"
:
"2022-09-16 09:59:11"
,
"label"
:
"MAC"
,
"source"
:
"430123196510265891"
,
"target"
:
"长沙市第一医院"
"time"
:
null
,
"source"
:
"18199625540"
,
"target"
:
"430123196510265891"
,
"label"
:
"imei"
,
"glgxData"
:
[
{
"bsh"
:
"18199625540"
,
"bshlx"
:
"sjk"
,
"glbsh"
:
"430123196510265891"
,
"glbshlx"
:
"imei"
,
"sjly"
:
"科信"
,
"glgx"
:
"四码关联"
,
"glsj"
:
null
}
]
}
}
]
...
...
@@ -88,10 +88,11 @@
"dataSumup"
:
{
"name"
:
"四码关联"
,
"list"
:
[
"BGSC001"
,
"KFS001"
,
"18545251333"
,
"长沙市第一医院"
"18199625540"
,
"430123196510265892"
,
"430123196510265891"
]
}
},
"count"
:
null
}
\ No newline at end of file
service/publicapi/src/main/resources/data/getZjl.json
0 → 100644
View file @
ecf3fb58
{
"status"
:
200
,
"msg"
:
"ok"
,
"data"
:
{
"kshdata"
:
{
"nodes"
:
[
{
"id"
:
"6226201910281010001"
,
"label"
:
"转账/3万元"
,
"properties"
:
{
"id"
:
"6226201910281010001"
,
"label"
:
"转账/3万元"
,
"imgType"
:
"yhk"
,
"imagePhoto"
:
null
,
"boderColor"
:
null
}
},
{
"id"
:
"6226201910211010003"
,
"label"
:
"转账/7万元"
,
"properties"
:
{
"id"
:
"6226201910211010003"
,
"label"
:
"转账/7万元"
,
"imgType"
:
"yhk"
,
"imagePhoto"
:
null
,
"boderColor"
:
null
}
},
{
"id"
:
"6226201910211010002"
,
"label"
:
"转账/10万元"
,
"properties"
:
{
"id"
:
"6226201910211010003"
,
"label"
:
"转账/10万元"
,
"imgType"
:
"yhk"
,
"imagePhoto"
:
null
,
"boderColor"
:
null
}
}
],
"links"
:
[
{
"source"
:
"6226201910211010002"
,
"target"
:
"6226201910281010001"
,
"label"
:
"2023-08-05/转账3万元"
,
"properties"
:
{
"time"
:
"2023-08-05"
,
"source"
:
"6226201910211010002"
,
"target"
:
"6226201910281010001"
,
"label"
:
"2023-08-05"
,
"glgxData"
:
[
{
"bsh"
:
"6226201910211010002"
,
"bshlx"
:
"yhk"
,
"glbsh"
:
"6226201910281010001"
,
"glbshlx"
:
"yhk"
,
"sjly"
:
"库"
,
"glgx"
:
"转账记录"
,
"glsj"
:
"2023-08-05"
}
]
}
},
{
"source"
:
"6226201910211010002"
,
"target"
:
"6226201910211010003"
,
"label"
:
"2023-08-10/转账7万元"
,
"properties"
:
{
"time"
:
"2023-08-10"
,
"source"
:
"6226201910211010002"
,
"target"
:
"6226201910211010003"
,
"label"
:
"2023-08-10/转账7万元"
,
"glgxData"
:
[
{
"bsh"
:
"6226201910211010002"
,
"bshlx"
:
"yhk"
,
"glbsh"
:
"6226201910211010003"
,
"glbshlx"
:
"yhk"
,
"sjly"
:
"库"
,
"glgx"
:
"转账记录"
,
"glsj"
:
"2023-08-10"
}
]
}
}
]
},
"dataSumup"
:
{
"name"
:
"资金流"
,
"list"
:
[
"6226201910281010001"
,
"6226201910211010003"
,
"6226201910211010002"
]
}
},
"count"
:
null
}
\ 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