update:调整数据同步用户-部门,用户-岗位同步顺序
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
package com.zt.plat.framework.databus.server.provider;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.framework.databus.server.core.provider.DataProvider;
|
||||
import com.zt.plat.framework.databus.server.core.provider.DataProviderRegistry;
|
||||
import com.zt.plat.module.databus.api.dto.CursorPageReqDTO;
|
||||
import com.zt.plat.module.databus.api.dto.CursorPageResult;
|
||||
import com.zt.plat.module.databus.api.data.DatabusUserDeptData;
|
||||
import com.zt.plat.module.databus.api.provider.DatabusUserDeptProviderApi;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户-部门关系数据提供者
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class UserDeptDataFeignProvider implements DataProvider<DatabusUserDeptData> {
|
||||
|
||||
public static final String PROVIDER_TYPE = "USER_DEPT";
|
||||
|
||||
@Resource
|
||||
private DatabusUserDeptProviderApi userDeptProviderApi;
|
||||
|
||||
@Resource
|
||||
private DataProviderRegistry dataProviderRegistry;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
dataProviderRegistry.register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProviderType() {
|
||||
return PROVIDER_TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursorPageData<DatabusUserDeptData> getPageByCursor(LocalDateTime cursorTime, Long cursorId,
|
||||
int batchSize, Long tenantId) {
|
||||
CursorPageReqDTO reqDTO = CursorPageReqDTO.builder()
|
||||
.cursorTime(cursorTime)
|
||||
.cursorId(cursorId)
|
||||
.batchSize(batchSize)
|
||||
.tenantId(tenantId)
|
||||
.build();
|
||||
|
||||
CommonResult<CursorPageResult<DatabusUserDeptData>> result = userDeptProviderApi.getPageByCursor(reqDTO);
|
||||
if (!result.isSuccess()) {
|
||||
throw new RuntimeException("获取用户-部门关系数据失败: " + result.getMsg());
|
||||
}
|
||||
|
||||
CursorPageResult<DatabusUserDeptData> pageResult = result.getData();
|
||||
return CursorPageData.of(
|
||||
pageResult.getList(),
|
||||
pageResult.getNextCursorTime(),
|
||||
pageResult.getNextCursorId(),
|
||||
pageResult.getCount(),
|
||||
Boolean.TRUE.equals(pageResult.getHasMore()),
|
||||
(pageResult.getTotal() != null ? pageResult.getTotal() : 0L)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long count(Long tenantId) {
|
||||
CommonResult<Long> result = userDeptProviderApi.count(tenantId);
|
||||
if (!result.isSuccess()) {
|
||||
throw new RuntimeException("获取用户-部门关系总数失败: " + result.getMsg());
|
||||
}
|
||||
return result.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long extractUid(DatabusUserDeptData data) {
|
||||
return data.getId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.zt.plat.framework.databus.server.provider;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.framework.databus.server.core.provider.DataProvider;
|
||||
import com.zt.plat.framework.databus.server.core.provider.DataProviderRegistry;
|
||||
import com.zt.plat.module.databus.api.dto.CursorPageReqDTO;
|
||||
import com.zt.plat.module.databus.api.dto.CursorPageResult;
|
||||
import com.zt.plat.module.databus.api.data.DatabusUserPostData;
|
||||
import com.zt.plat.module.databus.api.provider.DatabusUserPostProviderApi;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户-岗位关系数据提供者
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class UserPostDataFeignProvider implements DataProvider<DatabusUserPostData> {
|
||||
|
||||
public static final String PROVIDER_TYPE = "USER_POST";
|
||||
|
||||
@Resource
|
||||
private DatabusUserPostProviderApi userPostProviderApi;
|
||||
|
||||
@Resource
|
||||
private DataProviderRegistry dataProviderRegistry;
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
dataProviderRegistry.register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProviderType() {
|
||||
return PROVIDER_TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursorPageData<DatabusUserPostData> getPageByCursor(LocalDateTime cursorTime, Long cursorId,
|
||||
int batchSize, Long tenantId) {
|
||||
CursorPageReqDTO reqDTO = CursorPageReqDTO.builder()
|
||||
.cursorTime(cursorTime)
|
||||
.cursorId(cursorId)
|
||||
.batchSize(batchSize)
|
||||
.tenantId(tenantId)
|
||||
.build();
|
||||
|
||||
CommonResult<CursorPageResult<DatabusUserPostData>> result = userPostProviderApi.getPageByCursor(reqDTO);
|
||||
if (!result.isSuccess()) {
|
||||
throw new RuntimeException("获取用户-岗位关系数据失败: " + result.getMsg());
|
||||
}
|
||||
|
||||
CursorPageResult<DatabusUserPostData> pageResult = result.getData();
|
||||
return CursorPageData.of(
|
||||
pageResult.getList(),
|
||||
pageResult.getNextCursorTime(),
|
||||
pageResult.getNextCursorId(),
|
||||
pageResult.getCount(),
|
||||
Boolean.TRUE.equals(pageResult.getHasMore()),
|
||||
(pageResult.getTotal() != null ? pageResult.getTotal() : 0L)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long count(Long tenantId) {
|
||||
CommonResult<Long> result = userPostProviderApi.count(tenantId);
|
||||
if (!result.isSuccess()) {
|
||||
throw new RuntimeException("获取用户-岗位关系总数失败: " + result.getMsg());
|
||||
}
|
||||
return result.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long extractUid(DatabusUserPostData data) {
|
||||
return data.getId();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user