本周新增四个方案:
- 活动日程信息更新至企业微信日程
- 仅在工作日执行定时任务
- 订单补录数据按日汇总增量更新方案
- 解析并关联多个JSON数组字段
1、活动日程信息更新至企业微信日程
1.1 应用场景
用户有些日程信息是通过 FR 填报到数据库或者保存到简道云中,原始信息可能会被其他部门进行增删改操作,因此用户希望将日程数据在企业微信中记录,方便在活动开始前对相关的同学做到自动提醒。
1.2 实现思路
准备工作:
1)将简道云或线下收集的日程信息,保存到数据库中,为后续更新到企业微信日程做准备。
2)应用在调用日程接口前,需要先获得日程的使用权限,本文示例是通过「自建应用」调用日程接口。
3)通过 创建日历接口 创建一个全新的日历,且记下该日程的 cal_id 参数,在调用日程相关接口时会用到该参数。
FineDataLink 定时任务实现思路:
1)调用 日程 相关接口时,需要用到 access_token 参数,因此通过 调用 access_token 接口,获取 access_token 值。
2)将保存到数据库中的日程信息整合到一张表中,作为来源表;通过 获取日历下的日程列表 接口,获取日程详细信息,作为目标表;比对来源表和目标表的数据:
3)拼接 创建日程 接口的 body 信息,输出为参数,调用 创建日程 接口,新增日程信息。
4)通过 deleted 表中的日程名称字段,从 获取日历下的日程列表 接口信息中过滤出要删除的日程信息,将 schedule_id 字段输出为参数,调用 删除日程参与者 接口,删除日程。
5)将 changed 表中的日程名称字段输出为参数,从 获取日历下的日程列表 接口信息中过滤出要修改的日程信息,再与 changed 表数据进行关联,生成 更新日程 接口的 Body 数据,并作为参数输出;调用 更新日程 接口,修改日程。
1.3 实现过程
请参见文档:活动日程信息更新至企业微信日程
2、仅在工作日执行定时任务
2.1 应用场景
用户希望定时任务仅在工作日运行。
2.2 实现思路
调用判断当天是否为工作日的接口,若当天是工作日,进行常规后续节点运行;若当天不是工作日,可运行「虚拟节点」。如下图所示:
2.3 实现过程
请参见文档:仅在工作日执行定时任务
3、订单补录数据按日汇总增量更新方案
3.1 应用场景
用户业务系统订单表包含:订单ID、订单金额、订单交易日期、订单创建日期。正常情况下「订单交易日期」和「订单创建日期」在同一天,但可能会存在业务人员补录订单的情况,比如原本 5.1号交易的数据,在 5.10 号才补录进系统,此时订单创建日期为 5.10 号,订单交易日期为 5.1 号。
在搭建数仓的时候,ODS 层数据按照订单创建日期做增量更新,可正常进行更新;
DM 层数据按照「交易日期」按日汇总每日的订单金额,并设置每次调度增量更新订单交易日期前五天的数据,但是由于补录数据不确定补录时间,例如 5.16 日更新前 5 天的数据,但5.16 日补录了「订单交易日期」为 5.1、5.2 日的数据,此时先删后更新的增量更新方案无法对补录的数据进行增量同步。
注:标黄为 5.16 补录的历史交易数据。
3.2 解决思路
3.3 实现过程
请参见文档:订单补录数据按日汇总增量更新方案
4、解析并关联多个JSON数组字段
4.1 应用场景
用户的 JSON 数据中包含多个数组字段,如下图所示:
希望解析数组字段,且解析后的字段一一对应。如下图所示:
4.2 实现思路
「JSON 解析」算子中,选择要解析的 JSON 字段后,修改 JSON 路径。
4.3 实现过程
请参见文档:解析并关联多个JSON数组字段
|