update:数据同步分发机构岗位绑定关系
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package com.zt.plat.module.databus.api.data;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户与组织机构关联关系数据对象
|
||||
* <p>
|
||||
* 对应表:system_user_dept
|
||||
*
|
||||
* @author ZT
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DatabusUserDeptData implements Serializable {
|
||||
|
||||
/**
|
||||
* 关联关系ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 部门ID
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 租户ID
|
||||
*/
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.zt.plat.module.databus.api.data;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户与岗位关联关系数据对象
|
||||
* <p>
|
||||
* 对应表:system_user_post
|
||||
*
|
||||
* @author ZT
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DatabusUserPostData implements Serializable {
|
||||
|
||||
/**
|
||||
* 关联关系ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 岗位ID
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
}
|
||||
@@ -41,49 +41,45 @@ public enum DatabusEventType {
|
||||
SYSTEM_USER_FULL("system", "user", "full", "用户全量同步"),
|
||||
|
||||
/**
|
||||
* 部门-创建
|
||||
* 组织机构-创建
|
||||
*/
|
||||
SYSTEM_ORG_CREATE("system", "org", "create", "组织机构创建"),
|
||||
|
||||
/**
|
||||
* 组织机构-更新
|
||||
*/
|
||||
SYSTEM_ORG_UPDATE("system", "org", "update", "组织机构更新"),
|
||||
|
||||
/**
|
||||
* 组织机构-删除
|
||||
*/
|
||||
SYSTEM_ORG_DELETE("system", "org", "delete", "组织机构删除"),
|
||||
|
||||
/**
|
||||
* 组织机构-全量同步
|
||||
*/
|
||||
SYSTEM_ORG_FULL("system", "org", "full", "组织机构全量同步"),
|
||||
|
||||
/**
|
||||
* 部门-创建(新命名,推荐使用)
|
||||
*/
|
||||
SYSTEM_DEPT_CREATE("system", "dept", "create", "部门创建"),
|
||||
|
||||
/**
|
||||
* 部门-更新
|
||||
* 部门-更新(新命名,推荐使用)
|
||||
*/
|
||||
SYSTEM_DEPT_UPDATE("system", "dept", "update", "部门更新"),
|
||||
|
||||
/**
|
||||
* 部门-删除
|
||||
* 部门-删除(新命名,推荐使用)
|
||||
*/
|
||||
SYSTEM_DEPT_DELETE("system", "dept", "delete", "部门删除"),
|
||||
|
||||
/**
|
||||
* 部门-全量同步
|
||||
* 部门-全量同步(新命名,推荐使用)
|
||||
*/
|
||||
SYSTEM_DEPT_FULL("system", "dept", "full", "部门全量同步"),
|
||||
|
||||
/**
|
||||
* 组织机构-创建(兼容老代码,保留但不推荐使用)
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_ORG_CREATE("system", "org", "create", "组织机构创建"),
|
||||
|
||||
/**
|
||||
* 组织机构-更新(兼容老代码,保留但不推荐使用)
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_ORG_UPDATE("system", "org", "update", "组织机构更新"),
|
||||
|
||||
/**
|
||||
* 组织机构-删除(兼容老代码,保留但不推荐使用)
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_ORG_DELETE("system", "org", "delete", "组织机构删除"),
|
||||
|
||||
/**
|
||||
* 组织机构-全量同步(兼容老代码,保留但不推荐使用)
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_ORG_FULL("system", "org", "full", "组织机构全量同步"),
|
||||
|
||||
/**
|
||||
* 岗位-创建
|
||||
*/
|
||||
@@ -104,6 +100,84 @@ public enum DatabusEventType {
|
||||
*/
|
||||
SYSTEM_POST_FULL("system", "post", "full", "岗位全量同步"),
|
||||
|
||||
/**
|
||||
* 用户-部门关系-创建
|
||||
*/
|
||||
SYSTEM_USER_DEPT_CREATE("system", "user-dept", "create", "用户-部门关系创建"),
|
||||
|
||||
/**
|
||||
* 用户-部门关系-更新
|
||||
*/
|
||||
SYSTEM_USER_DEPT_UPDATE("system", "user-dept", "update", "用户-部门关系更新"),
|
||||
|
||||
/**
|
||||
* 用户-部门关系-删除
|
||||
*/
|
||||
SYSTEM_USER_DEPT_DELETE("system", "user-dept", "delete", "用户-部门关系删除"),
|
||||
|
||||
/**
|
||||
* 用户-部门关系-全量同步
|
||||
*/
|
||||
SYSTEM_USER_DEPT_FULL("system", "user-dept", "full", "用户-部门关系全量同步"),
|
||||
|
||||
/**
|
||||
* 用户-岗位关系-创建
|
||||
*/
|
||||
SYSTEM_USER_POST_CREATE("system", "user-post", "create", "用户-岗位关系创建"),
|
||||
|
||||
/**
|
||||
* 用户-岗位关系-更新
|
||||
*/
|
||||
SYSTEM_USER_POST_UPDATE("system", "user-post", "update", "用户-岗位关系更新"),
|
||||
|
||||
/**
|
||||
* 用户-岗位关系-删除
|
||||
*/
|
||||
SYSTEM_USER_POST_DELETE("system", "user-post", "delete", "用户-岗位关系删除"),
|
||||
|
||||
/**
|
||||
* 用户-岗位关系-全量同步
|
||||
*/
|
||||
SYSTEM_USER_POST_FULL("system", "user-post", "full", "用户-岗位关系全量同步"),
|
||||
|
||||
/**
|
||||
* @deprecated 已拆分为 SYSTEM_USER_DEPT_* 和 SYSTEM_USER_POST_*,保留用于向后兼容
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_USER_RELATION_CREATE("system", "user-relation", "create", "用户关联创建"),
|
||||
|
||||
/**
|
||||
* @deprecated 已拆分为 SYSTEM_USER_DEPT_* 和 SYSTEM_USER_POST_*,保留用于向后兼容
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_USER_RELATION_UPDATE("system", "user-relation", "update", "用户关联更新"),
|
||||
|
||||
/**
|
||||
* @deprecated 已拆分为 SYSTEM_USER_DEPT_* 和 SYSTEM_USER_POST_*,保留用于向后兼容
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_USER_RELATION_DELETE("system", "user-relation", "delete", "用户关联删除"),
|
||||
|
||||
/**
|
||||
* @deprecated 已拆分为 SYSTEM_USER_DEPT_* 和 SYSTEM_USER_POST_*,保留用于向后兼容
|
||||
*/
|
||||
@Deprecated
|
||||
SYSTEM_USER_RELATION_FULL("system", "user-relation", "full", "用户关联全量同步"),
|
||||
|
||||
/**
|
||||
* 基础数据-全量同步(组合编排事件)
|
||||
* <p>
|
||||
* 按依赖顺序触发以下全量同步:
|
||||
* 1. 组织机构(SYSTEM_DEPT_FULL)
|
||||
* 2. 岗位(SYSTEM_POST_FULL)
|
||||
* 3. 用户(SYSTEM_USER_FULL)
|
||||
* 4. 用户-部门关系(SYSTEM_USER_DEPT_FULL)
|
||||
* 5. 用户-岗位关系(SYSTEM_USER_POST_FULL)
|
||||
* <p>
|
||||
* 注意:本事件只负责触发,实际数据同步由5个独立的全量同步任务完成
|
||||
*/
|
||||
SYSTEM_BASE_DATA_FULL("system", "base-data", "full", "基础数据全量同步"),
|
||||
|
||||
/**
|
||||
* 角色-创建
|
||||
*/
|
||||
@@ -167,7 +241,7 @@ public enum DatabusEventType {
|
||||
BASE_MATERIAL_FULL("base", "material", "full", "物料全量同步"),
|
||||
|
||||
/**
|
||||
* 供应<EFBFBD><EFBFBD>-创建
|
||||
* 供应商-创建
|
||||
*/
|
||||
BASE_SUPPLIER_CREATE("base", "supplier", "create", "供应商创建"),
|
||||
|
||||
@@ -238,13 +312,10 @@ public enum DatabusEventType {
|
||||
|
||||
/**
|
||||
* 获取完整Topic名称(服务端转发用)
|
||||
* 格式: {topicBase}-{clientCode}(简化版,所有事件共用一个 Topic)
|
||||
* 示例: databus-sync-branch-001
|
||||
*
|
||||
* 注意:不再为每个事件创建独立 Topic,而是通过消息体中的 eventType 字段路由
|
||||
* 格式: {topicBase}-{module}-{entity}-{action}-{clientCode}
|
||||
*/
|
||||
public String getTopic(String topicBase, String clientCode) {
|
||||
return String.format("%s-%s", topicBase, clientCode);
|
||||
return String.format("%s-%s-%s-%s-%s", topicBase, module, entity, action, clientCode);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -273,31 +344,6 @@ public enum DatabusEventType {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据事件类型字符串获取枚举(支持大写下划线格式)
|
||||
* 例如:SYSTEM_POST_FULL → DatabusEventType.SYSTEM_POST_FULL
|
||||
*
|
||||
* @param eventType 事件类型字符串(格式: MODULE_ENTITY_ACTION)
|
||||
* @return 枚举值,未找到返回null
|
||||
*/
|
||||
public static DatabusEventType getByEventType(String eventType) {
|
||||
if (eventType == null) {
|
||||
return null;
|
||||
}
|
||||
// 先尝试直接匹配枚举名称
|
||||
try {
|
||||
return DatabusEventType.valueOf(eventType.toUpperCase());
|
||||
} catch (IllegalArgumentException e) {
|
||||
// 如果失败,尝试转换格式后匹配(如 system-post-full → SYSTEM_POST_FULL)
|
||||
String normalized = eventType.toUpperCase().replace("-", "_");
|
||||
try {
|
||||
return DatabusEventType.valueOf(normalized);
|
||||
} catch (IllegalArgumentException ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据模块、实体、操作获取枚举
|
||||
*
|
||||
@@ -317,6 +363,25 @@ public enum DatabusEventType {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据事件类型名称获取枚举
|
||||
* <p>
|
||||
* 支持大写下划线格式,如: SYSTEM_POST_FULL
|
||||
*
|
||||
* @param eventType 事件类型名称(枚举常量名)
|
||||
* @return 枚举值,未找到返回null
|
||||
*/
|
||||
public static DatabusEventType getByEventType(String eventType) {
|
||||
if (eventType == null || eventType.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return DatabusEventType.valueOf(eventType);
|
||||
} catch (IllegalArgumentException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否为全量同步事件
|
||||
*/
|
||||
|
||||
@@ -4,6 +4,8 @@ import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
|
||||
import com.zt.plat.module.databus.api.provider.DatabusDeptProviderApi;
|
||||
import com.zt.plat.module.databus.api.provider.DatabusPostProviderApi;
|
||||
import com.zt.plat.module.databus.api.provider.DatabusUserProviderApi;
|
||||
import com.zt.plat.module.system.api.dept.DeptApi;
|
||||
import com.zt.plat.module.system.api.dept.PostApi;
|
||||
import com.zt.plat.module.system.api.user.AdminUserApi;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -18,7 +20,10 @@ import org.springframework.context.annotation.Configuration;
|
||||
// DataBus 数据提供者 Feign 客户端
|
||||
DatabusDeptProviderApi.class,
|
||||
DatabusUserProviderApi.class,
|
||||
DatabusPostProviderApi.class
|
||||
DatabusPostProviderApi.class,
|
||||
PostApi.class,
|
||||
DeptApi.class,
|
||||
AdminUserApi.class,
|
||||
})
|
||||
public class RpcConfiguration {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user