电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

如何通过插件开发的方式在业务关联中实现自定义的“字段映射”?

来源:金蝶云社区作者:金蝶2024-09-233

如何通过插件开发的方式在业务关联中实现自定义的“字段映射”?

问题描述:

现在区块链存证服务是通过【业务关联】模块中的“字段映射”来设置业务数据到链上存证数据之间的对应转换关系。即在启动上链任务时,通过将满足上链条件的业务数据,按照字段映射的设置转换成上链的“存证数据”。当前区块链存证服务中的“字段映射”标准实现只能从业务关联中的“业务对象”中选择业务字段,可以使用有限的“聚合运算”等方法对业务数据上链进行“预处理”,最终形成满足链上数据格式的存证数据。而在某些上链场景中,可能有更加复杂的“字段映射”设置需求,就可以通过插件开发的方式来实现了。

解决方案:

1、进入“区块链存证服务”的业务关联,在“字段映射”切换页签为“自定义”。

 

2、点击并打开“微服务参数”设置弹窗。

其中:

  • “业务云”选择插件所在的云,当为空时默认调用的是平台微服务;

  • “业务应用”选择插件所在的应用;

  • “服务名称”为实现了 kd.bsc.bea.mservice.api.BizModelToDataTypeService 接口的微服务名称;

  • “方法名”固定为 transform,无需填写。

 

3、点击并确认微服务参数后,点击“确定”,并保存业务关联。则采用此“业务关联”的上链任务在启动执行时,将不再调用区块链存证服务的标准“字段映射”,而是通过微服务调用的方式直接调用用户自定义实现的该微服务方法。

 

需要注意的是,如果使用了自定义插件方式来实现“字段映射”,则该业务关联中的标准字段映射设置将不会生效(即使已经设置了)

 

关于微服务:金蝶云·苍穹平台中是以应用为最小单位来提供服务的,因此根据云(cloudid)、应用(appid)即可唯一确定一套服务,所以在业务上可以某服务注册到一个应用下的服务工厂类ServiceFactory中,即可被其他应用所调用。为了实现“字段映射”的自定义插件,必须实现 kd.bsc.bea.mservice.api. BizModelToDataTypeService 接口,即:

public interface BizModelToDataTypeService {
    Map<String, Object> transform(Long mappingPkId, DynamicObject bizModelData);
}


可以看到,transform 方法主要需要实现从“待上链”的业务数据到最终存证数据的格式转换。即通过此接口给定的“输入参数”以及其他自定义实现的方法,生成最终“待存证”的数据。

方法的入参

如何通过插件开发的方式在业务关联中实现自定义的“字段映射”?

问题描述:现在区块链存证服务是通过【业务关联】模块中的“字段映射”来设置业务数据到链上存证数据之间的对应转换关系。即在启动上链任务...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信