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
062286c0
Commit
062286c0
authored
Nov 10, 2023
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
多维相关(湖南)
parent
ecf3fb58
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
536 additions
and
42 deletions
+536
-42
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/kshEntity/KshServiceCache.java
+18
-4
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/kshResult/KshTreeResultPojo.java
+123
-0
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/ztypEntity/KshServicePojo.java
+39
-37
common/common_utils/src/main/java/com/founder/commonutils/util/JsonValidator.java
+195
-0
common/service_base/src/main/java/com/founder/servicebase/controller/KshServiceController.java
+0
-0
common/service_base/src/main/java/com/founder/servicebase/service/KshCacheService.java
+3
-0
common/service_base/src/main/java/com/founder/servicebase/service/serviceimpl/KshCacheServiceImpl.java
+157
-0
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/KshSlServiceController.java
+1
-1
No files found.
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/kshEntity/KshServiceCache.java
View file @
062286c0
...
...
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.founder.commonutils.model.newPublicEntity.
ztypEntity.Ksj
ResultPojo
;
import
com.founder.commonutils.model.newPublicEntity.
kshResult.KshTree
ResultPojo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -53,13 +53,13 @@ public class KshServiceCache implements Serializable {
@TableField
(
"bz"
)
private
String
bz
;
@ApiModelProperty
(
value
=
"可视化数据"
)
@ApiModelProperty
(
value
=
"可视化数据
json
"
)
@TableField
(
"kshdata"
)
private
String
kshdataString
;
@ApiModelProperty
(
value
=
"
当前页
"
)
@ApiModelProperty
(
value
=
"
可视化数据entity
"
)
@TableField
(
exist
=
false
)
private
Ks
j
ResultPojo
kshdata
;
private
Ks
hTree
ResultPojo
kshdata
;
@ApiModelProperty
(
value
=
"当前页"
)
@TableField
(
exist
=
false
)
...
...
@@ -68,4 +68,18 @@ public class KshServiceCache implements Serializable {
@ApiModelProperty
(
value
=
"每页数"
)
@TableField
(
exist
=
false
)
private
int
pageSize
;
//最后三个用于多维查找筛选条件
@ApiModelProperty
(
value
=
"导出时间格式转换备用字段"
)
@TableField
(
exist
=
false
)
private
String
byzd1
;
//前端传大于小于等于
@ApiModelProperty
(
value
=
"前端页面查询传参"
)
@TableField
(
exist
=
false
)
private
String
param
;
@ApiModelProperty
(
value
=
"前端页面查询类型"
)
@TableField
(
exist
=
false
)
private
String
paramType
;
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/kshResult/KshTreeResultPojo.java
0 → 100644
View file @
062286c0
package
com
.
founder
.
commonutils
.
model
.
newPublicEntity
.
kshResult
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author sjq
* @description 多维保存/点击详情 专用
*/
@Data
public
class
KshTreeResultPojo
{
/**
* 节点信息组(去重的)
*/
private
List
<
Nodes
>
nodes
;
/**
* 关联关系组
*/
private
List
<
Links
>
links
;
@Data
public
static
class
Nodes
{
/**
* 点信息的唯一值(例如证件号码),节点是否去重就是依据id
*/
private
String
id
;
/**
* 节点下面显示的名称,如果需要多个显示,请传
* "李xx\n23岁\n前端开发工程师" 单个的话就 "李xx"
*/
private
String
label
;
/**
* 将节点所有的信息全部放到这个字段中,包括id和label,注意的是,这个对象必须有一个字段imgType(idcard: 人,aj: 案件,cph:车,sjk:手机,yhk:银行卡)判断节点图片
*/
private
KshTreeResultPojo
.
Nodes
.
Properties
properties
;
@Data
public
static
class
Properties
{
/**
* 节点下面显示的名称,如果需要多个显示,请传
* "李xx\n23岁\n前端开发工程师" 单个的话就 "李xx"
*/
private
String
id
;
/**
* 节点信息的唯一值(例如证件号码),节点是否去重就是依据id
*/
private
String
label
;
/**
* (idcard: 人,aj: 案件,cph:车,sjk:手机,yhk:银行卡)判断节点图片
*/
private
String
imgType
;
/**
* 人员照片
*/
private
String
imagePhoto
;
/**
* 节点颜色 #FF00FF
*/
private
String
boderColor
;
}
}
@Data
public
static
class
Links
{
/**
* 源节点id值
*/
private
String
source
;
/**
* 目标节点id值
*/
private
String
target
;
/**
* 节点连线显示文字
*/
private
String
label
;
/**
* 将连线所有的信息全部放到这个字段中,注意事项同上,没有必要字段imgType
*/
private
KshTreeResultPojo
.
Links
.
Properties
properties
;
@Data
public
static
class
Properties
{
/**
* 源节点id值
*/
private
String
source
;
/**
* 目标节点id值
*/
private
String
target
;
/**
* 节点连线显示文字
*/
private
String
label
;
private
List
<
GlgxData
>
glgxData
;
@Data
public
static
class
GlgxData
{
//标识号
private
String
bsh
;
//标识号类型
private
String
bshlx
;
//关联标识号
private
String
glbsh
;
//关联
private
String
glbshlx
;
//数据类型
private
String
sjly
;
//关联关系
private
String
glgx
;
//关联时间
private
String
glsj
;
}
}
}
}
common/common_utils/src/main/java/com/founder/commonutils/model/newPublicEntity/ztypEntity/KshServicePojo.java
View file @
062286c0
...
...
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
...
...
@@ -22,65 +24,65 @@ import java.util.Date;
@Data
@SuppressWarnings
(
"serial"
)
@TableName
(
"ksh_service"
)
@ApiModel
(
value
=
" 服务列表(ksh_service)表实体类"
,
description
=
""
)
public
class
KshServicePojo
extends
Model
<
KshServicePojo
>
{
@TableId
(
type
=
IdType
.
INPUT
)
/**信息主键编号(生成FW开头)*/
@ApiModelProperty
(
value
=
"信息主键编号(生成FW开头)"
)
private
String
xxzjbh
;
/**
* 算力名称
*/
@ApiModelProperty
(
value
=
"算力名称"
)
private
String
slname
;
/**
* 算力描述
*/
@ApiModelProperty
(
value
=
"算力描述"
)
private
String
slms
;
/**
* 请求url
*/
@ApiModelProperty
(
value
=
"请求url"
)
private
String
url
;
/**
* 路由名称
*/
@ApiModelProperty
(
value
=
"路由名称"
)
private
String
lymc
;
/**
* get/post方式
*/
@ApiModelProperty
(
value
=
"get/post方式"
)
private
String
type
;
/**
是否带时间参数:0表示否,1表示是
*/
@ApiModelProperty
(
value
=
"入参"
)
private
String
param
;
@ApiModelProperty
(
value
=
"是否带时间参数:0表示否,1表示是"
)
private
String
sfdsjcs
;
/**
* 是否删除,0表示否,1表示是
*/
@ApiModelProperty
(
value
=
"是否删除,0表示否,1表示是"
)
private
String
isdeleted
;
/**
* 创建时间
*/
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
cjsj
;
/**
* 创建开始时间
*/
@ApiModelProperty
(
value
=
"创建开始时间"
)
@TableField
(
exist
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
cjkssj
;
/**
* 创建结束时间
*/
@ApiModelProperty
(
value
=
"创建结束时间"
)
@TableField
(
exist
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
cjjssj
;
/**
* 当前页
*/
@ApiModelProperty
(
value
=
"当前页"
)
@TableField
(
exist
=
false
)
private
int
page
;
/**
* 路由名称
*/
@ApiModelProperty
(
value
=
"路由名称"
)
@TableField
(
exist
=
false
)
private
int
pageSize
;
//双击节点查询 前端把类型传过来 后台做校验
@ApiModelProperty
(
value
=
"类型"
)
@TableField
(
exist
=
false
)
private
String
objectType
;
@TableField
(
exist
=
false
)
private
int
num
=
2
;
}
common/common_utils/src/main/java/com/founder/commonutils/util/JsonValidator.java
0 → 100644
View file @
062286c0
package
com
.
founder
.
commonutils
.
util
;
/**
* 用于校验一个字符串是否是合法的JSON格式
*
*/
import
java.text.CharacterIterator
;
import
java.text.StringCharacterIterator
;
public
class
JsonValidator
{
private
CharacterIterator
it
;
private
char
c
;
private
int
col
;
public
JsonValidator
(){
}
/**
* 验证一个字符串是否是合法的JSON串
*
* @param input 要验证的字符串
* @return true-合法 ,false-非法
*/
public
boolean
validate
(
String
input
)
{
input
=
input
.
trim
();
boolean
ret
=
valid
(
input
);
return
ret
;
}
private
boolean
valid
(
String
input
)
{
if
(
""
.
equals
(
input
))
return
true
;
boolean
ret
=
true
;
it
=
new
StringCharacterIterator
(
input
);
c
=
it
.
first
();
col
=
1
;
if
(!
value
())
{
ret
=
error
(
"value"
,
1
);
}
else
{
skipWhiteSpace
();
if
(
c
!=
CharacterIterator
.
DONE
)
{
ret
=
error
(
"end"
,
col
);
}
}
return
ret
;
}
private
boolean
value
()
{
return
literal
(
"true"
)
||
literal
(
"false"
)
||
literal
(
"null"
)
||
string
()
||
number
()
||
object
()
||
array
();
}
private
boolean
literal
(
String
text
)
{
CharacterIterator
ci
=
new
StringCharacterIterator
(
text
);
char
t
=
ci
.
first
();
if
(
c
!=
t
)
return
false
;
int
start
=
col
;
boolean
ret
=
true
;
for
(
t
=
ci
.
next
();
t
!=
CharacterIterator
.
DONE
;
t
=
ci
.
next
())
{
if
(
t
!=
nextCharacter
())
{
ret
=
false
;
break
;
}
}
nextCharacter
();
if
(!
ret
)
error
(
"literal "
+
text
,
start
);
return
ret
;
}
private
boolean
array
()
{
return
aggregate
(
'['
,
']'
,
false
);
}
private
boolean
object
()
{
return
aggregate
(
'{'
,
'}'
,
true
);
}
private
boolean
aggregate
(
char
entryCharacter
,
char
exitCharacter
,
boolean
prefix
)
{
if
(
c
!=
entryCharacter
)
return
false
;
nextCharacter
();
skipWhiteSpace
();
if
(
c
==
exitCharacter
)
{
nextCharacter
();
return
true
;
}
for
(;;)
{
if
(
prefix
)
{
int
start
=
col
;
if
(!
string
())
return
error
(
"string"
,
start
);
skipWhiteSpace
();
if
(
c
!=
':'
)
return
error
(
"colon"
,
col
);
nextCharacter
();
skipWhiteSpace
();
}
if
(
value
())
{
skipWhiteSpace
();
if
(
c
==
','
)
{
nextCharacter
();
}
else
if
(
c
==
exitCharacter
)
{
break
;
}
else
{
return
error
(
"comma or "
+
exitCharacter
,
col
);
}
}
else
{
return
error
(
"value"
,
col
);
}
skipWhiteSpace
();
}
nextCharacter
();
return
true
;
}
private
boolean
number
()
{
if
(!
Character
.
isDigit
(
c
)
&&
c
!=
'-'
)
return
false
;
int
start
=
col
;
if
(
c
==
'-'
)
nextCharacter
();
if
(
c
==
'0'
)
{
nextCharacter
();
}
else
if
(
Character
.
isDigit
(
c
))
{
while
(
Character
.
isDigit
(
c
))
nextCharacter
();
}
else
{
return
error
(
"number"
,
start
);
}
if
(
c
==
'.'
)
{
nextCharacter
();
if
(
Character
.
isDigit
(
c
))
{
while
(
Character
.
isDigit
(
c
))
nextCharacter
();
}
else
{
return
error
(
"number"
,
start
);
}
}
if
(
c
==
'e'
||
c
==
'E'
)
{
nextCharacter
();
if
(
c
==
'+'
||
c
==
'-'
)
{
nextCharacter
();
}
if
(
Character
.
isDigit
(
c
))
{
while
(
Character
.
isDigit
(
c
))
nextCharacter
();
}
else
{
return
error
(
"number"
,
start
);
}
}
return
true
;
}
private
boolean
string
()
{
if
(
c
!=
'"'
)
return
false
;
int
start
=
col
;
boolean
escaped
=
false
;
for
(
nextCharacter
();
c
!=
CharacterIterator
.
DONE
;
nextCharacter
())
{
if
(!
escaped
&&
c
==
'\\'
)
{
escaped
=
true
;
}
else
if
(
escaped
)
{
if
(!
escape
())
{
return
false
;
}
escaped
=
false
;
}
else
if
(
c
==
'"'
)
{
nextCharacter
();
return
true
;
}
}
return
error
(
"quoted string"
,
start
);
}
private
boolean
escape
()
{
int
start
=
col
-
1
;
if
(
" \\\"/bfnrtu"
.
indexOf
(
c
)
<
0
)
{
return
error
(
"escape sequence \\\",\\\\,\\/,\\b,\\f,\\n,\\r,\\t or \\uxxxx "
,
start
);
}
if
(
c
==
'u'
)
{
if
(!
ishex
(
nextCharacter
())
||
!
ishex
(
nextCharacter
())
||
!
ishex
(
nextCharacter
())
||
!
ishex
(
nextCharacter
()))
{
return
error
(
"unicode escape sequence \\uxxxx "
,
start
);
}
}
return
true
;
}
private
boolean
ishex
(
char
d
)
{
return
"0123456789abcdefABCDEF"
.
indexOf
(
c
)
>=
0
;
}
private
char
nextCharacter
()
{
c
=
it
.
next
();
++
col
;
return
c
;
}
private
void
skipWhiteSpace
()
{
while
(
Character
.
isWhitespace
(
c
))
{
nextCharacter
();
}
}
private
boolean
error
(
String
type
,
int
col
)
{
System
.
out
.
printf
(
"type: %s, col: %s%s"
,
type
,
col
,
System
.
getProperty
(
"line.separator"
));
return
false
;
}
public
static
void
main
(
String
[]
args
){
String
s
=
"{\n"
+
"\t\"param\":[\n"
+
"\t\t{\"name\":\"身份证号\",\"id\":\"sfzh\",\"type\": \"text\"},{\"name\":\"类型\",\"id\":\"type\",\"type\":\"optional\",\"value\":[{\"lable\":\"配偶\",\"value\":\"01\"},{\"lable\":\"子女\",\"value\":\"02\"}]},{\"name\":\"开始时间\",\"id\":\"timeStart\",\"type\":\"time\",\"format\":\"yyyy-MM-dd\"},{\"name\":\"结束时间\",\"id\":\"timeEnd\",\"type\":\"time\",\"format\":\"yyyy-MM-dd\"}\n"
+
"\t]\n"
+
"\t\n"
+
"}"
;
System
.
out
.
println
(
s
+
":"
+
new
JsonValidator
().
validate
(
s
));
}
}
common/service_base/src/main/java/com/founder/servicebase/controller/KshServiceController.java
View file @
062286c0
This diff is collapsed.
Click to expand it.
common/service_base/src/main/java/com/founder/servicebase/service/KshCacheService.java
View file @
062286c0
package
com
.
founder
.
servicebase
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.founder.commonutils.model.newPublicEntity.MapRestResult
;
import
com.founder.commonutils.model.newPublicEntity.kshEntity.KshServiceCache
;
/**
...
...
@@ -11,5 +12,7 @@ import com.founder.commonutils.model.newPublicEntity.kshEntity.KshServiceCache;
*/
public
interface
KshCacheService
extends
IService
<
KshServiceCache
>
{
int
deleteKshCacheById
(
String
xxzjbh
);
//条件查询可视化服务信息
MapRestResult
getfFindKshCache
(
KshServiceCache
kshServiceCache
);
}
common/service_base/src/main/java/com/founder/servicebase/service/serviceimpl/KshCacheServiceImpl.java
View file @
062286c0
package
com
.
founder
.
servicebase
.
service
.
serviceimpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.founder.commonutils.model.newPublicEntity.MapRestResult
;
import
com.founder.commonutils.model.newPublicEntity.kshEntity.KshServiceCache
;
import
com.founder.commonutils.model.newPublicEntity.kshResult.KshTreeResultPojo
;
import
com.founder.servicebase.mapper.mysqlMapper.KshCacheMapper
;
import
com.founder.servicebase.mapper.mysqlMapper.KshMapper
;
import
com.founder.servicebase.service.KshCacheService
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.stream.Collectors
;
/**
* 服务列表(SkService)表服务实现类
*
...
...
@@ -24,5 +31,155 @@ public class KshCacheServiceImpl extends ServiceImpl<KshCacheMapper, KshServiceC
public
int
deleteKshCacheById
(
String
xxzjbh
)
{
return
kshCacheMapper
.
deleteById
(
xxzjbh
);
}
//条件查询可视化服务信息
@Override
public
MapRestResult
getfFindKshCache
(
KshServiceCache
kshServiceCache
)
{
KshTreeResultPojo
ResultPojo
=
new
KshTreeResultPojo
();
//定义要返回的可视化数据
List
<
KshTreeResultPojo
.
Nodes
>
ResultNodes
=
new
ArrayList
<
KshTreeResultPojo
.
Nodes
>();
List
<
KshTreeResultPojo
.
Links
>
ResultLinks
=
new
ArrayList
<
KshTreeResultPojo
.
Links
>();
//前端要查询的字段
String
param
=
kshServiceCache
.
getParam
();
//前端要查询的类型
String
type
=
kshServiceCache
.
getParamType
();
if
(
StringUtils
.
isEmpty
(
param
)
||
StringUtils
.
isEmpty
(
type
)){
return
new
MapRestResult
(
200
,
"请输入筛选条件"
,
null
);
}
String
byzd1
=
kshServiceCache
.
getByzd1
();
//大于小于等于
//获取可视化数据
KshTreeResultPojo
kshdata
=
kshServiceCache
.
getKshdata
();
List
<
KshTreeResultPojo
.
Nodes
>
nodes
=
kshdata
.
getNodes
();
//nodes
List
<
KshTreeResultPojo
.
Links
>
links
=
kshdata
.
getLinks
();
//links
//获取所有的link中source并去重 就是根节点的id
Set
<
String
>
collect
=
kshdata
.
getLinks
().
stream
()
.
map
(
KshTreeResultPojo
.
Links
::
getSource
)
.
collect
(
Collectors
.
toSet
());
if
(
collect
.
size
()
==
0
)
{
return
new
MapRestResult
(
200
,
"没找到对应的数据"
,
null
);
}
//在node中对应的id 就是根节点
//存放node的id 为了查询links
HashSet
<
String
>
ids
=
new
HashSet
<>();
// 过滤节点数组,找到每个根节点
nodes
.
forEach
(
node
->
{
for
(
String
s
:
collect
)
{
if
(
node
.
getId
().
equals
(
s
))
{
//添加根节点
ResultNodes
.
add
(
node
);
//存放根节点id
ids
.
add
(
node
.
getId
());
}
}
});
// =========ResultNodes已经添加上根节点
if
(
type
.
equals
(
"nodes"
))
{
//查找对象
AtomicInteger
i
=
new
AtomicInteger
(
1
);
nodes
.
forEach
(
node
->
{
//添加筛选的节点 根nodes中的lable来模糊查
if
(
node
.
getLabel
().
contains
(
param
))
{
i
.
getAndIncrement
();
ResultNodes
.
add
(
node
);
ids
.
add
(
node
.
getId
());
}
});
if
(
i
.
get
()
==
1
)
{
return
new
MapRestResult
(
200
,
"没找到对应的数据"
,
null
);
}
//最后nodes根据id去重 避免根节点包含param
List
<
KshTreeResultPojo
.
Nodes
>
collect1
=
ResultNodes
.
stream
().
collect
(
Collectors
.
collectingAndThen
(
Collectors
.
toCollection
(
()
->
new
TreeSet
<>(
Comparator
.
comparing
(
tc
->
tc
.
getId
())
)),
ArrayList:
:
new
));
// --------nodes结束---------
//在links的target中找对应的nodesid
links
.
forEach
(
link
->
{
for
(
String
id
:
ids
)
{
if
(
link
.
getTarget
().
equals
(
id
))
{
//添加根节点
ResultLinks
.
add
(
link
);
}
}
});
//---------links结束----------
ResultPojo
.
setNodes
(
collect1
);
ResultPojo
.
setLinks
(
ResultLinks
);
}
else
if
(
type
.
equals
(
"links"
))
{
//查找关系
//links中lable是关系数据
AtomicInteger
i
=
new
AtomicInteger
(
1
);
links
.
forEach
(
link
->
{
//添加符合关系的数据
if
(
link
.
getLabel
().
contains
(
param
))
{
i
.
getAndIncrement
();
ResultLinks
.
add
(
link
);
}
});
if
(
i
.
get
()
==
1
)
{
return
new
MapRestResult
(
200
,
"没找到对应的数据"
,
null
);
}
//遍历ResultLinks 获取和target所有 nodes中对应id获取对应的数据 ---ResultNodes 已经有根节点
nodes
.
forEach
(
n
->
{
ResultLinks
.
forEach
(
l
->
{
if
(
n
.
getId
().
equals
(
l
.
getTarget
()))
{
ResultNodes
.
add
(
n
);
}
});
});
ResultPojo
.
setNodes
(
ResultNodes
);
ResultPojo
.
setLinks
(
ResultLinks
);
}
else
if
(
type
.
equals
(
"searchValue"
))
{
//筛选关系个数节点
//根据source对links分组 来判断有关系节点
Map
<
String
,
List
<
KshTreeResultPojo
.
Links
>>
collect1
=
links
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
KshTreeResultPojo
.
Links
::
getSource
));
//设置link
for
(
Map
.
Entry
<
String
,
List
<
KshTreeResultPojo
.
Links
>>
s
:
collect1
.
entrySet
())
{
int
size
=
s
.
getValue
().
size
();
if
(
byzd1
.
equals
(
"大于"
)
&&
size
>
Integer
.
valueOf
(
param
))
{
for
(
KshTreeResultPojo
.
Links
links1
:
s
.
getValue
())
{
ResultLinks
.
add
(
links1
);
}
}
else
if
(
byzd1
.
equals
(
"小于"
)
&&
size
<
Integer
.
valueOf
(
param
))
{
for
(
KshTreeResultPojo
.
Links
links1
:
s
.
getValue
())
{
ResultLinks
.
add
(
links1
);
}
}
else
if
(
byzd1
.
equals
(
"等于"
)
&&
(
size
==
Integer
.
valueOf
(
param
)))
{
for
(
KshTreeResultPojo
.
Links
links1
:
s
.
getValue
())
{
ResultLinks
.
add
(
links1
);
}
}
}
if
(
ResultLinks
.
size
()
==
0
)
{
return
new
MapRestResult
(
200
,
"没找到对应的数据"
,
null
);
}
//遍历ResultLinks获取target target= node。id
Set
<
String
>
targets
=
ResultLinks
.
stream
()
.
map
(
KshTreeResultPojo
.
Links
::
getTarget
)
.
collect
(
Collectors
.
toSet
());
//遍历nodes去获取对应的node
nodes
.
forEach
(
node
->{
targets
.
forEach
(
target
->{
if
(
node
.
getId
().
equals
(
target
)){
ResultNodes
.
add
(
node
);
}
});
});
ResultPojo
.
setNodes
(
ResultNodes
);
ResultPojo
.
setLinks
(
ResultLinks
);
}
return
new
MapRestResult
(
ResultPojo
);
}
}
service/publicapi/src/main/java/com/founder/publicapi/controller/KshService/KshSlServiceController.java
View file @
062286c0
...
...
@@ -1599,7 +1599,7 @@ public class KshSlServiceController {
nodes
.
add
(
mergeDTOgjd
);
sumup
.
add
(
oppositeNumber
);
// links
kshlinks
link
=
link
(
sjh
,
oppositeNumber
,
"通话类型:"
+
callType
+
"通话时长:"
+
timeLen
+
"秒"
,
beginTime
,
sjh
,
"sjk"
,
oppositeNumber
,
"sjk"
,
"科兴"
,
"通联关系"
,
beginTime
);
kshlinks
link
=
link
(
phoneNumber
,
oppositeNumber
,
"通话类型:"
+
callType
+
"通话时长:"
+
timeLen
+
"秒"
,
beginTime
,
phoneNumber
,
"sjk"
,
oppositeNumber
,
"sjk"
,
"科兴"
,
"通联关系"
,
beginTime
);
re
.
add
(
link
);
}
else
if
(
total
<
1000
)
{
JSONArray
list
=
datalist
.
getJSONArray
(
"CommonQueryResultInfo"
);
...
...
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