Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
leader-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
leader-base
Commits
6adabc6b
提交
6adabc6b
authored
3月 26, 2024
作者:
ZhangJingKun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2.0新增功能
上级
86bde111
隐藏空白字符变更
内嵌
并排
正在显示
34 个修改的文件
包含
836 行增加
和
62 行删除
+836
-62
CharacterDetailsController.java
...zsn/leaderbase/controller/CharacterDetailsController.java
+2
-2
CharacterInfoController.java
...m/zzsn/leaderbase/controller/CharacterInfoController.java
+28
-1
CharacterTagController.java
...om/zzsn/leaderbase/controller/CharacterTagController.java
+64
-0
LeaderCategoryController.java
.../zzsn/leaderbase/controller/LeaderCategoryController.java
+9
-42
CharacterBasicInfo.java
...n/java/com/zzsn/leaderbase/entity/CharacterBasicInfo.java
+1
-1
CharacterBasicInfoHistory.java
...com/zzsn/leaderbase/entity/CharacterBasicInfoHistory.java
+1
-1
CharacterCategoryStructure.java
...om/zzsn/leaderbase/entity/CharacterCategoryStructure.java
+1
-1
CharacterChangeInfo.java
.../java/com/zzsn/leaderbase/entity/CharacterChangeInfo.java
+1
-1
CharacterTag.java
src/main/java/com/zzsn/leaderbase/entity/CharacterTag.java
+61
-0
CharacterTagMap.java
...main/java/com/zzsn/leaderbase/entity/CharacterTagMap.java
+16
-0
CharacterTagTop.java
...main/java/com/zzsn/leaderbase/entity/CharacterTagTop.java
+27
-0
CharacterBasicInfoMapper.java
.../com/zzsn/leaderbase/mapper/CharacterBasicInfoMapper.java
+23
-0
CharacterTagMapMapper.java
...ava/com/zzsn/leaderbase/mapper/CharacterTagMapMapper.java
+32
-0
CharacterTagMapper.java
...n/java/com/zzsn/leaderbase/mapper/CharacterTagMapper.java
+27
-0
CharacterTagTopMapper.java
...ava/com/zzsn/leaderbase/mapper/CharacterTagTopMapper.java
+22
-0
CharacterBasicInfoService.java
...om/zzsn/leaderbase/service/CharacterBasicInfoService.java
+3
-0
CharacterInfoService.java
...ava/com/zzsn/leaderbase/service/CharacterInfoService.java
+6
-0
CharacterTagMapService.java
...a/com/zzsn/leaderbase/service/CharacterTagMapService.java
+18
-0
CharacterTagService.java
...java/com/zzsn/leaderbase/service/CharacterTagService.java
+23
-0
DealLeaderDataService.java
...va/com/zzsn/leaderbase/service/DealLeaderDataService.java
+9
-1
EsServer.java
src/main/java/com/zzsn/leaderbase/service/EsServer.java
+5
-1
LeaderCategoryService.java
...va/com/zzsn/leaderbase/service/LeaderCategoryService.java
+2
-0
CharacterBasicInfoServiceImpl.java
...eaderbase/service/impl/CharacterBasicInfoServiceImpl.java
+10
-0
CharacterInfoServiceImpl.java
...zsn/leaderbase/service/impl/CharacterInfoServiceImpl.java
+102
-5
CharacterTagMapServiceImpl.java
...n/leaderbase/service/impl/CharacterTagMapServiceImpl.java
+33
-0
CharacterTagServiceImpl.java
...zzsn/leaderbase/service/impl/CharacterTagServiceImpl.java
+118
-0
LeaderCategoryServiceImpl.java
...sn/leaderbase/service/impl/LeaderCategoryServiceImpl.java
+23
-0
EsUtil.java
src/main/java/com/zzsn/leaderbase/util/EsUtil.java
+70
-3
CharacterCategoryStructureTreeVo.java
.../zzsn/leaderbase/vo/CharacterCategoryStructureTreeVo.java
+1
-1
CharacterListVo.java
src/main/java/com/zzsn/leaderbase/vo/CharacterListVo.java
+1
-1
CharacterVo.java
src/main/java/com/zzsn/leaderbase/vo/CharacterVo.java
+6
-0
InfoExtractionParam.java
...main/java/com/zzsn/leaderbase/vo/InfoExtractionParam.java
+1
-0
CharacterBasicInfoMapper.xml
src/main/resources/mapper/CharacterBasicInfoMapper.xml
+10
-1
CharacterTagMapper.xml
src/main/resources/mapper/CharacterTagMapper.xml
+80
-0
没有找到文件。
src/main/java/com/zzsn/leaderbase/controller/CharacterDetailsController.java
浏览文件 @
6adabc6b
...
@@ -183,9 +183,9 @@ public class CharacterDetailsController {
...
@@ -183,9 +183,9 @@ public class CharacterDetailsController {
//参数校验
//参数校验
Integer
pageNo
=
relatedReportsVo
.
getPageNo
();
Integer
pageNo
=
relatedReportsVo
.
getPageNo
();
if
(
pageNo
<
1
)
if
(
pageNo
<
1
)
return
Result
.
error
(
"页码不能小于1!"
);
return
Result
.
OK
(
"页码不能小于1!"
,
null
);
if
(
relatedReportsVo
.
getKeyword
()
==
null
||
""
.
equals
(
relatedReportsVo
.
getKeyword
()))
if
(
relatedReportsVo
.
getKeyword
()
==
null
||
""
.
equals
(
relatedReportsVo
.
getKeyword
()))
return
Result
.
error
(
"搜索关键词不能为空!"
);
return
Result
.
OK
(
"搜索关键词不能为空!"
,
null
);
return
esServer
.
getRelatedReportsList
(
relatedReportsVo
);
return
esServer
.
getRelatedReportsList
(
relatedReportsVo
);
}
}
...
...
src/main/java/com/zzsn/leaderbase/controller/CharacterInfoController.java
浏览文件 @
6adabc6b
...
@@ -168,4 +168,30 @@ public class CharacterInfoController {
...
@@ -168,4 +168,30 @@ public class CharacterInfoController {
return
characterInfoService
.
mergeCancel
(
id
);
return
characterInfoService
.
mergeCancel
(
id
);
}
}
}
/**
* 根据uid查询人物的历任职务
* @param uid
* @return
*/
@GetMapping
(
"/getPreviousDuty"
)
public
Result
<?>
getPreviousDuty
(
@RequestParam
(
name
=
"uid"
,
required
=
true
)
String
uid
){
return
characterInfoService
.
getPreviousDuty
(
uid
);
}
/**
* 关联
* @param characterVo
* @return
*/
@PostMapping
(
"/correlation"
)
public
Result
<?>
correlation
(
@RequestBody
CharacterVo
characterVo
){
return
characterInfoService
.
correlation
(
characterVo
);
}
@PostMapping
(
"/correlationEdit"
)
public
Result
<?>
correlationEdit
(
@RequestBody
CharacterVo
characterVo
){
return
characterInfoService
.
correlationEdit
(
characterVo
);
}
}
\ No newline at end of file
src/main/java/com/zzsn/leaderbase/controller/CharacterTagController.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
controller
;
import
com.zzsn.leaderbase.service.CharacterTagService
;
import
com.zzsn.leaderbase.vo.Result
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 标签查询相关接口
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/20 18:26
* @Content:
*/
@RestController
@RequestMapping
(
"/api/tag"
)
public
class
CharacterTagController
{
@Autowired
CharacterTagService
characterTagService
;
//查询标签列表
/**
* 查询标签列表
* @param type
* @param category
* @return
*/
@GetMapping
(
"/getTagList"
)
public
Result
<?>
getTagList
(
@RequestParam
(
name
=
"type"
,
required
=
false
)
String
type
,
@RequestParam
(
name
=
"category"
,
required
=
false
)
String
category
){
return
characterTagService
.
getTagList
(
type
,
category
);
}
/**
* 根据标签分页查询人物
* @param tagName
* @return
*/
@GetMapping
(
"/getCharacterListByTag"
)
public
Result
<?>
getCharacterListByTag
(
@RequestParam
(
name
=
"tagName"
,
required
=
true
)
String
tagName
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
Integer
pageNo
,
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
Integer
pageSize
){
if
(
pageNo
==
null
&&
pageNo
<
1
)
pageNo
=
1
;
if
(
pageSize
==
null
&&
pageSize
<
0
)
pageSize
=
10
;
return
characterTagService
.
getCharacterListByTag
(
tagName
,
pageNo
,
pageSize
);
}
//热门标签
@GetMapping
(
"/getTopTag"
)
public
Result
<?>
getTopTag
(){
return
characterTagService
.
getTopTag
();
}
}
src/main/java/com/zzsn/leaderbase/controller/LeaderCategoryController.java
浏览文件 @
6adabc6b
...
@@ -89,48 +89,15 @@ public class LeaderCategoryController {
...
@@ -89,48 +89,15 @@ public class LeaderCategoryController {
@GetMapping
(
"/getByName"
)
@GetMapping
(
"/getByName"
)
public
Result
<?>
getByName
(
public
Result
<?>
getByName
(
@RequestParam
(
name
=
"category"
,
required
=
false
)
String
category
,
@RequestParam
(
name
=
"category"
,
required
=
false
)
String
category
,
@RequestParam
(
name
=
"typeName"
,
defaultValue
=
"0"
)
String
typeName
){
@RequestParam
(
name
=
"typeName"
,
required
=
false
)
String
typeName
){
return
leaderCategoryService
.
getByName
(
category
,
typeName
);
/*
if
(
typeName
==
null
||
""
.
equals
(
typeName
)){
CharacterCategoryStructureTreeVo ccs1 = new CharacterCategoryStructureTreeVo();
//查询全部数据封装成树
ccs1.setId("1764568128651616258");
return
leaderCategoryService
.
getAll
(
category
);
ccs1.setTypeName("外包部门1");
}
else
{
ccs1.setHasChild("0");
//根据typeName模糊查询节点和父节点
ccs1.setCategory("领导人");
return
leaderCategoryService
.
getByName
(
category
,
typeName
);
ccs1.setFullPath("1764567775726100481,1764567946836926465,1764568128651616258");
}
//ccs1.setChildren();
CharacterCategoryStructureTreeVo ccs2 = new CharacterCategoryStructureTreeVo();
ccs2.setId("1764568191536816130");
ccs2.setTypeName("外包部门2");
ccs2.setHasChild("0");
ccs2.setCategory("领导人");
ccs2.setFullPath("1764567775726100481,1764567946836926465,1764568191536816130");
// ccs2.setChildren();
CharacterCategoryStructureTreeVo ccs3 = new CharacterCategoryStructureTreeVo();
ccs3.setId("1764567946836926465");
ccs3.setTypeName("计算机与信息技术部");
ccs3.setHasChild("1");
ccs3.setCategory("领导人");
ccs3.setFullPath("1764567775726100481,1764567946836926465");
ccs3.getChildren().add(ccs1);
ccs3.getChildren().add(ccs2);
CharacterCategoryStructureTreeVo ccs4 = new CharacterCategoryStructureTreeVo();
ccs4.setId("1764567775726100481");
ccs4.setTypeName("审计局");
ccs4.setHasChild("1");
ccs4.setCategory("领导人");
ccs4.setFullPath("1764567775726100481");
ccs4.getChildren().add(ccs3);
List<CharacterCategoryStructureTreeVo> list = new ArrayList<>();
list.add(ccs4);
return Result.OK(list);
*/
}
}
...
...
src/main/java/com/zzsn/leaderbase/entity/CharacterBasicInfo.java
浏览文件 @
6adabc6b
...
@@ -47,7 +47,7 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
...
@@ -47,7 +47,7 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
private
String
headSculpture
;
private
String
headSculpture
;
//个人简历 简介
//个人简历 简介
private
String
biographicalNotes
;
private
String
biographicalNotes
;
//分类类型:领导人、专家、高管
//分类类型:领导人、专家、
企业
高管
private
String
category
;
private
String
category
;
//任职经历,每一条任职经历用 \n(换行)分割
//任职经历,每一条任职经历用 \n(换行)分割
private
String
awardRecords
;
private
String
awardRecords
;
...
...
src/main/java/com/zzsn/leaderbase/entity/CharacterBasicInfoHistory.java
浏览文件 @
6adabc6b
...
@@ -47,7 +47,7 @@ public class CharacterBasicInfoHistory extends Model<CharacterBasicInfoHistory>
...
@@ -47,7 +47,7 @@ public class CharacterBasicInfoHistory extends Model<CharacterBasicInfoHistory>
private
String
headSculpture
;
private
String
headSculpture
;
//个人简历 简介
//个人简历 简介
private
String
biographicalNotes
;
private
String
biographicalNotes
;
// 分类类型:领导人、专家、高管
// 分类类型:领导人、专家、
企业
高管
private
String
category
;
private
String
category
;
// 任职经历,每一条任职经历用 (换行)分割
// 任职经历,每一条任职经历用 (换行)分割
private
String
awardRecords
;
private
String
awardRecords
;
...
...
src/main/java/com/zzsn/leaderbase/entity/CharacterCategoryStructure.java
浏览文件 @
6adabc6b
...
@@ -91,7 +91,7 @@ public class CharacterCategoryStructure extends Model<CharacterCategoryStructure
...
@@ -91,7 +91,7 @@ public class CharacterCategoryStructure extends Model<CharacterCategoryStructure
private
String
hasChild
;
private
String
hasChild
;
/**
/**
* 分类类型: 领导人 专家 高管
* 分类类型: 领导人 专家
企业
高管
*/
*/
@TableField
(
"category"
)
@TableField
(
"category"
)
private
String
category
;
private
String
category
;
...
...
src/main/java/com/zzsn/leaderbase/entity/CharacterChangeInfo.java
浏览文件 @
6adabc6b
...
@@ -27,7 +27,7 @@ public class CharacterChangeInfo extends Model<CharacterChangeInfo> {
...
@@ -27,7 +27,7 @@ public class CharacterChangeInfo extends Model<CharacterChangeInfo> {
private
String
name
;
private
String
name
;
//类别id 和左侧树进行关联 character_category_structure
//类别id 和左侧树进行关联 character_category_structure
private
String
typeId
;
private
String
typeId
;
private
String
typeName
;
//
private String typeName;
//原单位
//原单位
private
String
companyOriginal
;
private
String
companyOriginal
;
//原部门 原单位 原企业
//原部门 原单位 原企业
...
...
src/main/java/com/zzsn/leaderbase/entity/CharacterTag.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"character_tag"
)
public
class
CharacterTag
{
//主键
private
String
id
;
//标签名称
private
String
name
;
//标签编码
private
String
code
;
//标签类别
private
String
type
;
//分类类型:领导人、专家、企业高管
private
String
category
;
//创建人
private
String
createBy
;
//创建时间
@TableField
(
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
//更新人
private
String
updateBy
;
//更新时间
@TableField
(
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
updateTime
;
//启停状态 1启 0停
private
long
status
;
//描述
private
String
description
;
//排序
private
long
sort
;
}
src/main/java/com/zzsn/leaderbase/entity/CharacterTagMap.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"character_tag_map"
)
public
class
CharacterTagMap
{
private
long
id
;
private
String
tagId
;
private
String
characterUid
;
}
src/main/java/com/zzsn/leaderbase/entity/CharacterTagTop.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"character_tag_top"
)
public
class
CharacterTagTop
{
private
long
id
;
private
String
name
;
private
long
countNum
;
//创建时间
@TableField
(
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
}
src/main/java/com/zzsn/leaderbase/mapper/CharacterBasicInfoMapper.java
浏览文件 @
6adabc6b
...
@@ -72,4 +72,27 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
...
@@ -72,4 +72,27 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
"and a.name = #{name}"
"and a.name = #{name}"
)
)
Integer
deduplication
(
String
duty
,
String
company
,
String
name
);
Integer
deduplication
(
String
duty
,
String
company
,
String
name
);
@Select
(
"select "
+
"a.id,a.uid,a.name,a.sex,a.birthplace,a.birthday,a.native_place,a.school,a.speciality,a.education,a.expert_occupation,a.head_sculpture,a.biographical_notes,a.category,a.award_records,a.part_time_job,a.research_field,a.evaluate,a.status,"
+
"b.type_id,c.type_name,b.company_original,b.department_original,b.duty_original,b.company,b.department,b.duty,b.take_office_time,b.take_office_time_end,b.take_office_status,b.change_url,b.duties_update_time,b.duties_update_reason,b.check_status,b.check_result,b.article_id,b.article_title,b.update_desc,b.original_id,b.new_id,b.merge_status,a.create_by,a.create_time,a.update_by,a.update_time, "
+
"COALESCE(b.take_office_time, b.create_time) AS order_time "
+
"from character_basic_info a "
+
"INNER JOIN character_change_info b "
+
"on a.id = b.id "
+
"LEFT JOIN character_category_structure c "
+
"ON b.type_id = c.id "
+
"where 1=1 "
+
"and b.status in (0,2) "
+
"and a.uid = #{uid} "
+
"order by order_time desc"
)
List
<
CharacterVo
>
getPreviousDuty
(
String
uid
);
@Select
(
"select "
+
"id "
+
"from character_change_info "
+
"where 1=1 "
+
"and status = 2 "
+
"and uid = #{uid} "
)
List
<
String
>
getCorrelationByUid
(
String
uid
);
}
}
src/main/java/com/zzsn/leaderbase/mapper/CharacterTagMapMapper.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zzsn.leaderbase.entity.CharacterTagMap
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.Map
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/21 18:06
* @Content:
*/
@Mapper
public
interface
CharacterTagMapMapper
extends
BaseMapper
<
CharacterTagMap
>
{
@Select
(
"select "
+
"GROUP_CONCAT(a.tag_id SEPARATOR ',') as tag_id, GROUP_CONCAT(b.name SEPARATOR ',') as tag_name "
+
"from character_tag_map a "
+
"LEFT JOIN character_tag b "
+
"on a.tag_id = b.id "
+
"where 1=1 "
+
"and a.character_uid = #{uid}"
+
"group by a.character_uid"
)
Map
<
String
,
String
>
getByUid
(
String
uid
);
@Delete
(
"delete from character_tag_map where character_uid = #{uid}"
)
void
delByUid
(
String
uid
);
}
src/main/java/com/zzsn/leaderbase/mapper/CharacterTagMapper.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zzsn.leaderbase.entity.CharacterTag
;
import
com.zzsn.leaderbase.entity.CharacterTagTop
;
import
com.zzsn.leaderbase.vo.CharacterVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/21 11:05
* @Content:
*/
@Mapper
public
interface
CharacterTagMapper
extends
BaseMapper
<
CharacterTag
>
{
List
<
CharacterTag
>
getTagList
(
String
type
,
String
category
);
List
<
CharacterVo
>
getCharacterListByTagList
(
String
ids
,
Integer
offset
,
Integer
pageSize
);
Integer
getCharacterListByTagCount
(
String
ids
);
List
<
String
>
getTopTag
();
}
src/main/java/com/zzsn/leaderbase/mapper/CharacterTagTopMapper.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zzsn.leaderbase.entity.CharacterTagTop
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/22 14:07
* @Content:
*/
@Mapper
public
interface
CharacterTagTopMapper
extends
BaseMapper
<
CharacterTagTop
>
{
@Select
(
"select * from character_tag_top "
+
"where 1=1 "
+
"and name = #{tagName} "
+
"limit 1"
)
CharacterTagTop
getByName
(
String
tagName
);
}
src/main/java/com/zzsn/leaderbase/service/CharacterBasicInfoService.java
浏览文件 @
6adabc6b
...
@@ -31,4 +31,7 @@ public interface CharacterBasicInfoService extends IService<CharacterBasicInfo>
...
@@ -31,4 +31,7 @@ public interface CharacterBasicInfoService extends IService<CharacterBasicInfo>
List
<
CharacterBasicInfo
>
getData
(
String
time
);
List
<
CharacterBasicInfo
>
getData
(
String
time
);
List
<
CharacterVo
>
getPreviousDuty
(
String
uid
);
List
<
String
>
getCorrelationByUid
(
String
uid
);
}
}
src/main/java/com/zzsn/leaderbase/service/CharacterInfoService.java
浏览文件 @
6adabc6b
...
@@ -54,5 +54,11 @@ public interface CharacterInfoService {
...
@@ -54,5 +54,11 @@ public interface CharacterInfoService {
Result
<?>
merge
(
CharacterMergeVo
characterMergeVo
);
Result
<?>
merge
(
CharacterMergeVo
characterMergeVo
);
Result
<?>
mergeCancel
(
String
id
);
Result
<?>
mergeCancel
(
String
id
);
Result
<?>
getPreviousDuty
(
String
uid
);
Result
<?>
correlation
(
CharacterVo
characterVo
);
Result
<?>
correlationEdit
(
CharacterVo
characterVo
);
}
}
src/main/java/com/zzsn/leaderbase/service/CharacterTagMapService.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zzsn.leaderbase.entity.CharacterTagMap
;
import
java.util.Map
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/21 18:03
* @Content:
*/
public
interface
CharacterTagMapService
extends
IService
<
CharacterTagMap
>
{
Map
<
String
,
String
>
getByUid
(
String
uid
);
void
delByUid
(
String
uid
);
}
src/main/java/com/zzsn/leaderbase/service/CharacterTagService.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zzsn.leaderbase.entity.CharacterTag
;
import
com.zzsn.leaderbase.entity.CharacterTagTop
;
import
com.zzsn.leaderbase.vo.Result
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/21 11:04
* @Content:
*/
public
interface
CharacterTagService
extends
IService
<
CharacterTag
>
{
Result
<?>
getTagList
(
String
type
,
String
category
);
Result
<?>
getCharacterListByTag
(
String
tagName
,
Integer
offset
,
Integer
pageSize
);
void
addTagTop
(
CharacterTagTop
characterTagTop
);
Result
<?>
getTopTag
();
}
src/main/java/com/zzsn/leaderbase/service/DealLeaderDataService.java
浏览文件 @
6adabc6b
...
@@ -48,6 +48,7 @@ public class DealLeaderDataService {
...
@@ -48,6 +48,7 @@ public class DealLeaderDataService {
}
else
{
}
else
{
startTime
=
"2023-01-01 12:12:12"
;
startTime
=
"2023-01-01 12:12:12"
;
}
}
//startTime = "2023-01-01 12:12:12";
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
BoolQueryBuilder
boolQueryBuilder1
=
QueryBuilders
.
boolQuery
()
BoolQueryBuilder
boolQueryBuilder1
=
QueryBuilders
.
boolQuery
()
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId"
,
Arrays
.
asList
(
"1750716233967157250"
,
"1750716067187048450"
)))
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId"
,
Arrays
.
asList
(
"1750716233967157250"
,
"1750716067187048450"
)))
...
@@ -59,13 +60,18 @@ public class DealLeaderDataService {
...
@@ -59,13 +60,18 @@ public class DealLeaderDataService {
Integer
pagesize
=
5
;
Integer
pagesize
=
5
;
for
(
int
i
=
1
;
true
;
i
++)
{
for
(
int
i
=
1
;
true
;
i
++)
{
Page
<
InfoExtractionParam
>
subjectdatabase
=
esUtil
.
queryPage
(
"subjectdatabase"
,
searchSourceBuilder
,
InfoExtractionParam
.
class
,
i
,
pagesize
);
Page
<
InfoExtractionParam
>
subjectdatabase
=
esUtil
.
queryPage
InfoExtractionParam
(
"subjectdatabase"
,
searchSourceBuilder
,
i
,
pagesize
);
List
<
InfoExtractionParam
>
records
=
subjectdatabase
.
getRecords
();
List
<
InfoExtractionParam
>
records
=
subjectdatabase
.
getRecords
();
log
.
info
(
"页码:{},总页:{},总数量{}"
,
i
,
subjectdatabase
.
getPages
(),
subjectdatabase
.
getTotal
());
log
.
info
(
"页码:{},总页:{},总数量{}"
,
i
,
subjectdatabase
.
getPages
(),
subjectdatabase
.
getTotal
());
if
(
CollectionUtil
.
isNotEmpty
(
records
))
{
if
(
CollectionUtil
.
isNotEmpty
(
records
))
{
JSONObject
jsonObjectParam
=
new
JSONObject
();
JSONObject
jsonObjectParam
=
new
JSONObject
();
Map
<
String
,
String
>
idIndexMap
=
new
HashMap
<>();
for
(
InfoExtractionParam
record
:
records
)
{
idIndexMap
.
put
(
record
.
getId
(),
record
.
getIndex
());
}
for
(
InfoExtractionParam
record
:
records
)
{
for
(
InfoExtractionParam
record
:
records
)
{
List
<
CharacterVo
>
list
=
new
ArrayList
<>();
List
<
CharacterVo
>
list
=
new
ArrayList
<>();
Map
<
String
,
List
<
InfoExtractionParam
>>
map
=
new
HashMap
<>();
Map
<
String
,
List
<
InfoExtractionParam
>>
map
=
new
HashMap
<>();
...
@@ -83,6 +89,7 @@ public class DealLeaderDataService {
...
@@ -83,6 +89,7 @@ public class DealLeaderDataService {
for
(
Object
dataResultObject
:
dataResultList
)
{
for
(
Object
dataResultObject
:
dataResultList
)
{
JSONObject
dataResult
=
JSONObject
.
parseObject
(
dataResultObject
.
toString
());
JSONObject
dataResult
=
JSONObject
.
parseObject
(
dataResultObject
.
toString
());
if
(
dataResult
.
get
(
"infos"
)
!=
null
)
{
if
(
dataResult
.
get
(
"infos"
)
!=
null
)
{
String
id
=
String
.
valueOf
(
dataResult
.
get
(
"id"
));
JSONArray
jsonArray
=
(
JSONArray
)
JSONArray
.
parse
(
String
.
valueOf
(
dataResult
.
get
(
"infos"
)));
JSONArray
jsonArray
=
(
JSONArray
)
JSONArray
.
parse
(
String
.
valueOf
(
dataResult
.
get
(
"infos"
)));
for
(
Object
data
:
jsonArray
)
{
for
(
Object
data
:
jsonArray
)
{
JSONObject
temp
=
JSONObject
.
parseObject
(
data
.
toString
());
JSONObject
temp
=
JSONObject
.
parseObject
(
data
.
toString
());
...
@@ -103,6 +110,7 @@ public class DealLeaderDataService {
...
@@ -103,6 +110,7 @@ public class DealLeaderDataService {
.
companyOriginal
(
temp
.
get
(
"oriWorkPlace"
)
!=
null
?
temp
.
get
(
"oriWorkPlace"
).
toString
()
:
""
)
.
companyOriginal
(
temp
.
get
(
"oriWorkPlace"
)
!=
null
?
temp
.
get
(
"oriWorkPlace"
).
toString
()
:
""
)
.
company
(
temp
.
get
(
"curWorkPlace"
)
!=
null
?
temp
.
get
(
"curWorkPlace"
).
toString
()
:
""
)
.
company
(
temp
.
get
(
"curWorkPlace"
)
!=
null
?
temp
.
get
(
"curWorkPlace"
).
toString
()
:
""
)
.
name
(
temp
.
get
(
"person"
)
!=
null
?
temp
.
get
(
"person"
).
toString
()
:
""
)
.
name
(
temp
.
get
(
"person"
)
!=
null
?
temp
.
get
(
"person"
).
toString
()
:
""
)
//.articleId(dataResult.get("id") != null ? idIndexMap.get("id") + "," + dataResult.get("id").toString() : "")
.
articleId
(
dataResult
.
get
(
"id"
)
!=
null
?
dataResult
.
get
(
"id"
).
toString
()
:
""
)
.
articleId
(
dataResult
.
get
(
"id"
)
!=
null
?
dataResult
.
get
(
"id"
).
toString
()
:
""
)
.
checkStatus
(
0L
)
.
checkStatus
(
0L
)
.
createTime
(
new
Date
())
.
createTime
(
new
Date
())
...
...
src/main/java/com/zzsn/leaderbase/service/EsServer.java
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
service
;
package
com
.
zzsn
.
leaderbase
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.zzsn.leaderbase.util.EsDateUtil
;
import
com.zzsn.leaderbase.util.EsUtil
;
import
com.zzsn.leaderbase.util.EsUtil
;
import
com.zzsn.leaderbase.vo.RelatedReportsVo
;
import
com.zzsn.leaderbase.vo.RelatedReportsVo
;
import
com.zzsn.leaderbase.vo.Result
;
import
com.zzsn.leaderbase.vo.Result
;
...
@@ -61,10 +62,13 @@ public class EsServer {
...
@@ -61,10 +62,13 @@ public class EsServer {
Page
<
SubjectInfoVo
>
page
=
null
;
Page
<
SubjectInfoVo
>
page
=
null
;
try
{
try
{
page
=
esUtil
.
queryPage
(
SUBJECTDATABASE
,
searchSourceBuilder
,
SubjectInfoVo
.
class
,
1
,
10
);
page
=
esUtil
.
queryPage
SubjectInfoVo
(
SUBJECTDATABASE
,
searchSourceBuilder
,
relatedReportsVo
.
getPageNo
(),
relatedReportsVo
.
getPageSize
()
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
for
(
SubjectInfoVo
record
:
page
.
getRecords
())
{
record
.
setPublishDate
(
EsDateUtil
.
esFieldDateMapping
(
record
.
getPublishDate
()));
}
return
Result
.
OK
(
page
);
return
Result
.
OK
(
page
);
}
}
...
...
src/main/java/com/zzsn/leaderbase/service/LeaderCategoryService.java
浏览文件 @
6adabc6b
...
@@ -33,6 +33,8 @@ public interface LeaderCategoryService extends IService<CharacterCategoryStructu
...
@@ -33,6 +33,8 @@ public interface LeaderCategoryService extends IService<CharacterCategoryStructu
Result
<?>
getByName
(
String
category
,
String
typeName
);
Result
<?>
getByName
(
String
category
,
String
typeName
);
Result
<?>
getAll
(
String
category
);
/**
/**
* 通过id获取子节点列表
* 通过id获取子节点列表
* @param id id
* @param id id
...
...
src/main/java/com/zzsn/leaderbase/service/impl/CharacterBasicInfoServiceImpl.java
浏览文件 @
6adabc6b
...
@@ -74,4 +74,14 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
...
@@ -74,4 +74,14 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
List
<
CharacterBasicInfo
>
list
=
characterBasicInfoMapper
.
selectList
(
lambdaQuery
);
List
<
CharacterBasicInfo
>
list
=
characterBasicInfoMapper
.
selectList
(
lambdaQuery
);
return
list
;
return
list
;
}
}
@Override
public
List
<
CharacterVo
>
getPreviousDuty
(
String
uid
)
{
return
characterBasicInfoMapper
.
getPreviousDuty
(
uid
);
}
@Override
public
List
<
String
>
getCorrelationByUid
(
String
uid
)
{
return
characterBasicInfoMapper
.
getCorrelationByUid
(
uid
);
}
}
}
src/main/java/com/zzsn/leaderbase/service/impl/CharacterInfoServiceImpl.java
浏览文件 @
6adabc6b
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.zzsn.leaderbase.entity.CharacterBasicInfo
;
import
com.zzsn.leaderbase.entity.CharacterBasicInfo
;
import
com.zzsn.leaderbase.entity.CharacterBasicInfoHistory
;
import
com.zzsn.leaderbase.entity.CharacterBasicInfoHistory
;
import
com.zzsn.leaderbase.entity.CharacterChangeInfo
;
import
com.zzsn.leaderbase.entity.CharacterChangeInfo
;
import
com.zzsn.leaderbase.entity.CharacterTagMap
;
import
com.zzsn.leaderbase.service.*
;
import
com.zzsn.leaderbase.service.*
;
import
com.zzsn.leaderbase.util.CharacterMergeStatus
;
import
com.zzsn.leaderbase.util.CharacterMergeStatus
;
import
com.zzsn.leaderbase.vo.*
;
import
com.zzsn.leaderbase.vo.*
;
...
@@ -13,10 +14,7 @@ import org.springframework.beans.BeanUtils;
...
@@ -13,10 +14,7 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
* @Version 1.0
* @Version 1.0
...
@@ -42,6 +40,10 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
...
@@ -42,6 +40,10 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
@Autowired
@Autowired
CharacterMergeStatus
characterMergeStatus
;
CharacterMergeStatus
characterMergeStatus
;
//人物标签
@Autowired
CharacterTagMapService
characterTagMapService
;
@Override
@Override
public
Result
<?>
add
(
CharacterVo
characterVo
)
{
public
Result
<?>
add
(
CharacterVo
characterVo
)
{
...
@@ -69,7 +71,19 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
...
@@ -69,7 +71,19 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
BeanUtils
.
copyProperties
(
characterVo
,
characterChangeInfo
);
BeanUtils
.
copyProperties
(
characterVo
,
characterChangeInfo
);
characterChangeInfoService
.
save
(
characterChangeInfo
);
characterChangeInfoService
.
save
(
characterChangeInfo
);
//记录任务基本信息修改记录
//标签存储
String
tagId
=
characterVo
.
getTagId
();
String
[]
tagIdArr
=
tagId
.
split
(
","
);
List
<
CharacterTagMap
>
list
=
new
ArrayList
<>();
for
(
String
s
:
tagIdArr
)
{
CharacterTagMap
characterTagMap
=
new
CharacterTagMap
();
characterTagMap
.
setTagId
(
s
);
characterTagMap
.
setCharacterUid
(
characterVo
.
getUid
());
list
.
add
(
characterTagMap
);
}
characterTagMapService
.
saveBatch
(
list
);
//记录任务基本信息修改记录
CharacterBasicInfoHistory
characterBasicInfoHistory
=
new
CharacterBasicInfoHistory
();
CharacterBasicInfoHistory
characterBasicInfoHistory
=
new
CharacterBasicInfoHistory
();
BeanUtils
.
copyProperties
(
characterBasicInfo
,
characterBasicInfoHistory
);
BeanUtils
.
copyProperties
(
characterBasicInfo
,
characterBasicInfoHistory
);
characterBasicInfoHistory
.
setId
(
null
);
characterBasicInfoHistory
.
setId
(
null
);
...
@@ -122,6 +136,17 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
...
@@ -122,6 +136,17 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
CharacterVo
characterVo
=
characterBasicInfoService
.
getById
(
id
);
CharacterVo
characterVo
=
characterBasicInfoService
.
getById
(
id
);
if
(
characterVo
==
null
)
if
(
characterVo
==
null
)
return
Result
.
OK
(
"未查询到人物信息"
,
null
);
return
Result
.
OK
(
"未查询到人物信息"
,
null
);
//todo 未解决问题
String
uid
=
characterVo
.
getUid
();
if
(
uid
!=
null
){
Map
<
String
,
String
>
tagMap
=
characterTagMapService
.
getByUid
(
characterVo
.
getUid
());
if
(
tagMap
!=
null
){
characterVo
.
setTagId
(
tagMap
.
get
(
"tag_id"
));
characterVo
.
setTagName
(
tagMap
.
get
(
"tag_name"
));
}
}
return
Result
.
OK
(
characterVo
);
return
Result
.
OK
(
characterVo
);
}
}
...
@@ -140,6 +165,32 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
...
@@ -140,6 +165,32 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
BeanUtils
.
copyProperties
(
characterVo
,
characterChangeInfo
);
BeanUtils
.
copyProperties
(
characterVo
,
characterChangeInfo
);
characterChangeInfoService
.
updateById
(
characterChangeInfo
);
characterChangeInfoService
.
updateById
(
characterChangeInfo
);
//标签修改
String
uid
=
characterVo
.
getUid
();
if
(
uid
!=
null
){
//删除原有的
characterTagMapService
.
delByUid
(
characterVo
.
getUid
());
//增加新的
String
tagId
=
characterVo
.
getTagId
();
String
[]
tagIdArr
=
tagId
.
split
(
","
);
List
<
CharacterTagMap
>
list
=
new
ArrayList
<>();
for
(
String
s
:
tagIdArr
)
{
CharacterTagMap
characterTagMap
=
new
CharacterTagMap
();
characterTagMap
.
setTagId
(
s
);
characterTagMap
.
setCharacterUid
(
characterVo
.
getUid
());
list
.
add
(
characterTagMap
);
}
characterTagMapService
.
saveBatch
(
list
);
}
// 关联信息修改
// String uid = characterVo.getUid();
// List<String> listId = characterBasicInfoService.getCorrelationByUid(uid);
// for (String s : listId) {
// characterBasicInfo.setId(s);
// characterBasicInfoService.updateById(characterBasicInfo);
// }
//记录人物基本信息修改记录
//记录人物基本信息修改记录
CharacterBasicInfoHistory
characterBasicInfoHistory
=
new
CharacterBasicInfoHistory
();
CharacterBasicInfoHistory
characterBasicInfoHistory
=
new
CharacterBasicInfoHistory
();
BeanUtils
.
copyProperties
(
characterBasicInfo
,
characterBasicInfoHistory
);
BeanUtils
.
copyProperties
(
characterBasicInfo
,
characterBasicInfoHistory
);
...
@@ -397,6 +448,52 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
...
@@ -397,6 +448,52 @@ public class CharacterInfoServiceImpl implements CharacterInfoService {
return
Result
.
OK
();
return
Result
.
OK
();
}
}
@Override
public
Result
<?>
getPreviousDuty
(
String
uid
)
{
return
Result
.
OK
(
characterBasicInfoService
.
getPreviousDuty
(
uid
));
}
@Override
public
Result
<?>
correlation
(
CharacterVo
characterVo
)
{
String
id
=
characterVo
.
getId
();
if
(
id
==
null
||
""
.
equals
(
id
))
return
Result
.
error
(
"id不能为空!"
);
CharacterVo
vo
=
characterBasicInfoService
.
getById
(
id
);
if
(
characterVo
==
null
)
return
Result
.
error
(
"人物不存在!"
);
//新增一条基本信息,取库中最新的数据
CharacterBasicInfo
characterBasicInfo
=
new
CharacterBasicInfo
();
BeanUtils
.
copyProperties
(
vo
,
characterBasicInfo
);
String
newId
=
Long
.
toString
(
generatorIdService
.
getOrderId
());
characterBasicInfo
.
setId
(
newId
);
characterBasicInfoService
.
save
(
characterBasicInfo
);
//新增关联的任职记录
//vo对象获取转entity对象,任职变更信息
CharacterChangeInfo
characterChangeInfo
=
new
CharacterChangeInfo
();
BeanUtils
.
copyProperties
(
characterVo
,
characterChangeInfo
);
characterChangeInfo
.
setId
(
newId
);
characterChangeInfo
.
setUid
(
vo
.
getUid
());
characterChangeInfo
.
setUid
(
vo
.
getName
());
characterChangeInfo
.
setCheckResult
(
1L
);
characterChangeInfo
.
setStatus
(
2L
);
characterChangeInfoService
.
save
(
characterChangeInfo
);
return
Result
.
OK
();
}
@Override
public
Result
<?>
correlationEdit
(
CharacterVo
characterVo
)
{
//关联编辑只设计职务部分的修改,基本信息的修改不涉及
characterVo
.
setUpdateTime
(
new
Date
());
//vo对象获取转entity对象,任职变更信息
CharacterChangeInfo
characterChangeInfo
=
new
CharacterChangeInfo
();
BeanUtils
.
copyProperties
(
characterVo
,
characterChangeInfo
);
characterChangeInfoService
.
updateById
(
characterChangeInfo
);
return
Result
.
OK
();
}
/**
/**
* 1合并人物
* 1合并人物
...
...
src/main/java/com/zzsn/leaderbase/service/impl/CharacterTagMapServiceImpl.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zzsn.leaderbase.entity.CharacterTagMap
;
import
com.zzsn.leaderbase.mapper.CharacterTagMapMapper
;
import
com.zzsn.leaderbase.service.CharacterTagMapService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/21 18:03
* @Content:
*/
@Service
public
class
CharacterTagMapServiceImpl
extends
ServiceImpl
<
CharacterTagMapMapper
,
CharacterTagMap
>
implements
CharacterTagMapService
{
@Autowired
CharacterTagMapMapper
characterTagMapMapper
;
@Override
public
Map
<
String
,
String
>
getByUid
(
String
uid
)
{
return
characterTagMapMapper
.
getByUid
(
uid
);
}
@Override
public
void
delByUid
(
String
uid
)
{
characterTagMapMapper
.
delByUid
(
uid
);
}
}
src/main/java/com/zzsn/leaderbase/service/impl/CharacterTagServiceImpl.java
0 → 100644
浏览文件 @
6adabc6b
package
com
.
zzsn
.
leaderbase
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zzsn.leaderbase.entity.CharacterTag
;
import
com.zzsn.leaderbase.entity.CharacterTagTop
;
import
com.zzsn.leaderbase.mapper.CharacterTagMapper
;
import
com.zzsn.leaderbase.mapper.CharacterTagTopMapper
;
import
com.zzsn.leaderbase.service.CharacterTagService
;
import
com.zzsn.leaderbase.vo.CharacterVo
;
import
com.zzsn.leaderbase.vo.Result
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Version 1.0
* @Author: ZhangJingKun
* @Date: 2024/3/21 11:04
* @Content:
*/
@Service
public
class
CharacterTagServiceImpl
extends
ServiceImpl
<
CharacterTagMapper
,
CharacterTag
>
implements
CharacterTagService
{
@Autowired
CharacterTagMapper
characterTagMapper
;
@Autowired
CharacterTagTopMapper
characterTagTopMapper
;
@Override
public
Result
<?>
getTagList
(
String
type
,
String
category
)
{
return
Result
.
OK
(
characterTagMapper
.
getTagList
(
type
,
category
));
}
@Override
public
Result
<?>
getCharacterListByTag
(
String
tagName
,
Integer
pageNo
,
Integer
pageSize
)
{
Integer
offset
=
(
pageNo
-
1
)
*
pageSize
;
List
<
CharacterTag
>
tagList
=
null
;
//根据标签名称查询标签信息
LambdaQueryWrapper
<
CharacterTag
>
lambdaQuery
=
Wrappers
.
lambdaQuery
();
lambdaQuery
.
eq
(
CharacterTag:
:
getName
,
tagName
);
tagList
=
characterTagMapper
.
selectList
(
lambdaQuery
);
if
(
tagList
.
size
()
==
0
){
//根据名称如果没有匹配到标签信息,则使用模糊查找
LambdaQueryWrapper
<
CharacterTag
>
lambdaQueryLike
=
Wrappers
.
lambdaQuery
();
lambdaQueryLike
.
like
(
CharacterTag:
:
getName
,
tagName
);
tagList
=
characterTagMapper
.
selectList
(
lambdaQueryLike
);
if
(
tagList
.
size
()
==
0
){
//模糊查询也没有数据,直接返回
return
Result
.
OK
(
"未查询到人物信息!"
,
null
);
}
}
List
<
String
>
tagIds
=
new
ArrayList
<>();
for
(
CharacterTag
characterTag
:
tagList
)
{
tagIds
.
add
(
characterTag
.
getId
());
}
//根据标签列表查询人物信息
String
ids
=
Arrays
.
toString
(
tagIds
.
toArray
(
new
String
[
0
])).
replace
(
"["
,
"("
).
replace
(
"]"
,
")"
);
List
<
CharacterVo
>
list
=
characterTagMapper
.
getCharacterListByTagList
(
ids
,
offset
,
pageSize
);
Integer
total
=
characterTagMapper
.
getCharacterListByTagCount
(
ids
);
Page
page
=
new
Page
<>();
page
.
setRecords
(
list
);
page
.
setTotal
(
total
);
page
.
setCurrent
(
pageNo
);
page
.
setSize
(
pageSize
);
//记录查询次数
this
.
addTagTop
(
tagName
);
return
Result
.
OK
(
page
);
}
@Override
public
void
addTagTop
(
CharacterTagTop
characterTagTop
){
characterTagTopMapper
.
insert
(
characterTagTop
);
}
@Override
public
Result
<?>
getTopTag
()
{
List
<
String
>
list
=
characterTagMapper
.
getTopTag
();
return
Result
.
OK
(
list
);
}
private
void
addTagTop
(
String
tagName
){
CharacterTagTop
characterTagTop
=
characterTagTopMapper
.
getByName
(
tagName
);
if
(
characterTagTop
==
null
){
CharacterTagTop
newTagTop
=
new
CharacterTagTop
();
newTagTop
.
setName
(
tagName
);
newTagTop
.
setCountNum
(
1
);
characterTagTopMapper
.
insert
(
newTagTop
);
}
else
{
characterTagTop
.
setCountNum
(
characterTagTop
.
getCountNum
()
+
1L
);
characterTagTopMapper
.
updateById
(
characterTagTop
);
}
}
}
src/main/java/com/zzsn/leaderbase/service/impl/LeaderCategoryServiceImpl.java
浏览文件 @
6adabc6b
...
@@ -199,6 +199,29 @@ public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper,
...
@@ -199,6 +199,29 @@ public class LeaderCategoryServiceImpl extends ServiceImpl<LeaderCategoryMapper,
return
Result
.
OK
(
collect
);
return
Result
.
OK
(
collect
);
}
}
@Override
public
Result
<?>
getAll
(
String
category
)
{
//根据名称模糊查询
List
<
CharacterCategoryStructure
>
characterCategoryStructure
=
super
.
list
(
Wrappers
.<
CharacterCategoryStructure
>
lambdaQuery
()
.
eq
(
StrUtil
.
isNotBlank
(
category
),
CharacterCategoryStructure:
:
getCategory
,
category
));
List
<
CharacterCategoryStructureTreeVo
>
list
=
new
ArrayList
<>();
for
(
CharacterCategoryStructure
categoryStructure
:
characterCategoryStructure
)
{
CharacterCategoryStructureTreeVo
ccstvo
=
new
CharacterCategoryStructureTreeVo
();
BeanUtils
.
copyProperties
(
categoryStructure
,
ccstvo
);
list
.
add
(
ccstvo
);
}
List
<
CharacterCategoryStructureTreeVo
>
collect
=
list
.
stream
()
// 找出所有顶级(pid = 0 为顶级)
.
filter
(
o
->
StrUtil
.
equals
(
"0"
,
o
.
getPid
()))
//给当前的父级的 children 设置子级
.
peek
(
o
->
o
.
setChildren
(
getChildList
(
o
,
list
)))
//收集
.
collect
(
Collectors
.
toList
());
return
Result
.
OK
(
collect
);
}
// 根据当前父类 找出子类, 并通过递归找出子类的子类
// 根据当前父类 找出子类, 并通过递归找出子类的子类
private
List
<
CharacterCategoryStructureTreeVo
>
getChildList
(
CharacterCategoryStructureTreeVo
projectLeader
,
Collection
<
CharacterCategoryStructureTreeVo
>
list
)
{
private
List
<
CharacterCategoryStructureTreeVo
>
getChildList
(
CharacterCategoryStructureTreeVo
projectLeader
,
Collection
<
CharacterCategoryStructureTreeVo
>
list
)
{
return
list
.
stream
()
return
list
.
stream
()
...
...
src/main/java/com/zzsn/leaderbase/util/EsUtil.java
浏览文件 @
6adabc6b
...
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
...
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.zzsn.leaderbase.vo.InfoExtractionParam
;
import
com.zzsn.leaderbase.vo.SubjectInfoVo
;
import
com.zzsn.leaderbase.vo.SubjectInfoVo
;
import
lombok.SneakyThrows
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -55,6 +56,7 @@ import org.elasticsearch.search.aggregations.BucketOrder;
...
@@ -55,6 +56,7 @@ import org.elasticsearch.search.aggregations.BucketOrder;
import
org.elasticsearch.search.aggregations.bucket.terms.Terms
;
import
org.elasticsearch.search.aggregations.bucket.terms.Terms
;
import
org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder
;
import
org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.collapse.CollapseBuilder
;
import
org.elasticsearch.search.fetch.subphase.FetchSourceContext
;
import
org.elasticsearch.search.fetch.subphase.FetchSourceContext
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -719,9 +721,16 @@ public class EsUtil {
...
@@ -719,9 +721,16 @@ public class EsUtil {
searchSourceBuilder
.
size
(
1
);
searchSourceBuilder
.
size
(
1
);
searchSourceBuilder
.
sort
(
"createDate"
,
SortOrder
.
DESC
);
searchSourceBuilder
.
sort
(
"createDate"
,
SortOrder
.
DESC
);
TermQueryBuilder
termUid
=
QueryBuilders
.
termQuery
(
"uid"
,
uid
);
String
u
=
"uid"
;
TermQueryBuilder
termName
=
QueryBuilders
.
termQuery
(
"name"
,
name
);
String
n
=
"name"
;
searchSourceBuilder
.
query
(
termUid
).
query
(
termName
);
QueryBuilder
qb1
=
QueryBuilders
.
termQuery
(
"uid.keyword"
,
uid
);
QueryBuilder
qb2
=
QueryBuilders
.
termQuery
(
"name.keyword"
,
uid
);
QueryBuilder
qb3
=
QueryBuilders
.
boolQuery
().
must
(
qb1
).
must
(
qb2
);
TermQueryBuilder
termUid
=
QueryBuilders
.
termQuery
(
u
,
uid
);
TermQueryBuilder
termName
=
QueryBuilders
.
termQuery
(
n
,
name
);
searchSourceBuilder
.
query
(
qb3
);
searchRequest
.
source
(
searchSourceBuilder
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
SearchResponse
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
SearchHit
[]
hits
=
searchResponse
.
getHits
().
getHits
();
SearchHit
[]
hits
=
searchResponse
.
getHits
().
getHits
();
...
@@ -853,6 +862,64 @@ public class EsUtil {
...
@@ -853,6 +862,64 @@ public class EsUtil {
}
}
/**
/**
* 通用分页查询
* */
public
Page
<
InfoExtractionParam
>
queryPageInfoExtractionParam
(
String
index
,
SearchSourceBuilder
searchSourceBuilder
,
Integer
pageNo
,
Integer
pageSize
)
throws
IOException
{
List
<
InfoExtractionParam
>
list
=
new
ArrayList
<>();
Page
<
InfoExtractionParam
>
pageData
=
new
Page
<>(
pageNo
,
pageSize
);
SearchRequest
searchRequest
=
new
SearchRequest
(
index
);
searchSourceBuilder
.
size
(
pageSize
);
searchSourceBuilder
.
from
((
pageNo
-
1
)
*
pageSize
);
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder
.
trackTotalHits
(
true
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
// 处理搜索结果
SearchHit
[]
hits
=
searchResponse
.
getHits
().
getHits
();
if
(
hits
.
length
>
0
){
Arrays
.
stream
(
hits
).
forEach
(
e
->
{
InfoExtractionParam
t
=
JSON
.
parseObject
(
e
.
getSourceAsString
(),
InfoExtractionParam
.
class
);
t
.
setIndex
(
e
.
getIndex
());
list
.
add
(
t
);
});
}
pageData
.
setTotal
(
searchResponse
.
getHits
().
getTotalHits
().
value
);
pageData
.
setRecords
(
list
);
return
pageData
;
}
/**
* 通用分页查询
* */
public
Page
<
SubjectInfoVo
>
queryPageSubjectInfoVo
(
String
index
,
SearchSourceBuilder
searchSourceBuilder
,
Integer
pageNo
,
Integer
pageSize
)
throws
IOException
{
List
<
SubjectInfoVo
>
list
=
new
ArrayList
<>();
Page
<
SubjectInfoVo
>
pageData
=
new
Page
<>(
pageNo
,
pageSize
);
SearchRequest
searchRequest
=
new
SearchRequest
(
index
);
searchSourceBuilder
.
size
(
pageSize
);
searchSourceBuilder
.
from
((
pageNo
-
1
)
*
pageSize
);
//去重 collapse只允许keywords或者numbers类型,字段xxx不是keywords或者numbers类型
searchSourceBuilder
.
collapse
(
new
CollapseBuilder
(
"sourceAddress.keyword"
));
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder
.
trackTotalHits
(
true
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
// 处理搜索结果
SearchHit
[]
hits
=
searchResponse
.
getHits
().
getHits
();
if
(
hits
.
length
>
0
){
Arrays
.
stream
(
hits
).
forEach
(
e
->
{
SubjectInfoVo
t
=
JSON
.
parseObject
(
e
.
getSourceAsString
(),
SubjectInfoVo
.
class
);
t
.
setIndex
(
e
.
getIndex
());
list
.
add
(
t
);
});
}
pageData
.
setTotal
(
searchResponse
.
getHits
().
getTotalHits
().
value
);
pageData
.
setRecords
(
list
);
return
pageData
;
}
/**
* 非聚合类查询,通用结果集封装
* 非聚合类查询,通用结果集封装
* */
* */
public
<
T
>
List
<
T
>
queryPageBase
(
String
index
,
Class
<
T
>
entry
,
SearchSourceBuilder
searchSourceBuilder
)
throws
IOException
{
public
<
T
>
List
<
T
>
queryPageBase
(
String
index
,
Class
<
T
>
entry
,
SearchSourceBuilder
searchSourceBuilder
)
throws
IOException
{
...
...
src/main/java/com/zzsn/leaderbase/vo/CharacterCategoryStructureTreeVo.java
浏览文件 @
6adabc6b
...
@@ -77,7 +77,7 @@ public class CharacterCategoryStructureTreeVo extends Model<CharacterCategoryStr
...
@@ -77,7 +77,7 @@ public class CharacterCategoryStructureTreeVo extends Model<CharacterCategoryStr
private
String
hasChild
;
private
String
hasChild
;
/**
/**
* 分类类型: 领导人 专家 高管
* 分类类型: 领导人 专家
企业
高管
*/
*/
private
String
category
;
private
String
category
;
...
...
src/main/java/com/zzsn/leaderbase/vo/CharacterListVo.java
浏览文件 @
6adabc6b
...
@@ -40,7 +40,7 @@ public class CharacterListVo {
...
@@ -40,7 +40,7 @@ public class CharacterListVo {
//是否审核通过 0未通过 1通过 2待定
//是否审核通过 0未通过 1通过 2待定
private
Long
checkResult
;
private
Long
checkResult
;
//分类类型:领导人、专家、高管'
//分类类型:领导人、专家、
企业
高管'
private
String
category
;
private
String
category
;
//类别 根据左侧树id
//类别 根据左侧树id
...
...
src/main/java/com/zzsn/leaderbase/vo/CharacterVo.java
浏览文件 @
6adabc6b
...
@@ -65,6 +65,12 @@ public class CharacterVo {
...
@@ -65,6 +65,12 @@ public class CharacterVo {
private
String
researchField
;
private
String
researchField
;
//荣誉评价
//荣誉评价
private
String
evaluate
;
private
String
evaluate
;
//标签id
private
String
tagId
;
//标签名称
private
String
tagName
;
//创建人
//创建人
private
String
createBy
;
private
String
createBy
;
//创建时间
//创建时间
...
...
src/main/java/com/zzsn/leaderbase/vo/InfoExtractionParam.java
浏览文件 @
6adabc6b
...
@@ -12,4 +12,5 @@ public class InfoExtractionParam {
...
@@ -12,4 +12,5 @@ public class InfoExtractionParam {
private
String
id
;
private
String
id
;
private
String
publishDate
;
private
String
publishDate
;
private
String
origin
;
private
String
origin
;
private
String
index
;
}
}
src/main/resources/mapper/CharacterBasicInfoMapper.xml
浏览文件 @
6adabc6b
...
@@ -6,13 +6,22 @@
...
@@ -6,13 +6,22 @@
<select
id=
"getList"
resultType=
"com.zzsn.leaderbase.vo.CharacterVo"
>
<select
id=
"getList"
resultType=
"com.zzsn.leaderbase.vo.CharacterVo"
>
select * from (
select * from (
select a.id,a.uid,a.name,a.sex,a.birthplace,a.birthday,a.native_place,a.school,a.speciality,a.education,a.expert_occupation,a.head_sculpture,a.biographical_notes,a.category,a.award_records,a.part_time_job,a.research_field,a.evaluate,a.status,
select a.id,a.uid,a.name,a.sex,a.birthplace,a.birthday,a.native_place,a.school,a.speciality,a.education,a.expert_occupation,a.head_sculpture,a.biographical_notes,a.category,a.award_records,a.part_time_job,a.research_field,a.evaluate,a.status,
d.tag_id,d.tag_name,
b.type_id,c.type_name,b.company_original,b.department_original,b.duty_original,b.company,b.department,b.duty,b.take_office_time,b.take_office_time_end,b.take_office_status,b.change_url,b.duties_update_time,b.duties_update_reason,b.check_status,b.check_result,b.article_id,b.article_title,b.update_desc,b.original_id,b.new_id,b.merge_status,a.create_by,a.create_time,a.update_by,a.update_time
b.type_id,c.type_name,b.company_original,b.department_original,b.duty_original,b.company,b.department,b.duty,b.take_office_time,b.take_office_time_end,b.take_office_status,b.change_url,b.duties_update_time,b.duties_update_reason,b.check_status,b.check_result,b.article_id,b.article_title,b.update_desc,b.original_id,b.new_id,b.merge_status,a.create_by,a.create_time,a.update_by,a.update_time
from character_basic_info a
from character_basic_info a
INNER JOIN character_change_info b
INNER JOIN character_change_info b
on a.id = b.id
on a.id = b.id
LEFT JOIN character_category_structure c
LEFT JOIN character_category_structure c
ON b.type_id = c.id
ON b.type_id = c.id
left join (
select GROUP_CONCAT(a1.tag_id SEPARATOR ',') as tag_id,a1.character_uid,GROUP_CONCAT(b1.name SEPARATOR ',') as tag_name
from character_tag_map a1
LEFT JOIN character_tag b1
on a1.tag_id = b1.id
where 1=1
group by a1.character_uid
) d
on d.character_uid = a.uid
where 1 = 1
where 1 = 1
and (b.status != 0 or b.status IS NULL)
and (b.status != 0 or b.status IS NULL)
<if
test=
"name != null and name != ''"
>
<if
test=
"name != null and name != ''"
>
...
...
src/main/resources/mapper/CharacterTagMapper.xml
0 → 100644
浏览文件 @
6adabc6b
<?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.zzsn.leaderbase.mapper.CharacterTagMapper"
>
<select
id=
"getTagList"
resultType=
"com.zzsn.leaderbase.entity.CharacterTag"
>
select
`id`, `name`, `code`, `type`, `category`, `create_by`, `create_time`, `update_by`, `update_time`, `status`, `description`, `sort`
from character_tag
where 1 = 1
<if
test=
"type != null and type != ''"
>
AND type = #{type}
</if>
<if
test=
"category != null and category != ''"
>
AND category = #{category}
</if>
order by id
</select>
<select
id=
"getCharacterListByTagList"
resultType=
"com.zzsn.leaderbase.vo.CharacterVo"
>
select a.id,a.uid,a.name,a.sex,a.birthplace,a.birthday,a.native_place,a.school,a.speciality,a.education,a.expert_occupation,a.head_sculpture,a.biographical_notes,a.category,a.award_records,a.part_time_job,a.research_field,a.evaluate,a.status,d.tag_id,d.tag_name,
b.type_id,c.type_name,b.company_original,b.department_original,b.duty_original,b.company,b.department,b.duty,b.take_office_time,b.take_office_time_end,b.take_office_status,b.change_url,b.duties_update_time,b.duties_update_reason,b.check_status,b.check_result,b.article_id,b.article_title,b.update_desc,b.original_id,b.new_id,b.merge_status,a.create_by,a.create_time,a.update_by,a.update_time
from character_basic_info a
INNER JOIN character_change_info b
on a.id = b.id
LEFT JOIN character_category_structure c
ON b.type_id = c.id
right join
(select GROUP_CONCAT(a1.tag_id SEPARATOR ',') as tag_id,a1.character_uid,GROUP_CONCAT(b1.name SEPARATOR ',') as tag_name
from character_tag_map a1
LEFT JOIN character_tag b1
on a1.tag_id = b1.id
where 1=1
and a1.tag_id in ${ids}
group by a1.character_uid
) d
on d.character_uid = a.uid
where 1 = 1
and (b.status != 0 or b.status IS NULL)
order by b.id
limit #{offset}, #{pageSize}
</select>
<select
id=
"getCharacterListByTagCount"
resultType=
"int"
>
select count(1)
from character_basic_info a
INNER JOIN character_change_info b
on a.id = b.id
LEFT JOIN character_category_structure c
ON b.type_id = c.id
right join
(select a1.id,a1.tag_id,a1.character_uid,b1.name,b1.type,b1.category
from character_tag_map a1
LEFT JOIN character_tag b1
on a1.tag_id = b1.id
where 1=1
and a1.tag_id in ${ids}
) d
on d.character_uid = a.uid
where 1 = 1
and (b.status != 0 or b.status IS NULL)
</select>
<select
id=
"getTopTag"
resultType=
"String"
>
select name from(
select name,sum(count_num) as count
from character_tag_top
group by name
order by count desc
limit 10
)t
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论