全量覆盖
发起全量覆盖
功能说明
对有度服务器部门及用户进行全量覆盖。该接口立即返回,通过回调或查询接口得到同步结果。 覆盖完成后组织架构的部门及成员信息与请求的数据保持一致。 同级部门的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());
}