接口:同步源数据的服务接口
所有接口方法的 callback 参数:在回调 callback 时,参数 Map 中务必包含元素 changeType,取值范围为 create、update、delete。
| Type | Name and description |
|---|---|
void |
getOrganizationChangeLog(Source source, Date start, Date end, Closure callback)获得机构的 Changelog |
void |
getPositionChangeLog(Source source, Date start, Date end, Closure callback)获得职级/头衔/岗位的 Changelog(未实现) |
void |
getUserChangeLog(Source source, Date start, Date end, Closure callback)获得用户的Changelog |
void |
initOrganization(Source source, String syncId, Closure callback)初始化一个机构 |
void |
initOrganizations(Source source, Closure callback)初始化所有组织机构,将每个机构的Map作为参数传给闭包。 |
void |
initPosition(Source source, String syncId, Closure callback)初始化一个岗位 |
void |
initPositions(Source source, Closure callback)初始化职级/头衔/岗位 |
void |
initUser(Source source, String syncId, Boolean isManual, Closure callback)初始化一个用户 |
void |
initUsers(Source source, Closure callback)初始化所有用户,将每个机构的Map作为参数传给闭包。 |
获得机构的 Changelog
start - 开始时间end - 结束时间获得职级/头衔/岗位的 Changelog(未实现)
start - 开始时间end - 结束时间获得用户的Changelog
start - 开始时间end - 结束时间初始化一个机构
初始化所有组织机构,将每个机构的Map作为参数传给闭包。
闭包还可以接收第二个参数,需要额外保存到数据库的实体类(继承自抽象类sync.Entity),同步管理器会自动进行实例化。
注意 Map 中必须包含固定的属性 id、name,以及初始化的顺序(先初始化上级机构...); 字符串格式的数字、日期、布尔等数据都需要转换成相应的类型。
callback - 生成机构 Map 列表后,循环该列表,调用本回调闭包以执行初始化初始化一个岗位
初始化职级/头衔/岗位
初始化一个用户
manual - 如果为真,则表示为手动触发的同步操作。实现中可以用它来判断是否要自动过滤。初始化所有用户,将每个机构的Map作为参数传给闭包。
闭包还可以接收第二个参数,需要额外保存到数据库的实体类(继承自抽象类 sync.Entity),同步管理器会自动进行实例化。
Map中必须包含固定的属性id(可以用源数据的ID、或者工号之类的)、name(名称),性别需转换成 M/F; 字符串格式的数字、日期、布尔等数据都需要转换成相应的类型; 如果支持多身份,则多个身份应该转换成名为 identities 的数组,每个数组元素为一个 map,并至少有一个是主职(能通过布尔类型的属性 main 区分)。