Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
leader-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
leader-base
Commits
7a2a5474
提交
7a2a5474
authored
5月 08, 2024
作者:
ZhangJingKun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改bug
上级
2881a8b1
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
73 行增加
和
11 行删除
+73
-11
CharacterBasicInfoMapper.java
.../com/zzsn/leaderbase/mapper/CharacterBasicInfoMapper.java
+3
-4
EsServer.java
src/main/java/com/zzsn/leaderbase/service/EsServer.java
+9
-3
CharacterInfoServiceImpl.java
...zsn/leaderbase/service/impl/CharacterInfoServiceImpl.java
+47
-1
EsUtil.java
src/main/java/com/zzsn/leaderbase/util/EsUtil.java
+13
-2
CharacterVo.java
src/main/java/com/zzsn/leaderbase/vo/CharacterVo.java
+1
-1
没有找到文件。
src/main/java/com/zzsn/leaderbase/mapper/CharacterBasicInfoMapper.java
浏览文件 @
7a2a5474
...
...
@@ -60,7 +60,7 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
"and a.name = #{name} "
+
"and a.id != #{id} "
+
"and b.article_id != #{articleId} "
+
"and a.uid IS NOT NULL"
)
"and a.uid IS NOT NULL
and a.uid != ''
"
)
List
<
CharacterVo
>
getListByName
(
String
id
,
String
name
,
String
articleId
);
@Select
(
"select count(1) "
+
...
...
@@ -104,9 +104,8 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
"LEFT JOIN character_change_info b "
+
"on a.id = b.id "
+
"where 1=1 "
+
"and
merge_status = 3
"
+
"and
(merge_status = 3 or merge_status = 4)
"
+
"and b.original_id = #{id} "
+
"order by update_time desc "
+
"limit 1 "
)
"order by create_time desc "
)
List
<
CharacterVo
>
getByOriginalId
(
String
id
);
}
src/main/java/com/zzsn/leaderbase/service/EsServer.java
浏览文件 @
7a2a5474
...
...
@@ -10,6 +10,7 @@ import com.zzsn.leaderbase.vo.UserServerCharacterVo;
import
lombok.extern.slf4j.Slf4j
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.MultiMatchQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
...
...
@@ -61,9 +62,14 @@ public class EsServer {
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(relatedReportsVo.getKeyword(), "title", "content", "summary");
//searchSourceBuilder.query(multiMatchQueryBuilder);
//searchSourceBuilder.sort("publishDate", SortOrder.DESC);//如果按发布时间排序,则会出现排在最前面的信息和关键词相关度不高
searchSourceBuilder
.
query
(
QueryBuilders
.
termsQuery
(
"content"
,
relatedReportsVo
.
getKeyword
()));
// searchSourceBuilder.query(QueryBuilders.termQuery("content", relatedReportsVo.getKeyword()));
searchSourceBuilder
.
sort
(
"publishDate"
,
SortOrder
.
DESC
);
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
wildcardQuery
(
"contentWithTag.keyword"
,
"*"
+
relatedReportsVo
.
getKeyword
()+
"*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"summary.keyword"
,
"*"
+
relatedReportsVo
.
getKeyword
()+
"*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"title.keyword"
,
"*"
+
relatedReportsVo
.
getKeyword
()+
"*"
))
;
searchSourceBuilder
.
query
(
boolQuery
);
Page
<
SubjectInfoVo
>
page
=
null
;
try
{
...
...
src/main/java/com/zzsn/leaderbase/service/impl/CharacterInfoServiceImpl.java
浏览文件 @
7a2a5474
...
...
@@ -10,6 +10,7 @@ import com.zzsn.leaderbase.entity.CharacterTagMap;
import
com.zzsn.leaderbase.service.*
;
import
com.zzsn.leaderbase.vo.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -327,6 +328,19 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
List
<
CharacterVo
>
list
=
characterBasicInfoService
.
getByOriginalId
(
id
);
if
(
list
.
size
()
>
0
){
CharacterVo
vo
=
list
.
get
(
0
);
Long
mergeStatus
=
vo
.
getMergeStatus
();
if
(
mergeStatus
==
4L
){
this
.
del
(
vo
.
getId
());
CharacterVo
cvo
=
characterBasicInfoService
.
getById
(
id
);
if
(
list
.
size
()
<=
1
&&
StringUtils
.
isEmpty
(
cvo
.
getOriginalId
())){
cvo
.
setMergeStatus
(
0L
);
CharacterChangeInfo
info
=
new
CharacterChangeInfo
();
BeanUtils
.
copyProperties
(
cvo
,
info
);
characterChangeInfoService
.
updateById
(
info
);
}
}
else
{
//解绑人物uid
vo
.
setUid
(
""
);
//状态为可用
...
...
@@ -343,6 +357,15 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
.
eq
(
"id"
,
vo
.
getId
());
// 设置更新条件,这里以id作为更新条件
characterChangeInfoService
.
update
(
updateWrapper
);
CharacterVo
cvo
=
characterBasicInfoService
.
getById
(
id
);
if
(
list
.
size
()
<=
1
){
cvo
.
setMergeStatus
(
0L
);
CharacterChangeInfo
info
=
new
CharacterChangeInfo
();
BeanUtils
.
copyProperties
(
cvo
,
info
);
characterChangeInfoService
.
updateById
(
info
);
}
}
}
else
{
//根据id查询数据
CharacterVo
characterVo
=
characterBasicInfoService
.
getById
(
id
);
...
...
@@ -415,7 +438,21 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
characterChangeInfo
.
setUid
(
vo
.
getUid
());
characterChangeInfo
.
setCheckResult
(
1L
);
characterChangeInfo
.
setStatus
(
2L
);
characterChangeInfo
.
setOriginalId
(
id
);
characterChangeInfo
.
setMergeStatus
(
4L
);
characterChangeInfo
.
setCreateTime
(
new
Date
());
characterBasicInfo
.
setUpdateTime
(
new
Date
());
characterChangeInfoService
.
save
(
characterChangeInfo
);
//处理merge_status 的值
Long
mergeStatus
=
vo
.
getMergeStatus
();
if
(
mergeStatus
==
0L
){
vo
.
setMergeStatus
(
4L
);
CharacterChangeInfo
info
=
new
CharacterChangeInfo
();
BeanUtils
.
copyProperties
(
vo
,
info
);
characterChangeInfoService
.
updateById
(
info
);
}
return
Result
.
OK
();
}
...
...
@@ -517,8 +554,8 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
private
Result
<?>
mergeType3
(
String
originalId
,
CharacterVo
characterVo
){
//uid
String
uid
=
characterVo
.
getUid
();
if
(
uid
==
null
||
uid
.
length
()
==
0
){
CharacterVo
originalCharacter
=
characterBasicInfoService
.
getById
(
originalId
);
if
(
uid
==
null
||
uid
.
length
()
==
0
){
characterVo
.
setUid
(
originalCharacter
.
getUid
());
}
characterVo
.
setOriginalId
(
originalId
);
...
...
@@ -526,6 +563,15 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
characterVo
.
setStatus
(
0L
);
this
.
edit
(
characterVo
);
//处理merge_status 的值
Long
mergeStatus
=
originalCharacter
.
getMergeStatus
();
if
(
mergeStatus
==
0L
){
originalCharacter
.
setMergeStatus
(
4L
);
CharacterChangeInfo
info
=
new
CharacterChangeInfo
();
BeanUtils
.
copyProperties
(
originalCharacter
,
info
);
characterChangeInfoService
.
updateById
(
info
);
}
return
Result
.
OK
();
}
...
...
src/main/java/com/zzsn/leaderbase/util/EsUtil.java
浏览文件 @
7a2a5474
...
...
@@ -50,11 +50,13 @@ import org.elasticsearch.rest.RestStatus;
import
org.elasticsearch.script.Script
;
import
org.elasticsearch.script.ScriptType
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.aggregations.AggregationBuilder
;
import
org.elasticsearch.search.aggregations.AggregationBuilders
;
import
org.elasticsearch.search.aggregations.Aggregations
;
import
org.elasticsearch.search.aggregations.BucketOrder
;
import
org.elasticsearch.search.aggregations.bucket.terms.Terms
;
import
org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder
;
import
org.elasticsearch.search.aggregations.metrics.Cardinality
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.collapse.CollapseBuilder
;
import
org.elasticsearch.search.fetch.subphase.FetchSourceContext
;
...
...
@@ -895,8 +897,13 @@ public class EsUtil {
SearchRequest
searchRequest
=
new
SearchRequest
(
index
);
searchSourceBuilder
.
size
(
pageSize
);
searchSourceBuilder
.
from
((
pageNo
-
1
)
*
pageSize
);
//去重 collapse只允许keywords或者numbers类型
,字段xxx不是keywords或者numbers类型
//去重 collapse只允许keywords或者numbers类型
searchSourceBuilder
.
collapse
(
new
CollapseBuilder
(
"sourceAddress.keyword"
));
//collapse 去重后 hits的total value不对,对应的还是未去重的数量,
// 想要的是去重后的总数,可以借助 Aggregation 中的 cardinality 来实现
AggregationBuilder
aggregation
=
AggregationBuilders
.
cardinality
(
"total"
).
field
(
"sourceAddress.keyword"
);
searchSourceBuilder
.
aggregation
(
aggregation
);
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder
.
trackTotalHits
(
true
);
searchRequest
.
source
(
searchSourceBuilder
);
...
...
@@ -910,7 +917,11 @@ public class EsUtil {
list
.
add
(
t
);
});
}
pageData
.
setTotal
(
searchResponse
.
getHits
().
getTotalHits
().
value
);
Aggregations
aggregations
=
searchResponse
.
getAggregations
();
Cardinality
cardinality
=
aggregations
.
get
(
"total"
);
// pageData.setTotal(searchResponse.getHits().getTotalHits().value);
pageData
.
setTotal
(
cardinality
.
getValue
());
pageData
.
setRecords
(
list
);
return
pageData
;
...
...
src/main/java/com/zzsn/leaderbase/vo/CharacterVo.java
浏览文件 @
7a2a5474
...
...
@@ -129,7 +129,7 @@ public class CharacterVo {
private
String
originalId
;
//审核信息 新人物id
private
String
newId
;
//合并结果 0手动新增 1合并人物 2作为新人物 3新增履历 -1取消操作
//合并结果 0手动新增 1合并人物 2作为新人物 3新增履历
4关联
-1取消操作
private
Long
mergeStatus
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论