Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
event
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
陈世强
event
Commits
23ecd299
提交
23ecd299
authored
5月 13, 2025
作者:
obcy
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/event_fusion' into event_fusion
上级
a863b2f3
f5446161
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
220 行增加
和
137 行删除
+220
-137
LoginInterceptor.java
...a/com/zzsn/event/config/interceptor/LoginInterceptor.java
+1
-1
ReportDataController.java
...zsn/event/controller/reportData/ReportDataController.java
+134
-129
SearchCondition.java
...com/zzsn/event/controller/reportData/SearchCondition.java
+3
-0
EsService.java
src/main/java/com/zzsn/event/es/EsService.java
+4
-4
CommonMapper.java
src/main/java/com/zzsn/event/mapper/CommonMapper.java
+9
-0
CommonMapper.xml
src/main/java/com/zzsn/event/mapper/xml/CommonMapper.xml
+7
-0
CommonService.java
src/main/java/com/zzsn/event/service/CommonService.java
+10
-1
CommonServiceImpl.java
...n/java/com/zzsn/event/service/impl/CommonServiceImpl.java
+5
-0
InformationServiceImpl.java
...a/com/zzsn/event/service/impl/InformationServiceImpl.java
+18
-0
SubjectServiceImpl.java
.../java/com/zzsn/event/service/impl/SubjectServiceImpl.java
+1
-1
InfoDataSearchCondition.java
src/main/java/com/zzsn/event/vo/InfoDataSearchCondition.java
+5
-1
ReportConditionVO.java
src/main/java/com/zzsn/event/vo/ReportConditionVO.java
+19
-0
SubjectPageVO.java
src/main/java/com/zzsn/event/vo/SubjectPageVO.java
+4
-0
没有找到文件。
src/main/java/com/zzsn/event/config/interceptor/LoginInterceptor.java
浏览文件 @
23ecd299
...
@@ -39,7 +39,7 @@ public class LoginInterceptor implements HandlerInterceptor {
...
@@ -39,7 +39,7 @@ public class LoginInterceptor implements HandlerInterceptor {
String
userInfo
=
URLDecoder
.
decode
(
request
.
getHeader
(
LOGIN_USER_HEADER
),
StandardCharsets
.
UTF_8
);
String
userInfo
=
URLDecoder
.
decode
(
request
.
getHeader
(
LOGIN_USER_HEADER
),
StandardCharsets
.
UTF_8
);
log
.
debug
(
"当前登录用户信息:{}"
,
userInfo
);
log
.
debug
(
"当前登录用户信息:{}"
,
userInfo
);
if
(
StringUtils
.
isBlank
(
userInfo
))
{
if
(
StringUtils
.
isBlank
(
userInfo
))
{
returnJson
(
response
,
JSON
.
toJSONString
(
Result
.
FAIL
(
401
,
"
用户未
登录"
)));
returnJson
(
response
,
JSON
.
toJSONString
(
Result
.
FAIL
(
401
,
"
Token失效,请重新
登录"
)));
return
false
;
return
false
;
}
}
UserVo
userVo
=
JSON
.
parseObject
(
userInfo
,
UserVo
.
class
);
UserVo
userVo
=
JSON
.
parseObject
(
userInfo
,
UserVo
.
class
);
...
...
src/main/java/com/zzsn/event/controller/reportData/ReportDataController.java
浏览文件 @
23ecd299
...
@@ -240,6 +240,7 @@ public class ReportDataController {
...
@@ -240,6 +240,7 @@ public class ReportDataController {
}
}
return
Result
.
OK
(
list
);
return
Result
.
OK
(
list
);
}
}
/**
/**
* 标签分析(按标签分组)
* 标签分析(按标签分组)
*
*
...
@@ -293,7 +294,6 @@ public class ReportDataController {
...
@@ -293,7 +294,6 @@ public class ReportDataController {
}
}
/**
/**
* 事件对应专题库的资讯分页列表
* 事件对应专题库的资讯分页列表
*
*
...
@@ -375,147 +375,152 @@ public class ReportDataController {
...
@@ -375,147 +375,152 @@ public class ReportDataController {
private
BoolQueryBuilder
buildQuery
(
SearchCondition
searchCondition
)
{
private
BoolQueryBuilder
buildQuery
(
SearchCondition
searchCondition
)
{
//创建查询对象
//创建查询对象
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
String
subjectId
=
searchCondition
.
getSubjectId
();
List
<
String
>
ids
=
searchCondition
.
getIds
();
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId.keyword"
,
subjectId
));
if
(
CollectionUtils
.
isNotEmpty
(
ids
))
{
String
searchScope
=
searchCondition
.
getSearchScope
();
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"id"
,
ids
));
String
searchWord
=
searchCondition
.
getSearchWord
();
}
else
{
if
(
StringUtils
.
isNotEmpty
(
searchWord
))
{
String
subjectId
=
searchCondition
.
getSubjectId
();
if
(
"all"
.
equalsIgnoreCase
(
searchScope
))
{
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId.keyword"
,
subjectId
));
boolQuery
.
must
(
QueryBuilders
.
multiMatchQuery
(
searchWord
,
"title"
,
"content"
,
"origin"
));
String
searchScope
=
searchCondition
.
getSearchScope
();
}
else
{
String
searchWord
=
searchCondition
.
getSearchWord
();
boolQuery
.
must
(
QueryBuilders
.
matchPhraseQuery
(
searchScope
,
searchWord
));
if
(
StringUtils
.
isNotEmpty
(
searchWord
))
{
if
(
"all"
.
equalsIgnoreCase
(
searchScope
))
{
boolQuery
.
must
(
QueryBuilders
.
multiMatchQuery
(
searchWord
,
"title"
,
"content"
,
"origin"
));
}
else
{
boolQuery
.
must
(
QueryBuilders
.
matchPhraseQuery
(
searchScope
,
searchWord
));
}
}
}
}
//高级查询数据处理
//高级查询数据处理
BoolQueryBuilder
superQuery
=
buildSuperQuery
(
searchCondition
.
getSuperQueryMatchType
(),
searchCondition
.
getSuperQueryParams
());
BoolQueryBuilder
superQuery
=
buildSuperQuery
(
searchCondition
.
getSuperQueryMatchType
(),
searchCondition
.
getSuperQueryParams
());
if
(
superQuery
!=
null
)
{
if
(
superQuery
!=
null
)
{
boolQuery
.
must
(
superQuery
);
boolQuery
.
must
(
superQuery
);
}
//审核状态
Integer
status
=
searchCondition
.
getAuditStatus
();
if
(
status
!=
null
)
{
if
(
status
==
1
)
{
searchCondition
.
setCheckStatus
(
1
);
}
else
if
(
status
==
2
)
{
searchCondition
.
setCheckStatus
(
0
);
searchCondition
.
setDeleteFlag
(
0
);
}
else
if
(
status
==
3
)
{
searchCondition
.
setCheckStatus
(
3
);
}
else
if
(
status
==
4
)
{
searchCondition
.
setDeleteFlag
(
1
);
}
else
if
(
status
==
5
)
{
searchCondition
.
setIsFreeCheck
(
1
);
}
}
}
//审核状态
Integer
checkStatus
=
searchCondition
.
getCheckStatus
();
Integer
status
=
searchCondition
.
getAuditStatus
();
Integer
deleteFlag
=
searchCondition
.
getDeleteFlag
();
if
(
status
!=
null
)
{
if
(
checkStatus
!=
null
)
{
if
(
status
==
1
)
{
if
(
checkStatus
==
0
)
{
searchCondition
.
setCheckStatus
(
1
);
BoolQueryBuilder
checkStatusBoolQuery
=
QueryBuilders
.
boolQuery
();
}
else
if
(
status
==
2
)
{
checkStatusBoolQuery
.
should
(
QueryBuilders
.
termQuery
(
"checkStatus"
,
checkStatus
));
searchCondition
.
setCheckStatus
(
0
);
checkStatusBoolQuery
.
should
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
"checkStatus"
)));
searchCondition
.
setDeleteFlag
(
0
);
boolQuery
.
must
(
checkStatusBoolQuery
);
}
else
if
(
status
==
3
)
{
searchCondition
.
setCheckStatus
(
3
);
}
else
if
(
status
==
4
)
{
searchCondition
.
setDeleteFlag
(
1
);
}
else
if
(
status
==
5
)
{
searchCondition
.
setIsFreeCheck
(
1
);
}
}
Integer
checkStatus
=
searchCondition
.
getCheckStatus
();
Integer
deleteFlag
=
searchCondition
.
getDeleteFlag
();
if
(
checkStatus
!=
null
)
{
if
(
checkStatus
==
0
)
{
BoolQueryBuilder
checkStatusBoolQuery
=
QueryBuilders
.
boolQuery
();
checkStatusBoolQuery
.
should
(
QueryBuilders
.
termQuery
(
"checkStatus"
,
checkStatus
));
checkStatusBoolQuery
.
should
(
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
existsQuery
(
"checkStatus"
)));
boolQuery
.
must
(
checkStatusBoolQuery
);
}
else
{
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"checkStatus"
,
checkStatus
));
}
}
else
{
}
else
{
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"checkStatus"
,
checkStatus
));
if
(
deleteFlag
==
null
)
{
deleteFlag
=
0
;
}
}
}
}
else
{
//删除状态查询
if
(
deleteFlag
==
null
)
{
if
(
deleteFlag
!=
null
)
{
deleteFlag
=
0
;
if
(
deleteFlag
!=
0
)
{
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"deleteFlag"
,
"1"
));
}
else
{
boolQuery
.
mustNot
(
QueryBuilders
.
termQuery
(
"deleteFlag"
,
"1"
));
}
}
}
}
//免审核状态
//删除状态查询
if
(
searchCondition
.
getIsFreeCheck
()
!=
null
)
{
if
(
deleteFlag
!=
null
)
{
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"isFreeCheck"
,
searchCondition
.
getClassificationType
()));
if
(
deleteFlag
!=
0
)
{
}
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"deleteFlag"
,
"1"
));
boolQuery
.
mustNot
(
QueryBuilders
.
matchQuery
(
"type"
,
"video"
));
//专题库类别筛选
if
(
CollectionUtils
.
isNotEmpty
(
searchCondition
.
getClassificationType
()))
{
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"classificationType"
,
searchCondition
.
getClassificationType
()));
}
//是否原创
if
(
StringUtils
.
isNotEmpty
(
searchCondition
.
getOriginality
()))
{
boolQuery
.
must
(
QueryBuilders
.
matchQuery
(
"originality"
,
searchCondition
.
getOriginality
()));
}
//得分范围筛选
Integer
minScore
=
searchCondition
.
getMinScore
();
if
(
minScore
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"score"
).
gte
(
minScore
));
}
Integer
maxScore
=
searchCondition
.
getMaxScore
();
if
(
maxScore
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"score"
).
lte
(
maxScore
));
}
//时间过滤筛选-前端传参
if
(
searchCondition
.
getStartTime
()
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
gte
(
EsDateUtil
.
esFieldDateFormat
(
DateUtil
.
dateToString
(
searchCondition
.
getStartTime
()))));
}
if
(
searchCondition
.
getEndTime
()
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
lte
(
EsDateUtil
.
esFieldDateFormat
(
DateUtil
.
dateToString
(
searchCondition
.
getEndTime
()))));
}
else
{
}
else
{
boolQuery
.
mustNot
(
QueryBuilders
.
termQuery
(
"deleteFlag"
,
"1"
));
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
lte
(
EsDateUtil
.
esFieldDateFormat
(
DateUtil
.
dateToString
(
new
Date
()))
));
}
}
}
//组合标签查询(不同类标签之间是与的关系,同一类标签之间是或的关系),示例: "a1,a2;c1,c2;e1,e2"
//免审核状态
String
composeSearchLabelIds
=
searchCondition
.
getComposeSearchLabelIds
();
if
(
searchCondition
.
getIsFreeCheck
()
!=
null
)
{
if
(
StringUtils
.
isNotEmpty
(
composeSearchLabelIds
))
{
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"isFreeCheck"
,
searchCondition
.
getClassificationType
()));
//分号隔开的标签查询用且的关系
}
String
[]
split
=
composeSearchLabelIds
.
split
(
";"
);
boolQuery
.
mustNot
(
QueryBuilders
.
matchQuery
(
"type"
,
"video"
));
for
(
String
items
:
split
)
{
//专题库类别筛选
List
<
String
>
labelIds
=
Arrays
.
asList
(
items
.
split
(
","
));
if
(
CollectionUtils
.
isNotEmpty
(
searchCondition
.
getClassificationType
()))
{
NestedQueryBuilder
nestedQueryBuilder
=
QueryBuilders
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"classificationType"
,
searchCondition
.
getClassificationType
()));
.
nestedQuery
(
"labels"
,
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
labelIds
),
ScoreMode
.
None
);
}
boolQuery
.
must
(
nestedQueryBuilder
);
//是否原创
}
if
(
StringUtils
.
isNotEmpty
(
searchCondition
.
getOriginality
()))
{
boolQuery
.
must
(
QueryBuilders
.
matchQuery
(
"originality"
,
searchCondition
.
getOriginality
()));
}
//得分范围筛选
Integer
minScore
=
searchCondition
.
getMinScore
();
if
(
minScore
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"score"
).
gte
(
minScore
));
}
Integer
maxScore
=
searchCondition
.
getMaxScore
();
if
(
maxScore
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"score"
).
lte
(
maxScore
));
}
//时间过滤筛选-前端传参
if
(
searchCondition
.
getStartTime
()
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
gte
(
EsDateUtil
.
esFieldDateFormat
(
DateUtil
.
dateToString
(
searchCondition
.
getStartTime
()))));
}
if
(
searchCondition
.
getEndTime
()
!=
null
)
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
lte
(
EsDateUtil
.
esFieldDateFormat
(
DateUtil
.
dateToString
(
searchCondition
.
getEndTime
()))));
}
else
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
lte
(
EsDateUtil
.
esFieldDateFormat
(
DateUtil
.
dateToString
(
new
Date
()))));
}
//组合标签查询(不同类标签之间是与的关系,同一类标签之间是或的关系),示例: "a1,a2;c1,c2;e1,e2"
String
composeSearchLabelIds
=
searchCondition
.
getComposeSearchLabelIds
();
if
(
StringUtils
.
isNotEmpty
(
composeSearchLabelIds
))
{
//分号隔开的标签查询用且的关系
String
[]
split
=
composeSearchLabelIds
.
split
(
";"
);
for
(
String
items
:
split
)
{
List
<
String
>
ids
=
Arrays
.
asList
(
items
.
split
(
","
));
NestedQueryBuilder
nestedQueryBuilder
=
QueryBuilders
.
nestedQuery
(
"labels"
,
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
ids
),
ScoreMode
.
None
);
boolQuery
.
must
(
nestedQueryBuilder
);
}
}
}
//关联标签id集合
//关联标签id集合
List
<
String
>
labelIds
=
searchCondition
.
getLabelIds
();
List
<
String
>
labelIds
=
searchCondition
.
getLabelIds
();
if
(
CollectionUtils
.
isNotEmpty
(
labelIds
))
{
if
(
CollectionUtils
.
isNotEmpty
(
labelIds
))
{
Set
<
String
>
relationIdSet
=
new
HashSet
<>(
labelIds
);
Set
<
String
>
relationIdSet
=
new
HashSet
<>(
labelIds
);
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
relationIdSet
);
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
relationIdSet
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
}
//正面标签
//正面标签
String
tendencyLabelId
=
searchCondition
.
getTendencyLabelId
();
String
tendencyLabelId
=
searchCondition
.
getTendencyLabelId
();
if
(
StringUtils
.
isNotBlank
(
tendencyLabelId
))
{
if
(
StringUtils
.
isNotBlank
(
tendencyLabelId
))
{
TermQueryBuilder
relationIdQuery
=
QueryBuilders
.
termQuery
(
"labels.relationId"
,
tendencyLabelId
);
TermQueryBuilder
relationIdQuery
=
QueryBuilders
.
termQuery
(
"labels.relationId"
,
tendencyLabelId
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
}
//地域标签
//地域标签
List
<
String
>
areaLabelIds
=
searchCondition
.
getAreaLabelIds
();
List
<
String
>
areaLabelIds
=
searchCondition
.
getAreaLabelIds
();
if
(
CollectionUtils
.
isNotEmpty
(
areaLabelIds
))
{
if
(
CollectionUtils
.
isNotEmpty
(
areaLabelIds
))
{
Set
<
String
>
relationIdSet
=
new
HashSet
<>(
areaLabelIds
);
Set
<
String
>
relationIdSet
=
new
HashSet
<>(
areaLabelIds
);
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
relationIdSet
);
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
relationIdSet
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
}
//企业标签
//企业标签
List
<
String
>
enterpriseLabelTypeIds
=
searchCondition
.
getEnterpriseLabelTypeIds
();
List
<
String
>
enterpriseLabelTypeIds
=
searchCondition
.
getEnterpriseLabelTypeIds
();
List
<
String
>
socialCreditCodeList
=
searchCondition
.
getSocialCreditCodeList
();
List
<
String
>
socialCreditCodeList
=
searchCondition
.
getSocialCreditCodeList
();
if
(
CollectionUtils
.
isNotEmpty
(
socialCreditCodeList
)
||
CollectionUtils
.
isNotEmpty
(
enterpriseLabelTypeIds
))
{
if
(
CollectionUtils
.
isNotEmpty
(
socialCreditCodeList
)
||
CollectionUtils
.
isNotEmpty
(
enterpriseLabelTypeIds
))
{
if
(
CollectionUtils
.
isEmpty
(
socialCreditCodeList
))
{
if
(
CollectionUtils
.
isEmpty
(
socialCreditCodeList
))
{
socialCreditCodeList
=
commonService
.
codesByLabels
(
enterpriseLabelTypeIds
);
socialCreditCodeList
=
commonService
.
codesByLabels
(
enterpriseLabelTypeIds
);
}
Set
<
String
>
codeSet
=
new
HashSet
<>(
socialCreditCodeList
);
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
codeSet
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
//信息源标签
List
<
Label
>
labelList
=
searchCondition
.
getInfoSourceLabelList
();
if
(
CollectionUtils
.
isNotEmpty
(
labelList
))
{
List
<
String
>
collect
=
labelList
.
stream
().
map
(
label
->
label
.
getLabelMark
()
+
"-"
+
label
.
getRelationId
()).
collect
(
Collectors
.
toList
());
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
collect
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
}
Set
<
String
>
codeSet
=
new
HashSet
<>(
socialCreditCodeList
);
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
codeSet
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
//信息源标签
List
<
Label
>
labelList
=
searchCondition
.
getInfoSourceLabelList
();
if
(
CollectionUtils
.
isNotEmpty
(
labelList
))
{
List
<
String
>
collect
=
labelList
.
stream
().
map
(
label
->
label
.
getLabelMark
()
+
"-"
+
label
.
getRelationId
()).
collect
(
Collectors
.
toList
());
TermsQueryBuilder
relationIdQuery
=
QueryBuilders
.
termsQuery
(
"labels.relationId"
,
collect
);
boolQuery
.
must
(
QueryBuilders
.
nestedQuery
(
"labels"
,
relationIdQuery
,
ScoreMode
.
None
));
}
}
return
boolQuery
;
return
boolQuery
;
}
}
private
String
[]
getIndex
(
String
subjectId
){
private
String
[]
getIndex
(
String
subjectId
)
{
List
<
String
>
subjectIdList
=
new
ArrayList
<>();
List
<
String
>
subjectIdList
=
new
ArrayList
<>();
subjectIdList
.
add
(
subjectId
);
subjectIdList
.
add
(
subjectId
);
String
minDate
=
subjectService
.
getMinCreateTime
(
subjectIdList
);
String
minDate
=
subjectService
.
getMinCreateTime
(
subjectIdList
);
...
...
src/main/java/com/zzsn/event/controller/reportData/SearchCondition.java
浏览文件 @
23ecd299
...
@@ -11,6 +11,9 @@ import java.util.List;
...
@@ -11,6 +11,9 @@ import java.util.List;
@Data
@Data
public
class
SearchCondition
{
public
class
SearchCondition
{
//资讯id集合,和下面所有查询条件互斥
private
List
<
String
>
ids
;
//专题id
//专题id
@FieldDescription
(
value
=
"专题id"
)
@FieldDescription
(
value
=
"专题id"
)
private
String
subjectId
;
private
String
subjectId
;
...
...
src/main/java/com/zzsn/event/es/EsService.java
浏览文件 @
23ecd299
...
@@ -1855,20 +1855,20 @@ public class EsService {
...
@@ -1855,20 +1855,20 @@ public class EsService {
* 专题信息数量统计
* 专题信息数量统计
*
*
* @param subjectIds 专题id集合
* @param subjectIds 专题id集合
* @param
check
Status 审核状态
* @param
audit
Status 审核状态
* @param type 是否多层聚合(先按专题,再按发布时间)
* @param type 是否多层聚合(先按专题,再按发布时间)
* @author lkg
* @author lkg
* @date 2025/3/25
* @date 2025/3/25
*/
*/
public
List
<
StatisticVO
>
subjectStatisticInfo
(
List
<
String
>
subjectIds
,
Integer
check
Status
,
Integer
type
)
{
public
List
<
StatisticVO
>
subjectStatisticInfo
(
List
<
String
>
subjectIds
,
Integer
audit
Status
,
Integer
type
)
{
List
<
StatisticVO
>
list
=
new
ArrayList
<>();
List
<
StatisticVO
>
list
=
new
ArrayList
<>();
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
SUBJECT_INDEX
);
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
SUBJECT_INDEX
);
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
searchSourceBuilder
.
trackTotalHits
(
true
);
searchSourceBuilder
.
trackTotalHits
(
true
);
searchSourceBuilder
.
size
(
0
);
searchSourceBuilder
.
size
(
0
);
InfoDataSearchCondition
searchCondition
=
new
InfoDataSearchCondition
();
InfoDataSearchCondition
searchCondition
=
new
InfoDataSearchCondition
();
if
(
check
Status
!=
null
)
{
if
(
audit
Status
!=
null
)
{
searchCondition
.
set
CheckStatus
(
check
Status
);
searchCondition
.
set
AuditStatus
(
audit
Status
);
}
}
BoolQueryBuilder
boolQuery
=
buildQuery
(
searchCondition
,
subjectIds
);
BoolQueryBuilder
boolQuery
=
buildQuery
(
searchCondition
,
subjectIds
);
searchSourceBuilder
.
query
(
boolQuery
);
searchSourceBuilder
.
query
(
boolQuery
);
...
...
src/main/java/com/zzsn/event/mapper/CommonMapper.java
浏览文件 @
23ecd299
...
@@ -108,4 +108,13 @@ public interface CommonMapper {
...
@@ -108,4 +108,13 @@ public interface CommonMapper {
List
<
SysDict
>
selectOldLabelTypeList
();
List
<
SysDict
>
selectOldLabelTypeList
();
List
<
SysDict
>
selectLeaderTypeList
();
List
<
SysDict
>
selectLeaderTypeList
();
/**
* 获取报告资讯的(基础)筛选条件
*
* @param reportId 报告id
* @author lkg
* @date 2025/5/12
*/
ReportConditionVO
getReportCondition
(
@Param
(
"reportId"
)
String
reportId
);
}
}
src/main/java/com/zzsn/event/mapper/xml/CommonMapper.xml
浏览文件 @
23ecd299
...
@@ -256,4 +256,11 @@
...
@@ -256,4 +256,11 @@
select id,if(pid='0','2',pid) parentId,type_name dictName,has_child hasChild,if(has_child=0,'1',null) isDict
select id,if(pid='0','2',pid) parentId,type_name dictName,has_child hasChild,if(has_child=0,'1',null) isDict
from character_category_structure where category = 2
from character_category_structure where category = 2
</select>
</select>
<select
id=
"getReportCondition"
resultType=
"com.zzsn.event.vo.ReportConditionVO"
>
select r.start_time,r.end_time,t.data_base_condition from clb_report r
inner join clb_report_task t on r.task_id = t.id
where r.id = #{reportId}
</select>
</mapper>
</mapper>
src/main/java/com/zzsn/event/service/CommonService.java
浏览文件 @
23ecd299
package
com
.
zzsn
.
event
.
service
;
package
com
.
zzsn
.
event
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.zzsn.event.entity.ClbLabelItem
;
import
com.zzsn.event.feign.entity.SysDict
;
import
com.zzsn.event.feign.entity.SysDict
;
import
com.zzsn.event.util.tree.Node
;
import
com.zzsn.event.util.tree.Node
;
import
com.zzsn.event.vo.*
;
import
com.zzsn.event.vo.*
;
...
@@ -121,4 +120,14 @@ public interface CommonService {
...
@@ -121,4 +120,14 @@ public interface CommonService {
List
<
SysDict
>
selectOldLabelTypeList
();
List
<
SysDict
>
selectOldLabelTypeList
();
List
<
SysDict
>
selectLeaderTypeList
();
List
<
SysDict
>
selectLeaderTypeList
();
/**
* 获取报告资讯的(基础)筛选条件
*
* @param reportId 报告id
* @author lkg
* @date 2025/5/12
*/
ReportConditionVO
getReportCondition
(
String
reportId
);
}
}
src/main/java/com/zzsn/event/service/impl/CommonServiceImpl.java
浏览文件 @
23ecd299
...
@@ -373,6 +373,11 @@ public class CommonServiceImpl implements CommonService {
...
@@ -373,6 +373,11 @@ public class CommonServiceImpl implements CommonService {
return
commonMapper
.
selectLeaderTypeList
();
return
commonMapper
.
selectLeaderTypeList
();
}
}
@Override
public
ReportConditionVO
getReportCondition
(
String
reportId
)
{
return
commonMapper
.
getReportCondition
(
reportId
);
}
//获取树状结构
//获取树状结构
private
List
<
ModelVO
>
getTreeList
(
List
<
ModelVO
>
authTypeList
){
private
List
<
ModelVO
>
getTreeList
(
List
<
ModelVO
>
authTypeList
){
List
<
ModelVO
>
topList
=
new
ArrayList
<>();
List
<
ModelVO
>
topList
=
new
ArrayList
<>();
...
...
src/main/java/com/zzsn/event/service/impl/InformationServiceImpl.java
浏览文件 @
23ecd299
...
@@ -127,6 +127,24 @@ public class InformationServiceImpl implements InformationService {
...
@@ -127,6 +127,24 @@ public class InformationServiceImpl implements InformationService {
if
(
CollectionUtils
.
isEmpty
(
subjectIdList
))
{
if
(
CollectionUtils
.
isEmpty
(
subjectIdList
))
{
return
page
;
return
page
;
}
}
String
reportId
=
searchCondition
.
getReportId
();
if
(
StringUtils
.
isNotEmpty
(
reportId
))
{
ReportConditionVO
reportCondition
=
commonService
.
getReportCondition
(
reportId
);
String
dataBaseCondition
=
reportCondition
.
getDataBaseCondition
();
if
(
StringUtils
.
isNotEmpty
(
dataBaseCondition
))
{
dataBaseCondition
=
"{}"
;
}
JSONObject
reportBaseCondition
=
JSONObject
.
parseObject
(
dataBaseCondition
);
reportBaseCondition
.
put
(
"startTime"
,
reportCondition
.
getStartTime
());
reportBaseCondition
.
put
(
"endTime"
,
reportCondition
.
getEndTime
());
JSONObject
searchConditionJsonObject
=
ObjectUtil
.
objectToJSONObject
(
searchCondition
);
reportBaseCondition
.
forEach
((
key
,
value
)
->
{
if
(!
searchConditionJsonObject
.
containsKey
(
key
))
{
searchConditionJsonObject
.
put
(
key
,
value
);
}
});
searchCondition
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
searchConditionJsonObject
),
InfoDataSearchCondition
.
class
);
}
try
{
try
{
IPage
<
SpecialInformation
>
specialInformationIPage
=
esService
.
pageListByCondition
(
searchCondition
,
subjectIdList
);
IPage
<
SpecialInformation
>
specialInformationIPage
=
esService
.
pageListByCondition
(
searchCondition
,
subjectIdList
);
long
total
=
specialInformationIPage
.
getTotal
();
long
total
=
specialInformationIPage
.
getTotal
();
...
...
src/main/java/com/zzsn/event/service/impl/SubjectServiceImpl.java
浏览文件 @
23ecd299
...
@@ -209,7 +209,7 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
...
@@ -209,7 +209,7 @@ public class SubjectServiceImpl extends ServiceImpl<SubjectMapper, Subject> impl
List
<
StatisticVO
>
totalAndLatestDateList
=
esService
.
subjectStatisticInfo
(
subjectIds
,
null
,
1
);
List
<
StatisticVO
>
totalAndLatestDateList
=
esService
.
subjectStatisticInfo
(
subjectIds
,
null
,
1
);
Map
<
String
,
StatisticVO
>
totalAndLatestDateMap
=
totalAndLatestDateList
.
stream
().
collect
(
Collectors
.
toMap
(
StatisticVO:
:
getSubjectId
,
e
->
e
));
Map
<
String
,
StatisticVO
>
totalAndLatestDateMap
=
totalAndLatestDateList
.
stream
().
collect
(
Collectors
.
toMap
(
StatisticVO:
:
getSubjectId
,
e
->
e
));
//专题统计信息-待审核数量
//专题统计信息-待审核数量
List
<
StatisticVO
>
unCheckNumList
=
esService
.
subjectStatisticInfo
(
subjectIds
,
0
,
null
);
List
<
StatisticVO
>
unCheckNumList
=
esService
.
subjectStatisticInfo
(
subjectIds
,
2
,
null
);
Map
<
String
,
StatisticVO
>
unCheckNumMap
=
unCheckNumList
.
stream
().
collect
(
Collectors
.
toMap
(
StatisticVO:
:
getSubjectId
,
e
->
e
));
Map
<
String
,
StatisticVO
>
unCheckNumMap
=
unCheckNumList
.
stream
().
collect
(
Collectors
.
toMap
(
StatisticVO:
:
getSubjectId
,
e
->
e
));
//绑定全部信息源的专题
//绑定全部信息源的专题
...
...
src/main/java/com/zzsn/event/vo/InfoDataSearchCondition.java
浏览文件 @
23ecd299
...
@@ -64,7 +64,7 @@ public class InfoDataSearchCondition {
...
@@ -64,7 +64,7 @@ public class InfoDataSearchCondition {
//审核操作(0:未审核 1:审核通过 2:审核未通过 3:暂定 默认值为0)
//审核操作(0:未审核 1:审核通过 2:审核未通过 3:暂定 默认值为0)
private
Integer
checkStatus
;
private
Integer
checkStatus
;
//删除标记(1:删除;0:未删除)
//删除标记(1:删除;0:未删除)
private
Integer
deleteFlag
;
private
Integer
deleteFlag
=
0
;
//是否免审核(1-是;0-否)
//是否免审核(1-是;0-否)
private
Integer
isFreeCheck
;
private
Integer
isFreeCheck
;
...
@@ -110,6 +110,10 @@ public class InfoDataSearchCondition {
...
@@ -110,6 +110,10 @@ public class InfoDataSearchCondition {
private
String
superQueryParams
;
private
String
superQueryParams
;
/*------高级查询条件---end-------------------*/
/*------高级查询条件---end-------------------*/
//报告id (报告任务场景,根据报告id获取资讯的查询条件)
private
String
reportId
;
//数据集id,保存数据集时使用-研究中心
//数据集id,保存数据集时使用-研究中心
private
String
dataSetId
;
private
String
dataSetId
;
...
...
src/main/java/com/zzsn/event/vo/ReportConditionVO.java
0 → 100644
浏览文件 @
23ecd299
package
com
.
zzsn
.
event
.
vo
;
import
lombok.Data
;
/**
* 报告资讯条件
*
* @author lkg
* @date 2025/5/12
*/
@Data
public
class
ReportConditionVO
{
private
String
startTime
;
private
String
endTime
;
private
String
dataBaseCondition
;
}
src/main/java/com/zzsn/event/vo/SubjectPageVO.java
浏览文件 @
23ecd299
...
@@ -19,6 +19,8 @@ public class SubjectPageVO {
...
@@ -19,6 +19,8 @@ public class SubjectPageVO {
/**专题id*/
/**专题id*/
private
String
id
;
private
String
id
;
/**专题编码*/
private
String
subjectCode
;
/**专题名称*/
/**专题名称*/
private
String
subjectName
;
private
String
subjectName
;
/**状态(1-启用;0-禁用)*/
/**状态(1-启用;0-禁用)*/
...
@@ -41,6 +43,8 @@ public class SubjectPageVO {
...
@@ -41,6 +43,8 @@ public class SubjectPageVO {
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
latestDataDate
;
private
Date
latestDataDate
;
/**预估状态*/
private
String
estimateStatus
;
/**主题绑定流程信息*/
/**主题绑定流程信息*/
private
List
<
ClbModelArrange
>
clbModelArranges
;
private
List
<
ClbModelArrange
>
clbModelArranges
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论