package jnpf.bizcommon.audit.service; import jnpf.audit.model.AuditEventDTO; public interface AuditEventService { /** * 幂等落库审计事件:同一 operationId 按 BUSINESS / PRIMARY_SIGN / REVIEW_SIGN * 事务合并,数据库唯一索引保证并发下每类最多一行。 * * @param dto 审计事件 DTO * @return 1 = 新插入或合并更新,0 = client_event_id 重复,已忽略 * @throws IllegalArgumentException eventType 不在受控枚举内,或必填字段 * (clientEventId/operatorId/appName/actionCode/eventTime/tenantId/sourceLayer)缺失 */ int saveIdempotent(AuditEventDTO dto); }