feat(databus): 完成阶段四-DataBus Server完整功能

- 补充缺失的 API 类(DatabusMessage、DatabusBatchMessage、DatabusEventType)
- 新增变更消息消费者(3个:部门、用户、岗位)
- 新增数据提供者(3个:部门、用户、岗位)
- 确认分发器服务(核心定向推送逻辑)
- 确认全量同步与消息推送组件
- 确认管理后台 API(5个 Controller)
- 确认 Service ��(4个核心服务)
- 确认 DAL 层(7个 DO + Mapper)
- 添加 databus-server starter 依赖到 pom.xml
- 编译验证通过

Ref: docs/databus/implementation-checklist.md 任务 39-70
This commit is contained in:
hewencai
2025-12-01 23:44:32 +08:00
parent acdc73999a
commit bd90ec9d70
109 changed files with 7673 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
package com.zt.plat.module.databus.api.message;
import com.zt.plat.module.databus.enums.DatabusEventType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* Databus 增量同步消息
* <p>
* 业务推送、服务端消费、服务端转发、客户端消费统一使用此消息体
*
* @author ZT
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DatabusMessage<T> implements Serializable {
/**
* 消息ID用于幂等
*/
private String messageId;
/**
* 事件类型
*/
private DatabusEventType eventType;
/**
* 业务数据ID
*/
private Long dataId;
/**
* 业务数据(强类型)
*/
private T data;
/**
* 消息产生时间
*/
private LocalDateTime timestamp;
/**
* 来源系统
*/
private String source;
/**
* 租户ID
*/
private Long tenantId;
/**
* 创建简单消息
*/
public static <T> DatabusMessage<T> of(DatabusEventType eventType, Long dataId, T data) {
DatabusMessage<T> msg = new DatabusMessage<>();
msg.setMessageId(java.util.UUID.randomUUID().toString());
msg.setEventType(eventType);
msg.setDataId(dataId);
msg.setData(data);
msg.setTimestamp(LocalDateTime.now());
return msg;
}
}