Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
leader-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
leader-base
Commits
2f0acdd3
提交
2f0acdd3
authored
11月 28, 2024
作者:
ZhangJingKun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改配置信息
上级
9e3c991a
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
342 行增加
和
11 行删除
+342
-11
CharacterBasicInfoController.java
...n/leaderbase/controller/CharacterBasicInfoController.java
+16
-0
SyncEnterpriseDataController.java
...n/leaderbase/controller/SyncEnterpriseDataController.java
+175
-0
CharacterBasicInfo.java
...n/java/com/zzsn/leaderbase/entity/CharacterBasicInfo.java
+1
-1
Executive.java
src/main/java/com/zzsn/leaderbase/entity/Executive.java
+58
-0
PersonOfJobChangeKafkaConsumer.java
...zzsn/leaderbase/kafka/PersonOfJobChangeKafkaConsumer.java
+23
-10
CharacterBasicInfoMapper.java
.../com/zzsn/leaderbase/mapper/CharacterBasicInfoMapper.java
+30
-0
CharacterBasicInfoService.java
...om/zzsn/leaderbase/service/CharacterBasicInfoService.java
+7
-0
CharacterBasicInfoServiceImpl.java
...eaderbase/service/impl/CharacterBasicInfoServiceImpl.java
+32
-0
没有找到文件。
src/main/java/com/zzsn/leaderbase/controller/CharacterBasicInfoController.java
浏览文件 @
2f0acdd3
...
@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Slf4j
@RestController
@RestController
...
@@ -124,4 +125,19 @@ public class CharacterBasicInfoController {
...
@@ -124,4 +125,19 @@ public class CharacterBasicInfoController {
return
characterBasicInfoService
.
correlationEdit
(
characterBasicInfo
);
return
characterBasicInfoService
.
correlationEdit
(
characterBasicInfo
);
}
}
/**
* 企业查询
* @param socialCreditCode 社会信用代码
* @param department
* @return
*/
@GetMapping
(
"/getDepartment"
)
public
Result
<?>
getDepartment
(
@RequestParam
(
name
=
"socialCreditCode"
,
required
=
false
)
String
socialCreditCode
,
@RequestParam
(
name
=
"department"
,
required
=
false
)
String
department
,
@RequestParam
(
name
=
"keyword"
,
required
=
false
)
String
keyword
)
{
log
.
info
(
"查询企业名称:{}---{}---{}"
,
socialCreditCode
,
department
,
keyword
);
List
<
Map
<
String
,
String
>>
list
=
characterBasicInfoService
.
getDepartment
(
socialCreditCode
,
department
,
keyword
);
return
Result
.
OK
(
list
);
}
}
}
src/main/java/com/zzsn/leaderbase/controller/SyncEnterpriseDataController.java
0 → 100644
浏览文件 @
2f0acdd3
package
com
.
zzsn
.
leaderbase
.
controller
;
import
com.alibaba.fastjson2.JSON
;
import
com.zzsn.leaderbase.entity.CharacterBasicInfo
;
import
com.zzsn.leaderbase.entity.Executive
;
import
com.zzsn.leaderbase.service.CharacterBasicInfoService
;
import
com.zzsn.leaderbase.service.IGeneratorIdService
;
import
com.zzsn.leaderbase.vo.Result
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.CompletableFuture
;
import
java.util.stream.Collectors
;
/**
* 企业相关数据同步接口
*/
@Slf4j
@RestController
@RequestMapping
(
"/sync"
)
public
class
SyncEnterpriseDataController
{
// @Autowired
// private ExecutiveService executiveService;
// @Autowired
// private EnterpriseShareholderService enterpriseShareholderService;
@Autowired
CharacterBasicInfoService
characterBasicInfoService
;
//生成id
@Autowired
IGeneratorIdService
generatorIdService
;
/**
* 同步企业股东信息
*
* @param jsonString json字符串
*/
/*
@PostMapping("/shareHolder")
public Result<?> syncShareHolder(@RequestBody String jsonString) {
CompletableFuture.runAsync(() -> {
List<EnterpriseShareHolder> list = JSON.parseArray(jsonString, EnterpriseShareHolder.class);
Date date = new Date();
List<EnterpriseShareHolder> addList = new ArrayList<>();
for (EnterpriseShareHolder enterpriseShareHolder : list) {
String socialCreditCode = enterpriseShareHolder.getSocialCreditCode();
LambdaQueryWrapper<EnterpriseShareHolder> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(EnterpriseShareHolder::getSocialCreditCode, socialCreditCode)
.eq(EnterpriseShareHolder::getName, enterpriseShareHolder.getName());
Integer year = enterpriseShareHolder.getYear();
if (year != null) {
queryWrapper.eq(EnterpriseShareHolder::getYear, year);
}
int count = enterpriseShareholderService.count(queryWrapper);
if (count == 0) {
enterpriseShareHolder.setCreateTime(date);
addList.add(enterpriseShareHolder);
}
}
enterpriseShareholderService.saveBatch(addList);
});
return Result.OK();
}
*/
/**
* 同步企业核心人员数据信息
* @param jsonString json字符串
*/
@PostMapping
(
"/executive"
)
public
Result
<?>
synExecutive
(
@RequestBody
String
jsonString
)
{
log
.
info
(
jsonString
);
CompletableFuture
.
runAsync
(()
->
{
//zui新采集数据
List
<
Executive
>
listExecutive
=
JSON
.
parseArray
(
jsonString
,
Executive
.
class
);
log
.
info
(
"list:{}"
,
listExecutive
.
size
());
Map
<
String
,
Executive
>
mapExecutive
=
listExecutive
.
stream
()
.
collect
(
Collectors
.
toMap
(
Executive:
:
getName
,
e
->
e
));
//社会信用代码和公司名称
String
socialCreditCode
=
listExecutive
.
get
(
0
).
getSocialCreditCode
();
log
.
info
(
"社会信用代码:{}"
,
socialCreditCode
);
String
department
=
characterBasicInfoService
.
getDepartmentCreditCode
(
socialCreditCode
);
//查询公司名称
//库中已有数据
List
<
CharacterBasicInfo
>
creditList
=
characterBasicInfoService
.
getBasicInfoByCreditCode
(
socialCreditCode
);
//查询已入库数据
Map
<
String
,
CharacterBasicInfo
>
mapCredit
=
creditList
.
stream
()
.
collect
(
Collectors
.
toMap
(
CharacterBasicInfo:
:
getName
,
e
->
e
));
//处理库中已有数据
Set
<
String
>
creditLSet
=
mapCredit
.
keySet
();
for
(
String
name
:
creditLSet
)
{
Executive
executive
=
mapExecutive
.
get
(
name
);
if
(
executive
==
null
){
//最新数据中无此人,改为历任
CharacterBasicInfo
basicInfo
=
mapCredit
.
get
(
name
);
basicInfo
.
setTakeOfficeStatus
(
"历任"
);
characterBasicInfoService
.
updateById
(
basicInfo
);
}
}
//处理新采集数据
Set
<
String
>
executiveSet
=
mapExecutive
.
keySet
();
for
(
String
name
:
executiveSet
)
{
CharacterBasicInfo
basicInfo
=
mapCredit
.
get
(
name
);
Executive
executive
=
mapExecutive
.
get
(
name
);
if
(
basicInfo
==
null
){
//新增人员
CharacterBasicInfo
newInfo
=
convert
(
executive
);
newInfo
.
setDepartment
(
department
);
newInfo
.
setUid
(
generatorIdService
.
getIdNo
());
newInfo
.
setCategory
(
"3"
);
newInfo
.
setMainEntry
(
1
);
newInfo
.
setStatus
(
1L
);
characterBasicInfoService
.
save
(
newInfo
);
}
else
{
//已有人员
//判断职务是否变动//职务变动则追加职务变更记录,职务未变动则不做处理
String
duty
=
basicInfo
.
getDuty
()
==
null
?
""
:
basicInfo
.
getDuty
();
if
(!
duty
.
equals
(
executive
.
getPosition
())){
basicInfo
.
setTakeOfficeStatus
(
"历任"
);
basicInfo
.
setMainEntry
(
0
);
characterBasicInfoService
.
updateById
(
basicInfo
);
CharacterBasicInfo
newInfo
=
convert
(
executive
);
newInfo
.
setDepartment
(
department
);
newInfo
.
setUid
(
generatorIdService
.
getIdNo
());
newInfo
.
setCategory
(
"3"
);
newInfo
.
setMainEntry
(
1
);
newInfo
.
setStatus
(
1L
);
characterBasicInfoService
.
save
(
newInfo
);
}
}
}
});
return
Result
.
OK
();
}
private
CharacterBasicInfo
convert
(
Executive
executive
){
CharacterBasicInfo
basicInfo
=
new
CharacterBasicInfo
();
basicInfo
.
setSocialCreditCode
(
executive
.
getSocialCreditCode
());
basicInfo
.
setName
(
executive
.
getName
());
basicInfo
.
setSex
(
executive
.
getSex
());
basicInfo
.
setEducation
(
executive
.
getEducation
());
basicInfo
.
setDuty
(
executive
.
getPosition
());
basicInfo
.
setBirthday
(
executive
.
getBirthYear
()
+
""
);
basicInfo
.
setTakeOfficeTime
(
executive
.
getCurrentTerm
());
basicInfo
.
setBiographicalNotes
(
executive
.
getPersonInfo
());
basicInfo
.
setSort
(
executive
.
getSort
());
basicInfo
.
setCreateTime
(
new
Date
());
// private String id;
// /**持股数*/
// private String shareNum;
// /**持股比例*/
// private String shareRatio;
// /**最终受益股份*/
// private String benefitShare;
return
basicInfo
;
}
@GetMapping
(
"/get"
)
public
Result
<?>
get
(){
String
socialCreditCode
=
"91110000400882778L"
;
String
department
=
characterBasicInfoService
.
getDepartmentCreditCode
(
socialCreditCode
);
return
Result
.
OK
();
}
}
src/main/java/com/zzsn/leaderbase/entity/CharacterBasicInfo.java
浏览文件 @
2f0acdd3
...
@@ -81,7 +81,7 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
...
@@ -81,7 +81,7 @@ public class CharacterBasicInfo extends Model<CharacterBasicInfo> {
//标签名称
//标签名称
private
String
tagName
;
private
String
tagName
;
//统一社会信用代码
//统一社会信用代码
private
String
social
_credit_c
ode
;
private
String
social
CreditC
ode
;
//排序
//排序
private
Integer
sort
;
private
Integer
sort
;
//是否主条目(1-主条目;0-非主条目)
//是否主条目(1-主条目;0-非主条目)
...
...
src/main/java/com/zzsn/leaderbase/entity/Executive.java
0 → 100644
浏览文件 @
2f0acdd3
package
com
.
zzsn
.
leaderbase
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author lkg
* @description: 企业高管表
* @date 2023/1/9
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
Executive
implements
Serializable
{
private
String
id
;
/**企业统一社会信用代码*/
private
String
socialCreditCode
;
/**高管姓名*/
private
String
name
;
/**性别*/
private
String
sex
;
/**学历*/
private
String
education
;
/**职位*/
private
String
position
;
/**薪资*/
private
String
salary
;
/**出生年份*/
private
Integer
birthYear
;
/**持股数*/
private
String
shareNum
;
/**持股比例*/
private
String
shareRatio
;
/**最终受益股份*/
private
String
benefitShare
;
/**本届任期*/
private
String
currentTerm
;
/**个人简介*/
private
String
personInfo
;
/**排序*/
private
Integer
sort
;
/**创建时间*/
@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/kafka/PersonOfJobChangeKafkaConsumer.java
浏览文件 @
2f0acdd3
...
@@ -51,7 +51,7 @@ public class PersonOfJobChangeKafkaConsumer {
...
@@ -51,7 +51,7 @@ public class PersonOfJobChangeKafkaConsumer {
//log.info(message);
//log.info(message);
InfoExtractionParam
record
=
JSON
.
parseObject
(
message
,
InfoExtractionParam
.
class
);
InfoExtractionParam
record
=
JSON
.
parseObject
(
message
,
InfoExtractionParam
.
class
);
BaseData
baseData
=
JSON
.
parseObject
(
message
,
BaseData
.
class
);
BaseData
baseData
=
JSON
.
parseObject
(
message
,
BaseData
.
class
);
log
.
info
(
"create_date:{}---title:{}"
,
baseData
.
getCreateDate
(),
baseData
.
getTitle
());
log
.
info
(
"
职务变更抽取资讯---
create_date:{}---title:{}"
,
baseData
.
getCreateDate
(),
baseData
.
getTitle
());
if
(
StringUtils
.
isEmpty
(
baseData
.
getId
())){
if
(
StringUtils
.
isEmpty
(
baseData
.
getId
())){
String
id
=
String
.
valueOf
(
generatorIdService
.
getId
());
String
id
=
String
.
valueOf
(
generatorIdService
.
getId
());
baseData
.
setId
(
id
);
baseData
.
setId
(
id
);
...
@@ -63,17 +63,30 @@ public class PersonOfJobChangeKafkaConsumer {
...
@@ -63,17 +63,30 @@ public class PersonOfJobChangeKafkaConsumer {
JSONObject
jsonObjectParam
=
new
JSONObject
();
JSONObject
jsonObjectParam
=
new
JSONObject
();
jsonObjectParam
.
put
(
"data"
,
map
);
jsonObjectParam
.
put
(
"data"
,
map
);
JSONArray
dataResultList
=
null
;
JSONArray
dataResultList
=
null
;
try
{
log
.
info
(
"request"
);
boolean
flag
=
false
;
//diao接口成功标识
String
result
=
HttpUtil
.
doPost
(
relationEntityUrl
,
jsonObjectParam
,
40000
);
while
(
true
){
log
.
info
(
"response:{}"
,
result
);
try
{
Object
objectResult
=
parseResult
(
result
);
if
(
flag
)
if
(
null
!=
objectResult
)
{
break
;
dataResultList
=
(
JSONArray
)
JSONArray
.
parse
(
objectResult
.
toString
());
String
result
=
HttpUtil
.
doPost
(
relationEntityUrl
,
jsonObjectParam
,
300000
);
log
.
info
(
"职务变更抽取响应结果:{}"
,
result
);
Object
objectResult
=
parseResult
(
result
);
if
(
null
!=
objectResult
)
{
dataResultList
=
(
JSONArray
)
JSONArray
.
parse
(
objectResult
.
toString
());
}
flag
=
true
;
//接口调用成功结束循环,防止数据漏掉
}
catch
(
Exception
e
){
log
.
error
(
"职务变更抽取接口调用异常:{}"
,
e
.
getMessage
());
//调用失败休眠5分钟
try
{
Thread
.
sleep
(
300000
);
}
catch
(
InterruptedException
ex
)
{
ex
.
printStackTrace
();
}
}
}
}
catch
(
Exception
e
){
log
.
error
(
"异常:{}"
,
e
.
getMessage
());
}
}
if
(
dataResultList
!=
null
&&
dataResultList
.
size
()
>
0
)
{
if
(
dataResultList
!=
null
&&
dataResultList
.
size
()
>
0
)
{
esUtil
.
docSaveByEntity
(
USERSERVER_BASEDATA
,
baseData
.
getId
(),
baseData
);
esUtil
.
docSaveByEntity
(
USERSERVER_BASEDATA
,
baseData
.
getId
(),
baseData
);
for
(
Object
dataResultObject
:
dataResultList
)
{
for
(
Object
dataResultObject
:
dataResultList
)
{
...
...
src/main/java/com/zzsn/leaderbase/mapper/CharacterBasicInfoMapper.java
浏览文件 @
2f0acdd3
...
@@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @Version 1.0
* @Version 1.0
...
@@ -96,4 +97,33 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
...
@@ -96,4 +97,33 @@ public interface CharacterBasicInfoMapper extends BaseMapper<CharacterBasicInfo>
"and b.original_id = #{id} "
+
"and b.original_id = #{id} "
+
"order by create_time desc "
)
"order by create_time desc "
)
List
<
CharacterVo
>
getByOriginalId
(
String
id
);
List
<
CharacterVo
>
getByOriginalId
(
String
id
);
@Select
(
"select name from sys_base_enterprise "
+
"where 1=1 "
+
"and social_credit_code = #{socialCreditCode} "
+
"limit 1"
)
String
getDepartmentCreditCode
(
String
socialCreditCode
);
@Select
(
"select * from character_basic_info "
+
"where 1=1 "
+
"and category = 3 "
+
"and main_entry = 1 "
+
"and social_credit_code = #{socialCreditCode} "
)
List
<
CharacterBasicInfo
>
getBasicInfoByCreditCode
(
String
socialCreditCode
);
@Select
(
"<script> "
+
"select social_credit_code socialCreditCode,name department from sys_base_enterprise "
+
"where 1=1 "
+
"<if test='socialCreditCode != null and socialCreditCode != '''> "
+
" and social_credit_code = #{socialCreditCode} "
+
"</if>"
+
"<if test='department != null and department != '''> "
+
" and name like '%${department}%' "
+
"</if>"
+
"<if test='keyword != null and keyword != '''> "
+
" AND CONCAT_WS(',',social_credit_code,name) like '%${keyword}%' "
+
"</if>"
+
"limit 20 "
+
"</script>"
)
List
<
Map
<
String
,
String
>>
getDepartment
(
String
socialCreditCode
,
String
department
,
String
keyword
);
}
}
src/main/java/com/zzsn/leaderbase/service/CharacterBasicInfoService.java
浏览文件 @
2f0acdd3
...
@@ -9,6 +9,7 @@ import com.zzsn.leaderbase.vo.CharacterVo;
...
@@ -9,6 +9,7 @@ import com.zzsn.leaderbase.vo.CharacterVo;
import
com.zzsn.leaderbase.vo.Result
;
import
com.zzsn.leaderbase.vo.Result
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @Version 1.0
* @Version 1.0
...
@@ -47,4 +48,10 @@ public interface CharacterBasicInfoService extends IService<CharacterBasicInfo>
...
@@ -47,4 +48,10 @@ public interface CharacterBasicInfoService extends IService<CharacterBasicInfo>
Result
<?>
correlation
(
CharacterBasicInfo
characterBasicInfo
);
Result
<?>
correlation
(
CharacterBasicInfo
characterBasicInfo
);
Result
<?>
correlationEdit
(
CharacterBasicInfo
characterBasicInfo
);
Result
<?>
correlationEdit
(
CharacterBasicInfo
characterBasicInfo
);
String
getDepartmentCreditCode
(
String
socialCreditCode
);
List
<
CharacterBasicInfo
>
getBasicInfoByCreditCode
(
String
socialCreditCode
);
List
<
Map
<
String
,
String
>>
getDepartment
(
String
socialCreditCode
,
String
department
,
String
keyword
);
}
}
src/main/java/com/zzsn/leaderbase/service/impl/CharacterBasicInfoServiceImpl.java
浏览文件 @
2f0acdd3
...
@@ -210,5 +210,37 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
...
@@ -210,5 +210,37 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
return
Result
.
OK
(
res
);
return
Result
.
OK
(
res
);
}
}
/**
* 根据社会信用代码查询公司名称
* @param socialCreditCode
* @return
*/
@Override
public
String
getDepartmentCreditCode
(
String
socialCreditCode
)
{
return
baseMapper
.
getDepartmentCreditCode
(
socialCreditCode
);
}
/**
* 根据社会信用代码查询相关联高管人员
* @param socialCreditCode
* @return
*/
@Override
public
List
<
CharacterBasicInfo
>
getBasicInfoByCreditCode
(
String
socialCreditCode
)
{
return
baseMapper
.
getBasicInfoByCreditCode
(
socialCreditCode
);
}
@Override
public
List
<
Map
<
String
,
String
>>
getDepartment
(
String
socialCreditCode
,
String
department
,
String
keyword
)
{
if
(
keyword
!=
null
&&
keyword
.
length
()
>
0
){
if
((
keyword
.
length
()
==
18
||
keyword
.
length
()
==
19
)
&&
keyword
.
matches
(
"[0-9].*|[Zz].*"
)){
socialCreditCode
=
keyword
;
}
else
{
department
=
keyword
;
}
keyword
=
null
;
}
return
baseMapper
.
getDepartment
(
socialCreditCode
,
department
,
keyword
);
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论