跳转至

全量覆盖

发起全量覆盖

功能说明

对有度服务器部门及用户进行全量覆盖。该接口立即返回,通过回调或查询接口得到同步结果。 覆盖完成后组织架构的部门及成员信息与请求的数据保持一致。 同级部门的sortId不能相等。

方法原型

public String orgReplaceAll(List<Dept> depts, List<UserSyncInfo> users) throws ParamParserException, AESCryptoException, HttpRequestException;

参数说明

参数名称 类型 描述
depts List 部门List
users List 用户List

Dept实体,UserSyncInfo实体

返回结果说明

成功:返回jobId,任务Id。通过此id查询覆盖结果

失败:发生错误(如请求失败),抛出异常。

请求示例

Dept dept1 = new Dept();
dept1.setId(1);
dept1.setName("部门1");
dept1.setParentId(0);

Dept dept2 = new Dept();
dept2.setId(2);
dept2.setName("部门2");
dept2.setParentId(0);

List<Dept> depts = new ArrayList<>();
depts.add(dept1);
depts.add(dept2);

int[] depts1 = {1};
int[] depts2 = {2};

UserSyncInfo user1 = new UserSyncInfo();
user1.setUserId("test1");
user1.setName("测试1");
user1.setGender(Const.Gender_Male);
user1.setDept(depts1);

UserSyncInfo user2 = new UserSyncInfo();
user2.setUserId("test2");
user2.setName("测试2");
user2.setGender(Const.Gender_Female);
user2.setDept(depts2);

List<UserSyncInfo> users = new ArrayList<>();
users.add(user1);
users.add(user2);
String jobId = orgClient.orgReplaceAll(depts, users);
System.out.println("send org replace all ok, get jobId:" + jobId);

获取全量覆盖结果

功能说明

获取覆盖结果

方法原型

public JobResult getJobResult(String jobId) throws ParamParserException, HttpRequestException, AESCryptoException;

参数说明

参数名称 类型 描述
jobId String 任务Id

返回结果说明

成功:返回JobResult实体

失败:发生错误(如请求失败),抛出异常。

请求示例

String jobId = "97eb60788ad0b4dfcf79fd3a12d4600f";
JobResult result = orgClient.getJobResult(jobId);
System.out.print("get org replace all result:");
int resultCode = result.getResult();
if (resultCode == Const.Job_Running) {
    System.out.println("任务正在进行......");
} else if (resultCode == Const.Job_Done) {
    System.out.println("任务已成功完成");
} else if (resultCode == Const.Job_Exist) {
    System.out.println("有相同的任务正在执行");
} else if (resultCode == Const.Job_Failed) {
    System.out.println("任务执行失败:" + result.getDesc());
}