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
401119cd
提交
401119cd
authored
8月 08, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
T100修改部门时推送一级部门,记录日志
上级
edb094c5
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
251 行增加
和
12 行删除
+251
-12
ISysEventLogDao.java
...n/java/com/sfa/job/domain/system/dao/ISysEventLogDao.java
+12
-0
SysEventLogDaoImpl.java
...ava/com/sfa/job/domain/system/dao/SysEventLogDaoImpl.java
+27
-0
SysEventLog.java
...in/java/com/sfa/job/domain/system/entity/SysEventLog.java
+62
-0
SysEventLogMapper.java
...a/com/sfa/job/domain/system/mapper/SysEventLogMapper.java
+20
-0
SysEventLogDto.java
src/main/java/com/sfa/job/pojo/response/SysEventLogDto.java
+52
-0
EventCallbackServiceImpl.java
.../com/sfa/job/service/feishu/EventCallbackServiceImpl.java
+51
-10
T100Util.java
src/main/java/com/sfa/job/util/T100Util.java
+4
-2
SysEventLogMapper.xml
src/main/resources/mapper/master/SysEventLogMapper.xml
+23
-0
没有找到文件。
src/main/java/com/sfa/job/domain/system/dao/ISysEventLogDao.java
0 → 100644
浏览文件 @
401119cd
package
com
.
sfa
.
job
.
domain
.
system
.
dao
;
import
com.sfa.job.pojo.response.SysEventLogDto
;
/**
* @author : liqiulin
* @date : 2025-08-08 14
* @describe :
*/
public
interface
ISysEventLogDao
{
void
insert
(
SysEventLogDto
sysEventLogDto
);
}
src/main/java/com/sfa/job/domain/system/dao/SysEventLogDaoImpl.java
0 → 100644
浏览文件 @
401119cd
package
com
.
sfa
.
job
.
domain
.
system
.
dao
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.sfa.job.domain.system.entity.SysEventLog
;
import
com.sfa.job.domain.system.mapper.SysEventLogMapper
;
import
com.sfa.job.pojo.response.SysEventLogDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author : liqiulin
* @date : 2025-08-08 14
* @describe :
*/
@Service
@DS
(
"master"
)
public
class
SysEventLogDaoImpl
implements
ISysEventLogDao
{
@Autowired
private
SysEventLogMapper
sysEventLogMapper
;
public
void
insert
(
SysEventLogDto
sysEventLogDto
)
{
SysEventLog
sysEventLog
=
new
SysEventLog
();
BeanUtil
.
copyProperties
(
sysEventLogDto
,
sysEventLog
);
sysEventLogMapper
.
insert
(
sysEventLog
);
}
}
src/main/java/com/sfa/job/domain/system/entity/SysEventLog.java
0 → 100644
浏览文件 @
401119cd
package
com
.
sfa
.
job
.
domain
.
system
.
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
java.io.Serializable
;
import
java.util.Date
;
import
lombok.Data
;
/**
* 三方系统回调事件日志
* @TableName sys_event_log
*/
@TableName
(
value
=
"sys_event_log"
)
@Data
public
class
SysEventLog
implements
Serializable
{
/**
* 事件日志ID
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
eventLogId
;
/**
* 事件名称
*/
private
String
eventName
;
/**
* 事件组名(飞书、勤策)
*/
private
String
eventGroup
;
/**
* 参数信息
*/
private
String
requestMsg
;
/**
* 返回信息
*/
private
String
responseMsg
;
/**
* 非0失败
*/
private
String
fail
;
/**
* 异常信息
*/
private
String
exceptionInfo
;
/**
* 创建时间
*/
private
Date
createTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/job/domain/system/mapper/SysEventLogMapper.java
0 → 100644
浏览文件 @
401119cd
package
com
.
sfa
.
job
.
domain
.
system
.
mapper
;
import
com.sfa.job.domain.system.entity.SysEventLog
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
/**
* @author a02200059
* @description 针对表【sys_event_log(三方系统回调事件日志)】的数据库操作Mapper
* @createDate 2025-08-08 14:49:03
* @Entity com.sfa.job.domain.system.entity.SysEventLog
*/
@Repository
public
interface
SysEventLogMapper
extends
BaseMapper
<
SysEventLog
>
{
}
src/main/java/com/sfa/job/pojo/response/SysEventLogDto.java
0 → 100644
浏览文件 @
401119cd
package
com
.
sfa
.
job
.
pojo
.
response
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* @author : liqiulin
* @date : 2025-08-08 14
* @describe :
*/
@AllArgsConstructor
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@Data
public
class
SysEventLogDto
{
/**
* 事件日志ID
*/
private
Long
eventLogId
;
/**
* 事件名称
*/
private
String
eventName
;
/**
* 事件组名(飞书、勤策)
*/
private
String
eventGroup
;
/**
* 参数信息
*/
private
String
requestMsg
;
/**
* 返回信息
*/
private
String
responseMsg
;
/**
* 非0失败
*/
private
String
fail
;
/**
* 异常信息
*/
private
String
exceptionInfo
;
}
src/main/java/com/sfa/job/service/feishu/EventCallbackServiceImpl.java
浏览文件 @
401119cd
...
@@ -8,9 +8,11 @@ import com.sfa.common.core.enums.promotion.PlanStatus;
...
@@ -8,9 +8,11 @@ import com.sfa.common.core.enums.promotion.PlanStatus;
import
com.sfa.common.core.utils.sdk.FeiShuUtil
;
import
com.sfa.common.core.utils.sdk.FeiShuUtil
;
import
com.sfa.job.domain.promotion.dao.IActivityPlanDao
;
import
com.sfa.job.domain.promotion.dao.IActivityPlanDao
;
import
com.sfa.job.domain.system.dao.ISysDeptDao
;
import
com.sfa.job.domain.system.dao.ISysDeptDao
;
import
com.sfa.job.domain.system.dao.ISysEventLogDao
;
import
com.sfa.job.domain.system.dao.ISysUserDao
;
import
com.sfa.job.domain.system.dao.ISysUserDao
;
import
com.sfa.job.pojo.feishu.event.EventCallBackDto
;
import
com.sfa.job.pojo.feishu.event.EventCallBackDto
;
import
com.sfa.job.pojo.promotion.response.ActivityPlanApprovalDto
;
import
com.sfa.job.pojo.promotion.response.ActivityPlanApprovalDto
;
import
com.sfa.job.pojo.response.SysEventLogDto
;
import
com.sfa.job.util.T100Util
;
import
com.sfa.job.util.T100Util
;
import
io.swagger.v3.core.util.Json
;
import
io.swagger.v3.core.util.Json
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -36,6 +38,8 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -36,6 +38,8 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
@Autowired
@Autowired
private
ISysDeptDao
sysDeptDao
;
private
ISysDeptDao
sysDeptDao
;
@Autowired
@Autowired
private
ISysEventLogDao
sysEventLogDao
;
@Autowired
private
FeiShuUtil
feiShuUtil
;
private
FeiShuUtil
feiShuUtil
;
@Autowired
@Autowired
private
T100Util
t100Util
;
private
T100Util
t100Util
;
...
@@ -68,9 +72,9 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -68,9 +72,9 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
String
parentDepartmentId
=
dept
.
getParentDepartmentId
();
String
parentDepartmentId
=
dept
.
getParentDepartmentId
();
Department
parentdept
=
feiShuUtil
.
getDepartmentCorehr
(
parentDepartmentId
);
Department
parentdept
=
feiShuUtil
.
getDepartmentCorehr
(
parentDepartmentId
);
deptT100
.
put
(
"top_level_department_no"
,
deptCode
.
startsWith
(
"ZX"
)
?
"BJHQ"
:
parentdept
.
getCode
());
deptT100
.
put
(
"top_level_department_no"
,
Objects
.
nonNull
(
parentdept
.
getIsRoot
())
&&
parentdept
.
getIsRoot
(
)
?
"BJHQ"
:
parentdept
.
getCode
());
if
(
deptCode
.
startsWith
(
"ZX"
)){
if
(
Objects
.
nonNull
(
parentdept
.
getIsRoot
())
&&
parentdept
.
getIsRoot
(
)){
deptT100
.
put
(
"ooeg004"
,
deptCode
);
deptT100
.
put
(
"ooeg004"
,
deptCode
);
}
else
{
}
else
{
// 获取上级部门树、从而获取1级部门
// 获取上级部门树、从而获取1级部门
...
@@ -94,8 +98,13 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -94,8 +98,13 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
deptT100
.
put
(
"top_organization_no"
,
"ALL"
);
deptT100
.
put
(
"top_organization_no"
,
"ALL"
);
deptT100
.
put
(
"department_heads_employee_no"
,
""
);
deptT100
.
put
(
"department_heads_employee_no"
,
""
);
deptT100
.
put
(
"ooeg005"
,
"Y"
);
deptT100
.
put
(
"ooeg005"
,
"Y"
);
createOrUpdateDept
(
deptT100
);
String
msg
=
createOrUpdateDept
(
deptT100
);
SysEventLogDto
eventDto
=
new
SysEventLogDto
()
.
setEventName
(
"T100 dept A"
)
.
setEventGroup
(
"T100 dept"
)
.
setRequestMsg
(
JSONObject
.
toJSONString
(
deptT100
))
.
setResponseMsg
(
msg
);
sysEventLogDao
.
insert
(
eventDto
);
}
}
@Override
@Override
...
@@ -114,19 +123,45 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -114,19 +123,45 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
String
parentDepartmentId
=
dept
.
getParentDepartmentId
();
String
parentDepartmentId
=
dept
.
getParentDepartmentId
();
Department
parentdept
=
feiShuUtil
.
getDepartmentCorehr
(
parentDepartmentId
);
Department
parentdept
=
feiShuUtil
.
getDepartmentCorehr
(
parentDepartmentId
);
if
(
Objects
.
nonNull
(
parentdept
.
getIsRoot
())
&&
parentdept
.
getIsRoot
()){
deptT100
.
put
(
"ooeg004"
,
deptCode
);
}
else
{
// 获取上级部门树、从而获取1级部门
DepartmentParentInfo
[]
parentsDept
=
feiShuUtil
.
getParentsDepartmentReq
(
dept
.
getId
());
DepartmentParentInfo
deptL1
=
parentsDept
[
parentsDept
.
length
-
2
];
// 获取1级部门编码
Department
deptInfoL1
=
feiShuUtil
.
getDepartmentCorehr
(
deptL1
.
getDepartmentId
());
String
deptCodeL1
=
deptInfoL1
.
getCode
();
deptT100
.
put
(
"ooeg004"
,
deptCodeL1
);
}
deptT100
.
put
(
"data_status"
,
"AU"
);
deptT100
.
put
(
"data_status"
,
"AU"
);
deptT100
.
put
(
"status"
,
"Y"
);
deptT100
.
put
(
"status"
,
"Y"
);
deptT100
.
put
(
"department_no"
,
deptCode
);
deptT100
.
put
(
"department_no"
,
deptCode
);
// 上级部门
deptT100
.
put
(
"top_level_department_no"
,
Objects
.
nonNull
(
parentdept
.
getIsRoot
())
&&
parentdept
.
getIsRoot
()
?
"BJHQ"
:
parentdept
.
getCode
());
deptT100
.
put
(
"top_level_department_no"
,
Objects
.
nonNull
(
parentdept
.
getIsRoot
())
&&
parentdept
.
getIsRoot
()
?
"BJHQ"
:
parentdept
.
getCode
());
// 生效日期
deptT100
.
put
(
"effective_date"
,
"2024/05/01"
);
deptT100
.
put
(
"effective_date"
,
"2024/05/01"
);
deptT100
.
put
(
"expiration_date"
,
null
);
deptT100
.
put
(
"expiration_date"
,
null
);
// 限定使用法人
deptT100
.
put
(
"corporation"
,
"ALL"
);
deptT100
.
put
(
"corporation"
,
"ALL"
);
// 部门名称
deptT100
.
put
(
"department_name"
,
deptName
);
deptT100
.
put
(
"department_name"
,
deptName
);
deptT100
.
put
(
"department_shortname"
,
deptName
);
deptT100
.
put
(
"department_shortname"
,
deptName
);
deptT100
.
put
(
"top_organization_no"
,
"ALL"
);
deptT100
.
put
(
"top_organization_no"
,
"ALL"
);
// 部门负责人
deptT100
.
put
(
"department_heads_employee_no"
,
""
);
deptT100
.
put
(
"department_heads_employee_no"
,
""
);
// 会计部门
deptT100
.
put
(
"ooeg005"
,
"Y"
);
deptT100
.
put
(
"ooeg005"
,
"Y"
);
createOrUpdateDept
(
deptT100
);
String
msg
=
createOrUpdateDept
(
deptT100
);
SysEventLogDto
eventDto
=
new
SysEventLogDto
()
.
setEventName
(
"T100 dept AU"
)
.
setEventGroup
(
"T100 dept"
)
.
setRequestMsg
(
JSONObject
.
toJSONString
(
deptT100
))
.
setResponseMsg
(
msg
);
sysEventLogDao
.
insert
(
eventDto
);
// 部门停用时,删除链路中心部门
// 部门停用时,删除链路中心部门
if
(!
active
)
{
if
(!
active
)
{
sysDeptDao
.
deleteDept
(
deptCode
);
sysDeptDao
.
deleteDept
(
deptCode
);
...
@@ -192,7 +227,13 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -192,7 +227,13 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
userT100
.
put
(
"phone"
,
""
);
userT100
.
put
(
"phone"
,
""
);
userT100
.
put
(
"mobilephone"
,
"ALL"
);
userT100
.
put
(
"mobilephone"
,
"ALL"
);
userT100
.
put
(
"email"
,
""
);
userT100
.
put
(
"email"
,
""
);
createOrUpdateUser
(
userT100
);
String
msg
=
createOrUpdateUser
(
userT100
);
SysEventLogDto
eventDto
=
new
SysEventLogDto
()
.
setEventName
(
"T100 user AU"
)
.
setEventGroup
(
"T100 user"
)
.
setRequestMsg
(
JSONObject
.
toJSONString
(
userT100
))
.
setResponseMsg
(
msg
);
sysEventLogDao
.
insert
(
eventDto
);
}
}
private
void
customFields
(
CustomFieldData
[]
customFields
,
JSONObject
deptT100
){
private
void
customFields
(
CustomFieldData
[]
customFields
,
JSONObject
deptT100
){
for
(
CustomFieldData
customField
:
customFields
)
{
for
(
CustomFieldData
customField
:
customFields
)
{
...
@@ -211,7 +252,7 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -211,7 +252,7 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
}
}
}
}
private
void
createOrUpdateDept
(
JSONObject
deptT100
){
private
String
createOrUpdateDept
(
JSONObject
deptT100
){
JSONObject
service
=
new
JSONObject
();
JSONObject
service
=
new
JSONObject
();
service
.
put
(
"name"
,
"department.create"
);
service
.
put
(
"name"
,
"department.create"
);
JSONObject
host
=
new
JSONObject
();
JSONObject
host
=
new
JSONObject
();
...
@@ -223,10 +264,10 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -223,10 +264,10 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
JSONObject
deptJson
=
new
JSONObject
();
JSONObject
deptJson
=
new
JSONObject
();
deptJson
.
put
(
"service"
,
service
);
deptJson
.
put
(
"service"
,
service
);
deptJson
.
put
(
"host"
,
host
);
deptJson
.
put
(
"host"
,
host
);
t100Util
.
createOrUpdateDept
(
deptJson
,
deptT100
);
return
t100Util
.
createOrUpdateDept
(
deptJson
,
deptT100
);
}
}
private
void
createOrUpdateUser
(
JSONObject
userT100
){
private
String
createOrUpdateUser
(
JSONObject
userT100
){
JSONObject
service
=
new
JSONObject
();
JSONObject
service
=
new
JSONObject
();
service
.
put
(
"name"
,
"employee.create"
);
service
.
put
(
"name"
,
"employee.create"
);
JSONObject
host
=
new
JSONObject
();
JSONObject
host
=
new
JSONObject
();
...
@@ -241,6 +282,6 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
...
@@ -241,6 +282,6 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
userJson
.
put
(
"service"
,
service
);
userJson
.
put
(
"service"
,
service
);
userJson
.
put
(
"host"
,
host
);
userJson
.
put
(
"host"
,
host
);
userJson
.
put
(
"payload"
,
payload
);
userJson
.
put
(
"payload"
,
payload
);
t100Util
.
createOrUpdateUser
(
userJson
);
return
t100Util
.
createOrUpdateUser
(
userJson
);
}
}
}
}
src/main/java/com/sfa/job/util/T100Util.java
浏览文件 @
401119cd
...
@@ -23,7 +23,7 @@ public class T100Util {
...
@@ -23,7 +23,7 @@ public class T100Util {
@Value
(
"${t100.ent_id}"
)
@Value
(
"${t100.ent_id}"
)
private
String
entId
;
private
String
entId
;
public
void
createOrUpdateDept
(
JSONObject
deptJson
,
JSONObject
deptT100
){
public
String
createOrUpdateDept
(
JSONObject
deptJson
,
JSONObject
deptT100
){
JSONObject
datakey
=
new
JSONObject
();
JSONObject
datakey
=
new
JSONObject
();
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"EntId"
,
entId
);
datakey
.
put
(
"EntId"
,
entId
);
...
@@ -45,9 +45,10 @@ public class T100Util {
...
@@ -45,9 +45,10 @@ public class T100Util {
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
deptJson
.
toString
()).
execute
().
body
();
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
deptJson
.
toString
()).
execute
().
body
();
String
msg
=
body
.
replaceAll
(
"\n"
,
""
);
String
msg
=
body
.
replaceAll
(
"\n"
,
""
);
log
.
info
(
"T100-AU-DEPT结果:{}"
,
msg
);
log
.
info
(
"T100-AU-DEPT结果:{}"
,
msg
);
return
msg
;
}
}
public
void
createOrUpdateUser
(
JSONObject
userJson
)
{
public
String
createOrUpdateUser
(
JSONObject
userJson
)
{
JSONObject
datakey
=
new
JSONObject
();
JSONObject
datakey
=
new
JSONObject
();
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"CompanyId"
,
"BJHQ"
);
datakey
.
put
(
"EntId"
,
entId
);
datakey
.
put
(
"EntId"
,
entId
);
...
@@ -64,6 +65,7 @@ public class T100Util {
...
@@ -64,6 +65,7 @@ public class T100Util {
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
userJson
.
toString
()).
execute
().
body
();
String
body
=
HttpUtil
.
createPost
(
url
).
addHeaders
(
header
).
body
(
userJson
.
toString
()).
execute
().
body
();
String
msg
=
body
.
replaceAll
(
"\n"
,
""
);
String
msg
=
body
.
replaceAll
(
"\n"
,
""
);
log
.
info
(
"T100-AU-USER结果:{}"
,
msg
);
log
.
info
(
"T100-AU-USER结果:{}"
,
msg
);
return
msg
;
}
}
}
}
src/main/resources/mapper/master/SysEventLogMapper.xml
0 → 100644
浏览文件 @
401119cd
<?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.sfa.job.domain.system.mapper.SysEventLogMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.sfa.job.domain.system.entity.SysEventLog"
>
<id
property=
"eventLogId"
column=
"event_log_id"
jdbcType=
"BIGINT"
/>
<result
property=
"eventName"
column=
"event_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"eventGroup"
column=
"event_group"
jdbcType=
"VARCHAR"
/>
<result
property=
"requestMsg"
column=
"request_msg"
jdbcType=
"VARCHAR"
/>
<result
property=
"responseMsg"
column=
"response_msg"
jdbcType=
"VARCHAR"
/>
<result
property=
"fail"
column=
"fail"
jdbcType=
"CHAR"
/>
<result
property=
"exceptionInfo"
column=
"exception_info"
jdbcType=
"VARCHAR"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
event_log_id,event_name,event_group,
request_msg,response_msg,fail,
exception_info,create_time
</sql>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论