Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-job
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-job
Commits
6c3de76f
提交
6c3de76f
authored
7月 02, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
差异文件
1、添加功能:修改人事用户银行信息时,修改T100;2、人员属于新人启航营时跳过异动;3、修改日志形式
上级
48f07d50
09506b7f
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
41 行增加
和
36 行删除
+41
-36
Constants.java
src/main/java/com/sfa/job/constants/Constants.java
+1
-0
EventCallbackLuzx.java
...n/java/com/sfa/job/consumer/feishu/EventCallbackLuzx.java
+11
-6
EventCallbackServiceImpl.java
.../com/sfa/job/service/feishu/EventCallbackServiceImpl.java
+21
-26
IEventCallbackService.java
...ava/com/sfa/job/service/feishu/IEventCallbackService.java
+2
-2
T100Util.java
src/main/java/com/sfa/job/util/T100Util.java
+6
-2
没有找到文件。
src/main/java/com/sfa/job/constants/Constants.java
浏览文件 @
6c3de76f
...
@@ -16,4 +16,5 @@ public class Constants {
...
@@ -16,4 +16,5 @@ public class Constants {
public
static
final
String
FEISHU_EVENT_DEPT_PUT
=
"corehr.department.updated_v1"
;
public
static
final
String
FEISHU_EVENT_DEPT_PUT
=
"corehr.department.updated_v1"
;
public
static
final
String
FEISHU_EVENT_USER_CREATE
=
"corehr.job_data.employed_v1"
;
public
static
final
String
FEISHU_EVENT_USER_CREATE
=
"corehr.job_data.employed_v1"
;
public
static
final
String
FEISHU_EVENT_USER_PUT
=
"corehr.job_data.changed_v1"
;
public
static
final
String
FEISHU_EVENT_USER_PUT
=
"corehr.job_data.changed_v1"
;
public
static
final
String
FEISHU_EVENT_USER_UPDATE
=
"corehr.person.updated_v1"
;
}
}
src/main/java/com/sfa/job/consumer/feishu/EventCallbackLuzx.java
浏览文件 @
6c3de76f
package
com
.
sfa
.
job
.
consumer
.
feishu
;
package
com
.
sfa
.
job
.
consumer
.
feishu
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.lark.oapi.ws.Constant
;
import
com.lark.oapi.ws.Constant
;
import
com.sfa.common.core.enums.ECode
;
import
com.sfa.common.core.enums.ECode
;
...
@@ -54,7 +55,7 @@ public class EventCallbackLuzx {
...
@@ -54,7 +55,7 @@ public class EventCallbackLuzx {
byte
[]
keyBs
=
digest
.
digest
(
encryptKeyP
.
getBytes
(
StandardCharsets
.
UTF_8
));
byte
[]
keyBs
=
digest
.
digest
(
encryptKeyP
.
getBytes
(
StandardCharsets
.
UTF_8
));
String
decrypt
=
decrypt
(
encrypt
,
keyBs
);
String
decrypt
=
decrypt
(
encrypt
,
keyBs
);
JSONObject
req
=
JSONObject
.
parseObject
(
decrypt
);
JSONObject
req
=
JSONObject
.
parseObject
(
decrypt
);
log
.
info
(
"飞书事件
回调数据:{}\n解析
:{}"
,
eventObj
,
req
);
log
.
info
(
"飞书事件
监听数据:{};解析后
:{}"
,
eventObj
,
req
);
/**
/**
* 审批实例 状态变更 事件处理
* 审批实例 状态变更 事件处理
...
@@ -97,13 +98,17 @@ public class EventCallbackLuzx {
...
@@ -97,13 +98,17 @@ public class EventCallbackLuzx {
if
(
Constants
.
FEISHU_EVENT_DEPT_PUT
.
equals
(
eventType
)){
if
(
Constants
.
FEISHU_EVENT_DEPT_PUT
.
equals
(
eventType
)){
eventCallbackService
.
deptUpdate
(
departmentId
);
eventCallbackService
.
deptUpdate
(
departmentId
);
}
}
// 员工入职
// 员工入职
or 员工异动
if
(
Constants
.
FEISHU_EVENT_USER_CREATE
.
equals
(
eventType
)){
if
(
Constants
.
FEISHU_EVENT_USER_CREATE
.
equals
(
eventType
)
||
Constants
.
FEISHU_EVENT_USER_PUT
.
equals
(
eventType
)
){
eventCallbackService
.
userCreate
(
req
.
getJSONObject
(
"event"
).
getString
(
"employment_id"
));
eventCallbackService
.
userCreate
OrUpdate
(
req
.
getJSONObject
(
"event"
).
getString
(
"employment_id"
));
}
}
// 员工信息修改
// 员工信息修改
if
(
Constants
.
FEISHU_EVENT_USER_PUT
.
equals
(
eventType
)){
if
(
Constants
.
FEISHU_EVENT_USER_UPDATE
.
equals
(
eventType
)){
eventCallbackService
.
userUpdate
(
req
.
getJSONObject
(
"event"
).
getString
(
"employment_id"
));
JSONArray
fieldChanges
=
req
.
getJSONObject
(
"event"
).
getJSONArray
(
"field_changes"
);
boolean
contains
=
fieldChanges
.
contains
(
"bank_account.bank_account_number"
);
if
(
contains
){
eventCallbackService
.
userUpdateByPersonId
(
req
.
getJSONObject
(
"event"
).
getString
(
"person_id"
));
}
}
}
...
...
src/main/java/com/sfa/job/service/feishu/EventCallbackServiceImpl.java
浏览文件 @
6c3de76f
...
@@ -118,28 +118,41 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -118,28 +118,41 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
* 员工入职
* 员工入职
*/
*/
@Override
@Override
public
void
userCreate
(
String
employmentId
)
{
public
void
userCreate
OrUpdate
(
String
employmentId
)
{
Employee
emp
=
feiShuUtil
.
getEmployeeReq
(
employmentId
);
Employee
emp
=
feiShuUtil
.
getEmployeeReq
(
employmentId
);
String
departmentIdV2
=
emp
.
getDepartmentIdV2
(
);
userAUT100
(
emp
);
Department
dept
=
feiShuUtil
.
getDepartmentCorehr
(
departmentIdV2
);
}
/**
* personId:创建人员信息时,生成的ID
*/
@Override
public
void
userUpdateByPersonId
(
String
personId
)
{
Employee
emp
=
feiShuUtil
.
getPersonReq
(
personId
);
userAUT100
(
emp
);
}
private
void
userAUT100
(
Employee
emp
){
String
departmentIdV2
=
emp
.
getDepartmentIdV2
();
Department
dept
=
feiShuUtil
.
getDepartmentCorehr
(
departmentIdV2
);
String
employeeNumber
=
emp
.
getEmployeeNumber
();
String
employeeNumber
=
emp
.
getEmployeeNumber
();
String
deptCode
=
dept
.
getCode
();
String
deptCode
=
dept
.
getCode
();
String
preferredName
=
emp
.
getPersonInfo
().
getPreferredName
();
// 判断部门,当部门为【新人训练营】时跳过,不做人员异动
if
(
deptCode
.
equals
(
"BM0131"
)){
log
.
info
(
"T100-AU-USER skip user:{}{}-新人训练营{}"
,
preferredName
,
employeeNumber
,
deptCode
);
return
;
}
BankAccount
bankAccount
=
emp
.
getPersonInfo
().
getBankAccountList
()[
0
];
BankAccount
bankAccount
=
emp
.
getPersonInfo
().
getBankAccountList
()[
0
];
String
branchIdV2
=
bankAccount
.
getBranchIdV2
();
String
bankAccountNumber
=
bankAccount
.
getBankAccountNumber
();
String
bankAccountNumber
=
bankAccount
.
getBankAccountNumber
();
String
preferredName
=
emp
.
getPersonInfo
().
getPreferredName
();
JSONObject
userT100
=
new
JSONObject
();
JSONObject
userT100
=
new
JSONObject
();
userT100
.
put
(
"data_status"
,
"AU"
);
userT100
.
put
(
"data_status"
,
"AU"
);
userT100
.
put
(
"status"
,
"Y"
);
userT100
.
put
(
"status"
,
"Y"
);
userT100
.
put
(
"employee_no"
,
employeeNumber
);
userT100
.
put
(
"employee_no"
,
employeeNumber
);
userT100
.
put
(
"department_no"
,
deptCode
);
userT100
.
put
(
"department_no"
,
deptCode
);
userT100
.
put
(
"site_no"
,
"ALL"
);
userT100
.
put
(
"site_no"
,
"ALL"
);
userT100
.
put
(
"title"
,
""
);
userT100
.
put
(
"title"
,
""
);
userT100
.
put
(
"bank_no"
,
branchIdV2
);
userT100
.
put
(
"bank_no"
,
"001"
);
userT100
.
put
(
"account"
,
bankAccountNumber
);
userT100
.
put
(
"account"
,
bankAccountNumber
);
userT100
.
put
(
"employee_name"
,
preferredName
);
userT100
.
put
(
"employee_name"
,
preferredName
);
userT100
.
put
(
"employee_nickname"
,
preferredName
);
userT100
.
put
(
"employee_nickname"
,
preferredName
);
...
@@ -148,12 +161,6 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -148,12 +161,6 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
userT100
.
put
(
"email"
,
""
);
userT100
.
put
(
"email"
,
""
);
createOrUpdateUser
(
userT100
);
createOrUpdateUser
(
userT100
);
}
}
@Override
public
void
userUpdate
(
String
employmentId
)
{
userCreate
(
employmentId
);
}
private
void
customFields
(
CustomFieldData
[]
customFields
,
JSONObject
deptT100
){
private
void
customFields
(
CustomFieldData
[]
customFields
,
JSONObject
deptT100
){
for
(
CustomFieldData
customField
:
customFields
)
{
for
(
CustomFieldData
customField
:
customFields
)
{
String
customName
=
customField
.
getName
().
getZhCn
();
String
customName
=
customField
.
getName
().
getZhCn
();
...
@@ -172,25 +179,19 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -172,25 +179,19 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
}
}
private
void
createOrUpdateDept
(
JSONObject
deptT100
){
private
void
createOrUpdateDept
(
JSONObject
deptT100
){
JSONObject
service
=
new
JSONObject
();
JSONObject
service
=
new
JSONObject
();
service
.
put
(
"name"
,
"department.create"
);
service
.
put
(
"name"
,
"department.create"
);
JSONObject
datakey
=
new
JSONObject
();
JSONObject
datakey
=
new
JSONObject
();
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"EntId"
,
"80"
);
datakey
.
put
(
"EntId"
,
"80"
);
JSONObject
host
=
new
JSONObject
();
JSONObject
host
=
new
JSONObject
();
host
.
put
(
"acct"
,
"tiptop"
);
host
.
put
(
"acct"
,
"tiptop"
);
host
.
put
(
"ip"
,
"192.168.100.20"
);
host
.
put
(
"ip"
,
"192.168.100.20"
);
host
.
put
(
"lang"
,
"zh_CN"
);
host
.
put
(
"lang"
,
"zh_CN"
);
host
.
put
(
"prod"
,
"CRM"
);
host
.
put
(
"prod"
,
"CRM"
);
host
.
put
(
"timestamp"
,
DateUtil
.
format
(
new
Date
(),
DatePattern
.
NORM_DATETIME_MS_PATTERN
));
host
.
put
(
"timestamp"
,
DateUtil
.
format
(
new
Date
(),
DatePattern
.
NORM_DATETIME_MS_PATTERN
));
JSONObject
payload
=
new
JSONObject
();
JSONObject
payload
=
new
JSONObject
();
payload
.
putObject
(
"std_data"
).
putObject
(
"parameter"
).
putArray
(
"master_data"
).
add
(
deptT100
);
payload
.
putObject
(
"std_data"
).
putObject
(
"parameter"
).
putArray
(
"master_data"
).
add
(
deptT100
);
JSONObject
deptJson
=
new
JSONObject
();
JSONObject
deptJson
=
new
JSONObject
();
deptJson
.
put
(
"service"
,
service
);
deptJson
.
put
(
"service"
,
service
);
deptJson
.
put
(
"datakey"
,
datakey
);
deptJson
.
put
(
"datakey"
,
datakey
);
...
@@ -200,25 +201,19 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -200,25 +201,19 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
}
}
private
void
createOrUpdateUser
(
JSONObject
userT100
){
private
void
createOrUpdateUser
(
JSONObject
userT100
){
JSONObject
service
=
new
JSONObject
();
JSONObject
service
=
new
JSONObject
();
service
.
put
(
"name"
,
"employee.create"
);
service
.
put
(
"name"
,
"employee.create"
);
JSONObject
datakey
=
new
JSONObject
();
JSONObject
datakey
=
new
JSONObject
();
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"EntId"
,
"80"
);
datakey
.
put
(
"EntId"
,
"80"
);
JSONObject
host
=
new
JSONObject
();
JSONObject
host
=
new
JSONObject
();
host
.
put
(
"acct"
,
"tiptop"
);
host
.
put
(
"acct"
,
"tiptop"
);
host
.
put
(
"ip"
,
"192.168.100.20"
);
host
.
put
(
"ip"
,
"192.168.100.20"
);
host
.
put
(
"lang"
,
"zh_CN"
);
host
.
put
(
"lang"
,
"zh_CN"
);
host
.
put
(
"prod"
,
"CRM"
);
host
.
put
(
"prod"
,
"CRM"
);
host
.
put
(
"timestamp"
,
DateUtil
.
format
(
new
Date
(),
DatePattern
.
NORM_DATETIME_MS_PATTERN
));
host
.
put
(
"timestamp"
,
DateUtil
.
format
(
new
Date
(),
DatePattern
.
NORM_DATETIME_MS_PATTERN
));
JSONObject
payload
=
new
JSONObject
();
JSONObject
payload
=
new
JSONObject
();
payload
.
putObject
(
"std_data"
).
putObject
(
"parameter"
).
putArray
(
"master_data"
).
add
(
userT100
);
payload
.
putObject
(
"std_data"
).
putObject
(
"parameter"
).
putArray
(
"master_data"
).
add
(
userT100
);
JSONObject
userJson
=
new
JSONObject
();
JSONObject
userJson
=
new
JSONObject
();
userJson
.
put
(
"service"
,
service
);
userJson
.
put
(
"service"
,
service
);
userJson
.
put
(
"datakey"
,
datakey
);
userJson
.
put
(
"datakey"
,
datakey
);
...
...
src/main/java/com/sfa/job/service/feishu/IEventCallbackService.java
浏览文件 @
6c3de76f
...
@@ -14,7 +14,7 @@ public interface IEventCallbackService {
...
@@ -14,7 +14,7 @@ public interface IEventCallbackService {
void
deptUpdate
(
String
departmentId
);
void
deptUpdate
(
String
departmentId
);
void
userCreate
(
String
employmentId
);
void
userCreate
OrUpdate
(
String
employmentId
);
void
userUpdate
(
String
employment
Id
);
void
userUpdate
ByPersonId
(
String
person
Id
);
}
}
src/main/java/com/sfa/job/util/T100Util.java
浏览文件 @
6c3de76f
...
@@ -28,8 +28,10 @@ public class T100Util {
...
@@ -28,8 +28,10 @@ public class T100Util {
header
.
put
(
"digi-srvcode"
,
"000"
);
header
.
put
(
"digi-srvcode"
,
"000"
);
header
.
put
(
"digi-type"
,
"sync"
);
header
.
put
(
"digi-type"
,
"sync"
);
header
.
put
(
"digi-key"
,
"f63b06af224e90ea3f9f08e0226fc91e"
);
header
.
put
(
"digi-key"
,
"f63b06af224e90ea3f9f08e0226fc91e"
);
log
.
info
(
"T100-AU-DEPT参数:{}"
,
deptJson
);
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
deptJson
.
toString
()).
execute
().
body
();
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
deptJson
.
toString
()).
execute
().
body
();
log
.
info
(
"\nT100-创建/修改部门\n参数:{}\n结果:{}"
,
deptJson
,
body
);
String
msg
=
body
.
replaceAll
(
"\n"
,
""
);
log
.
info
(
"T100-AU-DEPT结果:{}"
,
msg
);
}
}
public
void
createOrUpdateUser
(
JSONObject
userJson
)
{
public
void
createOrUpdateUser
(
JSONObject
userJson
)
{
...
@@ -40,8 +42,10 @@ public class T100Util {
...
@@ -40,8 +42,10 @@ public class T100Util {
header
.
put
(
"digi-srvcode"
,
"000"
);
header
.
put
(
"digi-srvcode"
,
"000"
);
header
.
put
(
"digi-type"
,
"sync"
);
header
.
put
(
"digi-type"
,
"sync"
);
header
.
put
(
"digi-key"
,
"f63b06af224e90ea3f9f08e0226fc91e"
);
header
.
put
(
"digi-key"
,
"f63b06af224e90ea3f9f08e0226fc91e"
);
log
.
info
(
"T100-AU-USER参数:{}"
,
userJson
);
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
userJson
.
toString
()).
execute
().
body
();
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
userJson
.
toString
()).
execute
().
body
();
log
.
info
(
"\nT100-创建/修改人员\n参数:{}\n结果:{}"
,
userJson
,
body
);
String
msg
=
body
.
replaceAll
(
"\n"
,
""
);
log
.
info
(
"T100-AU-USER结果:{}"
,
msg
);
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论