package com.ycl.event.listener;
|
|
import com.alibaba.fastjson2.JSON;
|
import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
|
import com.ycl.common.utils.SecurityUtils;
|
import com.ycl.domain.entity.ProcessLog;
|
import com.ycl.event.event.TaskLogEvent;
|
import com.ycl.service.ProcessLogService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.context.event.EventListener;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Objects;
|
|
/**
|
* @author:xp
|
* @date:2025/1/16 15:14
|
*/
|
@Component
|
@RequiredArgsConstructor
|
public class ProcessLogEventListener {
|
|
private final ProcessLogService processLogService;
|
|
/**
|
* 监听流程日志事件
|
*
|
* @param event 转办的事件内容
|
*/
|
@EventListener(classes = {TaskLogEvent.class})
|
public void delegate(TaskLogEvent event) {
|
ProcessLog log = new ProcessLog();
|
if(event.getId()!=null) log.setId(event.getId());
|
log.setEventType(event.getEventType());
|
log.setProcessInsId(event.getProcessInsId());
|
log.setProjectId(event.getProjectId());
|
log.setTaskId(event.getTaskId());
|
log.setUserId(SecurityUtils.getUserId());
|
if (Objects.nonNull(event.getOtherData())) {
|
log.setEventDataJson(JSON.toJSONString(event.getOtherData()));
|
}
|
processLogService.saveOrUpdate(log);
|
}
|
|
|
}
|