提交 57d8e980 authored 作者: 000516's avatar 000516

T100修改部门时推送一级部门,记录日志

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);
}
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);
}
}
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
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> {
}
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;
}
......@@ -8,9 +8,11 @@ import com.sfa.common.core.enums.promotion.PlanStatus;
import com.sfa.common.core.utils.sdk.FeiShuUtil;
import com.sfa.job.domain.promotion.dao.IActivityPlanDao;
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.pojo.feishu.event.EventCallBackDto;
import com.sfa.job.pojo.promotion.response.ActivityPlanApprovalDto;
import com.sfa.job.pojo.response.SysEventLogDto;
import com.sfa.job.util.T100Util;
import io.swagger.v3.core.util.Json;
import lombok.extern.slf4j.Slf4j;
......@@ -36,6 +38,8 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
@Autowired
private ISysDeptDao sysDeptDao;
@Autowired
private ISysEventLogDao sysEventLogDao;
@Autowired
private FeiShuUtil feiShuUtil;
@Autowired
private T100Util t100Util;
......@@ -68,9 +72,9 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
String parentDepartmentId = dept.getParentDepartmentId();
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);
}else {
// 获取上级部门树、从而获取1级部门
......@@ -94,8 +98,13 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
deptT100.put("top_organization_no","ALL");
deptT100.put("department_heads_employee_no","");
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
......@@ -114,19 +123,45 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
String parentDepartmentId = dept.getParentDepartmentId();
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("status","Y");
deptT100.put("department_no",deptCode);
// 上级部门
deptT100.put("top_level_department_no", Objects.nonNull(parentdept.getIsRoot()) && parentdept.getIsRoot() ? "BJHQ" : parentdept.getCode());
// 生效日期
deptT100.put("effective_date", "2024/05/01");
deptT100.put("expiration_date",null);
// 限定使用法人
deptT100.put("corporation","ALL");
// 部门名称
deptT100.put("department_name",deptName);
deptT100.put("department_shortname",deptName);
deptT100.put("top_organization_no","ALL");
// 部门负责人
deptT100.put("department_heads_employee_no","");
// 会计部门
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) {
sysDeptDao.deleteDept(deptCode);
......@@ -192,7 +227,13 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
userT100.put("phone","");
userT100.put("mobilephone","ALL");
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){
for (CustomFieldData customField : customFields) {
......@@ -211,7 +252,7 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
}
}
private void createOrUpdateDept(JSONObject deptT100){
private String createOrUpdateDept(JSONObject deptT100){
JSONObject service = new JSONObject();
service.put("name","department.create");
JSONObject host = new JSONObject();
......@@ -223,10 +264,10 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
JSONObject deptJson = new JSONObject();
deptJson.put("service",service);
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();
service.put("name","employee.create");
JSONObject host = new JSONObject();
......@@ -241,6 +282,6 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
userJson.put("service",service);
userJson.put("host",host);
userJson.put("payload",payload);
t100Util.createOrUpdateUser(userJson);
return t100Util.createOrUpdateUser(userJson);
}
}
......@@ -23,7 +23,7 @@ public class T100Util {
@Value("${t100.ent_id}")
private String entId;
public void createOrUpdateDept(JSONObject deptJson,JSONObject deptT100){
public String createOrUpdateDept(JSONObject deptJson,JSONObject deptT100){
JSONObject datakey = new JSONObject();
datakey.put("CompanyId","BJHQ");
datakey.put("EntId",entId);
......@@ -45,9 +45,10 @@ public class T100Util {
String body = HttpUtil.createPost(url).addHeaders(header).body(deptJson.toString()).execute().body();
String msg = body.replaceAll("\n", "");
log.info("T100-AU-DEPT结果:{}",msg);
return msg;
}
public void createOrUpdateUser(JSONObject userJson) {
public String createOrUpdateUser(JSONObject userJson) {
JSONObject datakey = new JSONObject();
datakey.put("CompanyId","BJHQ");
datakey.put("EntId",entId);
......@@ -64,6 +65,7 @@ public class T100Util {
String body = HttpUtil.createPost(url).addHeaders(header).body(userJson.toString()).execute().body();
String msg = body.replaceAll("\n", "");
log.info("T100-AU-USER结果:{}",msg);
return msg;
}
}
<?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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论