1. 添加事件
/**
* 平台操作日志事件
*/
@Data
@AllArgsConstructor
public class LogPlatformOperEvent{
//添加到数据库的实体 pojo
private LogPlatformOper logPlatformOper;
}
2. 添加监听
/**
* 添加平台操作日志
*
* @param event 事件
*/
@Async
@Order
@EventListener(LogPlatformOperEvent.class)
public void savePlatformOperLog(LogPlatformOperEvent event) {
LogPlatformOper oper = event.getLogPlatformOper();
//设置用户登录名
PlatformUser platformUser = adminMapper.selectOne(Wrappers.<PlatformUser>lambdaQuery()
.eq(PlatformUser::getId, oper.getUserId()).eq(PlatformUser::getIsDelete, 0));
if (ObjectUtil.isNotNull(platformUser)) {
oper.setLoginName(platformUser.getLoginName());
} else {
// 用户不存在
throw new ParamException("用户不存在!");
}
oper.setId(snowflake.nextId()).setCreateTime(LocalDateTime.now());
logPlatformOperMapper.insert(oper);
}