公开/公告号CN112905183A
专利类型发明专利
公开/公告日2021-06-04
原文格式PDF
申请/专利权人 广州凡科互联网科技股份有限公司;
申请/专利号CN201911229759.6
发明设计人 梁智豪;
申请日2019-12-04
分类号G06F8/41(20180101);
代理机构11589 北京劲创知识产权代理事务所(普通合伙);
代理人徐家升
地址 510250 广东省广州市海珠区工业大道北路67号五号楼首层
入库时间 2023-06-19 11:16:08
技术领域
本发明涉及web和java技术领域,尤其涉及一种流程表单外部数据转换映射方法。
背景技术
微服务的出现,系统能够提供哪些的服务,服务自身的独立性和特性、安全性等,都是系统服务是否完善的重要标准,也反映出系统与系统的交互的重要性,是一个重要的课题,所以系统之间交互的管理,就成为第一步也是最核心的技术。
流程表单的自定义技术如果只能自身系统使用,局限性高,所以推广给外部系统调用,外部系统调用涉及到安全性问题和数据不对称问题等,所以现提出了一种流程表单外部数据转换映射方法。
发明内容
基于背景技术存在的技术问题,本发明提出了一种流程表单外部数据转换映射方法。
本发明提出的一种流程表单外部数据转换映射方法,包括以下步骤:
S1:对映射进行基本配置,包括映射模板、映射字段表、映射规则和字典表的基础配置;
S2:映射表模板绑定流程ID和表单ID;
S3:定义有效的接收方法;
S4:校验访问源是否合法,校验参数是否符合规则和规范;
S5:根据映射模版表和映射字段表,映射出生成流程实例所需的参数格式;
S6:调用流程引擎服务和表单引擎服务,生成流程实例;
S7:根据工单的种类查询相应的工单列表和工单明细,进行相互的数据转换;
S8:数据合并后响应给访问服务系统。
优选地,所述数据传输载体为MAP,并且所述数据的数据块变化的部分均持久化至数据库。
优选地,所述映射采用原生的java、SpringMVC,并基于java基础,引用到反射、泛型和继承。
优选地,所述查询相应的工单列表和查询工单明细,是根据映射模版表和映射字段表的内部字段名称、内部控件类型、外部字段名称、外部字段类型四个要素,进行相互转换来查询的。
优选地,所述转换数据的途中的来源包括流程实例的数据、表单实例的明细和额外服务类的特定方法。
优选地,所述数据格式为json格式。
优选地,所述映射模板和映射字段均配置在数据库端。
本发明中的有益效果为:
1.提高了外部系统创建流程表单的灵活性,简化了开发人员的实现时间,优化了代码层过多的业务代码,避免了冗余代码,统一管理减少维护成本。
2.极大的规范了外部系统和内部系统流程表单交互方式,同时也提高了安全性和数据有效性,提高了系统交互的灵活性。
3.在外部数据不稳定的情况下,用配置的方式,令交互更加灵活,在不影响服务稳定性的前提上,易于修改。
附图说明
图1为本发明提出的一种流程表单外部数据转换映射方法的原理示意图;
图2为本发明提出的一种流程表单外部数据转换映射方法的运行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-2,一种流程表单外部数据转换映射方法,包括以下步骤:
根据工单的名称,获取自定义表单id和自定义流程id;基础设置输入和输出映射规则,绑定自定义表单和自定义流程;设置字典关系表,根据key和value作为转换依据;根据自定义表单数据,调用自动创建映射模板和映射字段表方法;根据工单的类型和表单id、流程id三个参数,分别自动创建三个映射模板,分别为查询列表、查询明细、创建工单;
调用自定义表单模板明细接口,获取自定义表单模板的json格式数据,解析json数据后,按照生成的模板,绑定映射模板表和映射字段表的关系,自动生成映射字段表的内部控件对应的控件id和内部控件类型;
根据映射模板表和映射字段表的绑定关系,自动生成映射字段表余下的字段信息,包括内部字段控件id、内部字段类型、是否必填和备注等基础属性;内部字段类型为多选和单选的字段,绑定字典关系表,能自动转换为code;按照外部接口文档定义的参数名称和参数类型,补充映射字段表的外部字段和外部字段类型;配置ip白名单,添加访问权限控制;
测试外部系统和本系统连接是否正常;外部系统调用本系统接口,触发创建操作;判断外部系统传入参数格式是否正确和重点参数是否缺失;进入校验方法,按照自定义的工单类型,获取映射模板,根据映射模板id,获取映射字段明细列表;根据传入的参数(格式化为Map)传入的格式化为Map的参数,Map-key和映射字段表进行配对;配对符合后进行校验Map-value:验证是否符合映射字段表中外部字段的配置类型是否匹配,验证是否符合映射字段表中内部控件字段的控件类型是否匹配反射的格式,验证映射字段表中,是否必填字段,执行非空验证;验证通过后,调用创建工单接口;调用映射表模板服务类,根据工单类型获取对应的映射模板表数据,联动获取映射字段表对象数组,再根据映射模板表绑定的自定义表单的id,获取自定义表单的控件对象数组;
调用映射转换方法,将外部对象转换内部对象,循环自定义表单的控件对象数组,进行数据分类,判断是否为子表单数据,分为子表单数据和普通控件数据;先处理普通控件数据,调用控件处理方法,根据Map-value和映射字段表的内部控件类型,进行相互转化,其中每个控件都有相应的转化方法,是根据自定义表单生成的规则定义的,循环自定义表单控件数组,反射控件对象的控件类型,匹配出相对应的控件处理方法,执行控件的格式化操作;
处理子表单数据,调用子表单特殊控件处理方法,根据Map-value和映射字段表的内部控件类型,进行相互转化,循环自定义表单控件数组,反射控件对象的控件类型,匹配出相对应的控件处理方法,执行控件的格式化操作;普通控件处理后结果和子表单控件处理结果合并,生成创建自定义表单的Map;合并的Map后调用创建自定义表单接口,生成自定义表单实例;根据自定义表单实例,更新表单数据表的来源字段;
创建工单后,根据不同的工单类型,查询不同的工单列表和工单明细,外部系统调用接口后,判断参数是否正确,判断工单类型是否存在于映射模板中,根据工单类型和映射模板的表单模板id,调用流程实例服务类,获取全部此表单模板下全部流程实例对象;循环流程实例对象数组,根据映射字段表的规则作为匹配依据,其中映射规则:Map-key映射字段表中外部名称Map-value是来源,只需要key是相同的,就会自动赋值;
根据流程实例上的数据作为映射数据,转换数据的格式为Map,作为统一类型,根据表单数据实例的数据作为映射数据,转换数据的格式为Map,作为统一类型,根据不同的服务类,反射执行规定名称的方法,获取数据作为数据源作为映射数据,转换数据的格式为Map,作为统一类型;以上三种数据映射后,合拼成Map,添加工单回复内容;Map转换成json对象,响应请求。
本发明中,SpringMVC注解获取工单的类型,在接口中统一添加相应的日志记录和权限控制等,映射模板和映射字段功能均配置在数据库端,可以对映射的基础信息进行修改,流程表单外部映射转换,作为自定义表单和自定义流程的数据传递桥梁,校验数据,规范数据格式,作为创建流程实例的拦截器和过滤器,配合自定义表单的创建需求进行数据转换,按照各控件的数据格式作为转换规则,外部系统调用本系统的自定义工单功能,必须经过转换映射机制,根据业务类型,可以扩展为相同逻辑的业务服务统一进出口的管理功能,提供给外部服务的代理商,外部数据转换映射方法,对外部数据校验,对外部数据规则统一化管理,统一化转换。流程表单外部映射转换,作为自定义表单和自定义流程的数据传递桥梁,也是外部创建、查询自定义工单的唯一入口,添加日志管理和添加权限管理和校验管理等,采用原生的java、SpringMVC的技术,基于java基础,引用到反射、泛型、继承等技术,把能共用的方法进行构建,把易于改变的节点和内容作为映射配置的基础字段,配置放在mysql数据库里面,基本上用Map的方式作为传递数据载体,Map的key-value符合要求,各接口的最终返回尽量用map传递,使用反射和泛型,把共性多的逻辑抽取成方法,并且将数据块变化的部分全部持久化到数据库,不固化在代码层,不存在前段代码,未来扩展使用页面的方式进行配置。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
机译: 用于创建可配置表单,配置表单以及表单流程和表单关联的方法和系统
机译: 通过使用表单变量名中的XML路径信息来促进将HTML表单数据转换为XML对象的方法
机译: 一种记录介质,其配备有表单识别装置,表单识别系统,表单识别系统程序,表单识别系统控制方法和表单识别系统程序。