CN113741902A - 一种基于模版的SaaS代码生成方法及系统 - Google Patents
一种基于模版的SaaS代码生成方法及系统 Download PDFInfo
- Publication number
- CN113741902A CN113741902A CN202111063908.3A CN202111063908A CN113741902A CN 113741902 A CN113741902 A CN 113741902A CN 202111063908 A CN202111063908 A CN 202111063908A CN 113741902 A CN113741902 A CN 113741902A
- Authority
- CN
- China
- Prior art keywords
- code
- project
- template
- obtaining
- saas
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000006870 function Effects 0.000 claims description 32
- 238000012216 screening Methods 0.000 claims description 9
- 230000003252 repetitive effect Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 238000012827 research and development Methods 0.000 description 17
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于模版的SaaS代码生成方法及系统,所述方法包括:根据SaaS系统的第一用户,获得第一新建项目;根据第一调用指令调用第一项目代码模板;基于所述第一新建项目配置所述项目数据库,根据所述项目数据库,获得第一调整代码;根据所述第一新建项目,构建第一变量替换规则,根据所述第一变量替换规则,生成第一替换代码;根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;根据所述第二项目代码模板,获得第一目标代码。解决了现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于模版的SaaS代码生成方法及系统。
背景技术
IT信息化发展多年,尤其是互联网的快速普及,各种各样的线下业务开始了数字化转型。一个大型互联网公司,有几百种业务系统;一个中小型公司,也可以有几十种信息化的系统。然而系统多了,相应的研发成本也会提升。软件开发领域,是知识密集型的产业,开发人员等人力成本较高,但可以通过研发一款软件工具,解决一些有共性的重复性的工作,代码生成器技术应运而生。但在现有的代码生成器中,代码生成效率低、错误多,不支持多用户、多项目的使用,且不能制定代码模板。
本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。
发明内容
本申请实施例通过提供一种基于模版的SaaS代码生成方法及系统,解决了现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。达到了基于SaaS系统,实现了目标代码的自动生成,支持多用户、多项目、Web在线使用,支持在线修改模版等功能,提高了研发人员的工作效率,降低企业信息化系统的研发成本,进行个性化模板定制,具有较强灵活性与扩展性的技术效果。
鉴于上述问题,本申请实施例提供一种基于模版的SaaS代码生成方法及系统。
第一方面,本申请提供了一种基于模版的SaaS代码生成方法,其中,所述方法包括:根据SaaS系统的第一用户,获得第一新建项目;根据第一调用指令调用第一项目代码模板;基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;根据所述项目数据库,获得第一调整代码;根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;根据所述第一变量替换规则,生成第一替换代码;根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;根据所述第二项目代码模板,获得第一目标代码。
另一方面,本申请还提供了一种基于模版的SaaS代码生成系统,其中,所述系统包括:第一获得单元,所述第一获得单元用于根据SaaS系统的第一用户,获得第一新建项目;第一执行单元,所述第一执行单元用于根据第一调用指令调用第一项目代码模板;第二执行单元,所述第二执行单元用于基于所述第一新建项目配置项目数据库,其中,项目数据库包括多个项目数据库;第二获得单元,所述第二获得单元用于根据项目数据库,获得第一调整代码;第一构建单元,所述第一构建单元用于根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;第三执行单元,所述第三执行单元用于根据所述第一变量替换规则,生成第一替换代码;第四执行单元,所述第四执行单元用于根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;第三获得单元,所述第三获得单元用于根据所述第二项目代码模板,获得第一目标代码。
另一方面,本申请实施例还提供了一种基于模版的SaaS代码生成方法及系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述第一方面所述方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供了一种基于模版的SaaS代码生成方法及系统,根据SaaS系统的第一用户,获得第一新建项目;根据第一调用指令调用第一项目代码模板;基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;根据所述项目数据库,获得第一调整代码;根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;根据所述第一变量替换规则,生成第一替换代码;根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;根据所述第二项目代码模板,获得第一目标代码。解决了现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。达到了基于SaaS系统,实现了目标代码的自动生成,支持多用户、多项目、Web在线使用,支持在线修改模版等功能,提高了研发人员的工作效率,降低企业信息化系统的研发成本,进行个性化模板定制,具有较强灵活性与扩展性的技术效果。
上述说明是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例一种基于模版的SaaS代码生成方法的流程示意图;
图2为本申请实施例一种基于模版的SaaS代码生成方法中生成第二项目代码模板的流程示意图;
图3为本申请实施例一种基于模版的SaaS代码生成方法中获得第一新建项目工程的流程示意图;
图4为本申请实施例一种基于模版的SaaS代码生成方法中获得第一调整代码的流程示意图;
图5为本申请实施例一种基于模版的SaaS代码生成方法中生成第一替换代码的流程示意图;
图6为本申请实施例一种基于模版的SaaS代码生成系统的结构示意图;
图7为本申请实施例示例性电子设备的结构示意图。
附图标记说明:第一获得单元11,第一执行单元12,第二执行单元13,第二获得单元14,第一构建单元15,第三执行单元16,第四执行单元17,第三获得单元18,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
本申请实施例通过提供一种基于模版的SaaS代码生成方法及系统,解决了现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。达到了基于SaaS系统,实现了目标代码的自动生成,支持多用户、多项目、Web在线使用,支持在线修改模版等功能,提高了研发人员的工作效率,降低企业信息化系统的研发成本,进行个性化模板定制,具有较强灵活性与扩展性的技术效果。
下面,将参考附图详细的描述本申请的示例实施例,显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
IT信息化发展多年,尤其是互联网的快速普及,各种各样的线下业务开始了数字化转型。一个大型互联网公司,有几百种业务系统;一个中小型公司,也可以有几十种信息化的系统。然而系统多了,相应的研发成本也会提升。软件开发领域,是知识密集型的产业,开发人员等人力成本较高,但可以通过研发一款软件工具,解决一些有共性的重复性的工作,代码生成器技术应运而生。但在现有的代码生成器中,代码生成效率低、错误多,不支持多用户、多项目的使用,且不能制定代码模板。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请提供了一种基于模版的SaaS代码生成方法,所述方法应用于一种基于模版的SaaS代码生成系统,所述系统包括一项目数据库,其中,所述方法包括:根据SaaS系统的第一用户,获得第一新建项目;根据第一调用指令调用第一项目代码模板;基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;根据所述项目数据库,获得第一调整代码;根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;根据所述第一变量替换规则,生成第一替换代码;根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;根据所述第二项目代码模板,获得第一目标代码。
在介绍了本申请基本原理后,下面将结合说明书附图来具体介绍本申请的各种非限制性的实施方式。
实施例一
如图1所示,本申请实施例提供一种基于模版的SaaS代码生成方法,所述方法应用于一种基于模版的SaaS代码生成系统,所述系统包括一项目数据库,其中,所述方法包括:
步骤S100:根据SaaS系统的第一用户,获得第一新建项目;
步骤S200:根据第一调用指令调用第一项目代码模板;
具体而言,所述SaaS系统是指平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。所述新建项目是指新建或注册一个用户,新建一个项目或者工程,进而维护这个项目的模版,可选的,一个工程下可以维护多个项目。其项目形式有多种,比如账单、邮件,合同、offer意向书等。所述第一项目代码模板灵活性较高,可以为静态模版文件、Web系统在线化操作,可视化预览等形式,为代码自动生成奠定基础。
步骤S300:基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;
步骤S400:根据所述项目数据库,获得第一调整代码;
具体而言,所述项目数据库是指对于项目的指定数据库表,项目所有需要用到的数据,项目数据库都可以找到,对其配置数据库,制定数据库表,对于重复性的代码,可以自动生成数据库表对应的增删改查代码,其具有增删改查功能,大大提高了效率。比如常见的开源逆向生成Mybatis Generator,只能提供数据库访问层的增删改查,不支持和Web系统交互层面的增删改查功能。每个系统的后台系统,用户都可以使用增加、修改、删除、查询等功能,但这些基础信息的维护,其逻辑很少,代码几乎相同,开发人员复制粘贴代码,不仅效率低,而且容易改错代码,或者忘记改代码,因此使用第一调整代码,对代码或文件进行增删改查等操作,进而提高目标代码快速生成的效率。
步骤S500:根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;
步骤S600:根据所述第一变量替换规则,生成第一替换代码;
具体而言,所述第一变量替换规则是指根据固定的代码生成逻辑或配置的代码生成逻辑,用来对变量进行替换,支持通过Web形式的API接口,使用配置的模版,手动传变量。举例而言,配置的项目名为“A”,就把代码中的${projectName}占位符全部替换为A;也可以来自一套固定的逻辑:比如参数为“1”,就把代码中的性别字段${sex}替换为男。根据所述第一变量替换规则,生成第一替换代码,在互联网等各种业务系统开发中,避免了重复开发相同或相似的业务需求,提高了研发人员的工作效率,降低企业信息化系统的研发成本。
步骤S700:根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;
步骤S800:根据所述第二项目代码模板,获得第一目标代码。
具体而言,所述第二项目代码模板是按照企业需求对第一项目代码模板进行增加、修改、删除、查询等功能操作以及变量替换后,所使用的新数据的配置,即第二项目代码模板。所述第一目标代码是通过新建项目,根据每一个企业的项目的业务需求,进行模板的的配置,以维护代码模版,根据固定的代码生成逻辑或配置的代码生成逻辑,替换变量,进而生成目标代码,实现了目标代码的自动生成,支持多用户、多项目、Web在线使用,支持在线修改模版等功能,提高了研发人员的工作效率,降低企业信息化系统的研发成本,进行个性化模板定制,具有较强灵活性与扩展性的技术效果。
进一步而言,如图2所示,其中,所述根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板,本申请实施例步骤S700包括:
步骤S710:根据第一公司需求信息,获得第一代码生成标准;
步骤S720:基于所述第一代码生成标准,获得第二调整代码信息;
步骤S730:根据所述第二调整代码信息,生成第一模板约束条件;
步骤S740:基于所述第一模板约束条件对所述第二项目代码模板进行约束。
具体而言,所述第一代码生成标准是符合公司标准的基础代码,公司的每个项目都需要对接公司内部维护的消息队列技术,进而可以维护成一个统一的模板。所述第二调整代码信息是根据公司的需求,对第一模板进行调整,使其符合公司标准。所述第一模板约束条件也是符合公司需求的,基于所述第一模板约束条件对所述第二项目代码模板进行约束,使第二项目代码模板更加符合实际项目的特点,以及每个公司的技术特点,其定制的模版,可以进行任意修改,有很强的灵活性和扩展性。
进一步而言,如图3所示,其中,所述根据SaaS系统的第一用户,获得第一新建项目,本申请实施例步骤S100包括:
步骤S110:基于所述SaaS系统,获得多个接入用户;
步骤S120:根据所述多个接入用户,获得多个账号信息和多个密码信息,其中,所述多个账号信息和所述多个密码信息一一对应;
步骤S130:根据所述多个账号信息和所述多个密码信息对所述第一用户进行权限管理。
具体而言,基于SaaS模式,项目模版灵活性较高,模版的格式没有任何限制,包括普通文本、Html富文本、Json格式等等,可以为静态模版文件、Web系统在线化操作、可视化预览等形式。而在线Web形式的SaaS系统,支持多用户、多项目进行权限管理。获得多个用户的账号和对应密码信息,系统支持多用户统一进行权限管理,也支持一个用户新建多个项目,并对其进行权限管理。
进一步而言,如图4所示,其中,所述根据所述项目数据库,获得第一调整代码,本申请实施例步骤S400还包括:
步骤S410:获得所述项目数据库的第一数据库表和第一字段;
步骤S420:获得第一查询指令;
步骤S430:根据所述第一查询指令对所述第一数据库表和所述第一字段进行重复性查询,获得第一重复性代码;
步骤S440:根据所述第一重复性代码和第一调整功能模块,获得所述第一调整代码。
进一步而言,本申请实施例步骤S440包括:
步骤S440a:所述第一调整功能模块包括多个调整功能,其中,所述多个调整功能包括增加功能、修改功能、删除功能和查询功能。
具体而言,所述数据库表是一系列多维数组的集合,用来代表和储存数据对象之间的关系,一般由纵向的列和横向的行组成,对于特定的数据库表,列的数目一般事先固定,各列之间可以由列名来识别,而行的数目可以随时动态变化,以表格的形式对数据间关系进行整理,方便对其进行查询,节约了时间成本。在数据库表中,我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。所述第一字段是比记录更小的单位,每一行中的所有字段集合组成记录,用来描述数据的某一特征。复制粘贴再修改的方式,需要人工先执行复制和粘贴操作,其效率低下,而且在修改环节容易改错地方,容易漏掉一些点,同时,即使改错或漏掉了代码,也不容易第一时间及时发现。因此需要根据第一查询指令对所述第一数据库表和所述第一字段进行重复性查询,获得第一重复性代码,根据第一重复性代码和调整功能模块,获得所述第一调整代码,以便对其进行增加、修改、删除和查询等功能,进而提高目标代码快速生成的效率。
进一步而言,如图5所示,其中,所述根据所述第一变量替换规则,生成第一替换代码,本申请实施例步骤S600包括:
步骤S610:构建第一可选单元,其中,所述第一可选单元用于对所述第一变量替换规则进行选择;
步骤S620:获得第一配置需求信息;
步骤S630:将所述第一配置需求信息输入所述第一变量替换规则中进行筛选,获得第一筛选规则;
步骤S640:根据所述第一筛选规则,生成所述第一替换代码。
具体而言,所述第一可选单元用来对第一变量替换规则进行选择,变量替换的配置具有可选性,其增删改查的模版,可以进行自定义,使用任意编程语言,比如Java、PHP等,可以使用任何语言的任何技术框架,比如Java中的Spring、Mybatis,以增加其个性化选择,满足用户不同需求。根据用户的第一配置需求,获得其相应的筛选规则,进而对模板中的变量进行替换,从而提高了研发人员的工作效率,降低企业信息化系统的研发成本。
进一步而言,本申请实施例步骤S500包括:
步骤S500a:所述第一变量替换规则用于对变量进行替换,支持通过Web形式的API接口,使用配置的模版,手动传变量。
具体而言,所述第一变量替换规则是指根据固定的代码生成逻辑或配置的代码生成逻辑,用来对变量进行替换,支持通过Web形式的API接口,使用配置的模版,手动传变量。所述Web形式的API接口是指将接口做得可以通过http形式直接被其他地方调用,比如网页链接等形式,以互联网的形式存在,进而使用配置的模版,手动传变量,提高了研发人员的工作效率,降低企业信息化系统的研发成本。
综上所述,本申请实施例所提供的一种基于模版的SaaS代码生成方法,具有如下技术效果:
本申请提供了一种基于模版的SaaS代码生成方法,其中,所述方法包括:根据SaaS系统的第一用户,获得第一新建项目;根据第一调用指令调用第一项目代码模板;基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;根据所述项目数据库,获得第一调整代码;根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;根据所述第一变量替换规则,生成第一替换代码;根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;根据所述第二项目代码模板,获得第一目标代码。解决了现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。达到了基于SaaS系统,实现了目标代码的自动生成,支持多用户、多项目、Web在线使用,支持在线修改模版等功能,提高了研发人员的工作效率,降低企业信息化系统的研发成本,进行个性化模板定制,具有较强灵活性与扩展性的技术效果。
实施例二
基于与前述实施例中一种基于模版的SaaS代码生成方法,同样发明构思,本发明还提供了一种基于模版的SaaS代码生成系统,如图6所示,所述系统包括:
第一获得单元11,所述第一获得单元11用于根据SaaS系统的第一用户,获得第一新建项目;
第一执行单元12,所述第一执行单元12用于根据第一调用指令调用第一项目代码模板;
第二执行单元13,所述第二执行单元13用于基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;
第二获得单元14,所述第二获得单元14用于根据所述项目数据库,获得第一调整代码;
第一构建单元15,所述第一构建单元15用于根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;
第三执行单元16,所述第三执行单元16用于根据所述第一变量替换规则,生成第一替换代码;
第四执行单元17,所述第四执行单元17用于根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;
第三获得单元18,所述第三获得单元18用于根据所述第二项目代码模板,获得第一目标代码。
进一步的,所述系统还包括:
第四获得单元,所述第四获得单元用于根据第一公司需求信息,获得第一代码生成标准;
第五获得单元,所述第五获得单元用于基于所述第一代码生成标准,获得第二调整代码信息;
第五执行单元,所述第五执行单元用于根据所述第二调整代码信息,生成第一模板约束条件;
第六执行单元,所述第六执行单元用于基于所述第一模板约束条件对所述第二项目代码模板进行约束。
进一步的,所述系统还包括:
第六获得单元,所述第六获得单元用于基于所述SaaS系统,获得多个接入用户;
第七获得单元,所述第七获得单元用于根据所述多个接入用户,获得多个账号信息和多个密码信息,其中,所述多个账号信息和所述多个密码信息一一对应;
第七执行单元,所述第七执行单元用于根据所述多个账号信息和所述多个密码信息对所述第一用户进行权限管理。
进一步的,所述系统还包括:
第八获得单元,所述第八获得单元用于获得所述项目数据库的第一数据库表和第一字段;
第九获得单元,所述第九获得单元用于获得第一查询指令;
第十获得单元,所述第十获得单元用于根据所述第一查询指令对所述第一数据库表和所述第一字段进行重复性查询,获得第一重复性代码;
第十一获得单元,所述第十一获得单元用于根据所述第一重复性代码和第一调整功能模块,获得所述第一调整代码。
进一步的,所述系统还包括:
第一包含单元,所述第一包含单元用于所述第一调整功能模块包括多个调整功能,其中,所述多个调整功能包括增加功能、修改功能、删除功能和查询功能。
进一步的,所述系统还包括:
第二构建单元,所述第二构建单元用于构建第一可选单元,其中,所述第一可选单元用于对所述第一变量替换规则进行选择;
第十二获得单元,所述第十二获得单元用于获得第一配置需求信息;
第十三获得单元,所述第十三获得单元用于将所述第一配置需求信息输入所述第一变量替换规则中进行筛选,获得第一筛选规则;
第八执行单元,所述第八执行单元用于根据所述第一筛选规则,生成所述第一替换代码。
进一步的,所述系统还包括:
第一功能单元,所述第一功能单元用于所述第一变量替换规则用于对变量进行替换,支持通过Web形式的API接口,使用配置的模版,手动传变量。
示例性电子设备
下面参考图7来描述本申请实施例的电子设备。
基于与前述实施例中一种基于模版的SaaS代码生成方法相同的发明构思,本申请实施例还提供了一种基于模版的SaaS代码生成系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行第一方面任一项所述的方法。
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标总线或扩展工业标准结构总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器302可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。通信接口303,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网,无线局域网,有线接入网等。存储器301可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器、只读光盘或其他光盘存储、光碟存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器301用于存储执行本申请方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本申请上述实施例提供的一种基于模版的SaaS代码生成方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例解决了现有技术中代码生成效率低、错误多,不支持多用户、多项目的使用,不能制定代码模板,使用场景有限的技术问题。达到了基于SaaS系统,实现了目标代码的自动生成,支持多用户、多项目、Web在线使用,支持在线修改模版等功能,提高了研发人员的工作效率,降低企业信息化系统的研发成本,进行个性化模板定制,具有较强灵活性与扩展性的技术效果。
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质、光介质、或者半导体介质等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。
相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请意图包括这些改动和变型在内。
Claims (9)
1.一种基于模版的SaaS代码生成方法,其中,所述方法应用于一种基于模版的SaaS代码生成系统,所述系统包括一项目数据库,所述方法包括:
根据SaaS系统的第一用户,获得第一新建项目;
根据第一调用指令调用第一项目代码模板;
基于所述第一新建项目配置所述项目数据库,其中,所述项目数据库包括多个项目数据库;
根据所述项目数据库,获得第一调整代码;
根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;
根据所述第一变量替换规则,生成第一替换代码;
根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;
根据所述第二项目代码模板,获得第一目标代码。
2.如权利要求1所述的方法,其中,所述根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板,所述方法还包括:
根据第一公司需求信息,获得第一代码生成标准;
基于所述第一代码生成标准,获得第二调整代码信息;
根据所述第二调整代码信息,生成第一模板约束条件;
基于所述第一模板约束条件对所述第二项目代码模板进行约束。
3.如权利要求1所述的方法,其中,所述根据SaaS系统的第一用户,获得第一新建项目,所述方法还包括:
基于所述SaaS系统,获得多个接入用户;
根据所述多个接入用户,获得多个账号信息和多个密码信息,其中,所述多个账号信息和所述多个密码信息一一对应;
根据所述多个账号信息和所述多个密码信息对所述第一用户进行权限管理。
4.如权利要求1所述的方法,其中,所述根据所述项目数据库,获得第一调整代码,所述方法还包括:
获得所述项目数据库的第一数据库表和第一字段;
获得第一查询指令;
根据所述第一查询指令对所述第一数据库表和所述第一字段进行重复性查询,获得第一重复性代码;
根据所述第一重复性代码和第一调整功能模块,获得所述第一调整代码。
5.如权利要求4所述的方法,其中,所述第一调整功能模块包括多个调整功能,其中,所述多个调整功能包括增加功能、修改功能、删除功能和查询功能。
6.如权利要求1所述的方法,其中,所述根据所述第一变量替换规则,生成第一替换代码,所述方法还包括:
构建第一可选单元,其中,所述第一可选单元用于对所述第一变量替换规则进行选择;
获得第一配置需求信息;
将所述第一配置需求信息输入所述第一变量替换规则中进行筛选,获得第一筛选规则;
根据所述第一筛选规则,生成所述第一替换代码。
7.如权利要求1所述的方法,其中,所述第一变量替换规则用于对变量进行替换,支持通过Web形式的API接口,使用配置的模版,手动传变量。
8.一种基于模版的SaaS代码生成系统,其中,所述系统包括:
第一获得单元,所述第一获得单元用于根据SaaS系统的第一用户,获得第一新建项目;
第一执行单元,所述第一执行单元用于根据第一调用指令调用第一项目代码模板;
第二执行单元,所述第二执行单元用于基于所述第一新建项目配置项目数据库,其中,项目数据库包括多个项目数据库;
第二获得单元,所述第二获得单元用于根据项目数据库,获得第一调整代码;
第一构建单元,所述第一构建单元用于根据所述第一新建项目,构建第一变量替换规则,其中,所述第一变量替换规则用于对变量进行替换;
第三执行单元,所述第三执行单元用于根据所述第一变量替换规则,生成第一替换代码;
第四执行单元,所述第四执行单元用于根据所述第一调整代码和所述第一替换代码对所述第一项目代码模板进行配置,生成第二项目代码模板;
第三获得单元,所述第三获得单元用于根据所述第二项目代码模板,获得第一目标代码。
9.一种基于模版的SaaS代码生成系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111063908.3A CN113741902B (zh) | 2021-09-10 | 2021-09-10 | 一种基于模版的SaaS代码生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111063908.3A CN113741902B (zh) | 2021-09-10 | 2021-09-10 | 一种基于模版的SaaS代码生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113741902A true CN113741902A (zh) | 2021-12-03 |
CN113741902B CN113741902B (zh) | 2024-03-29 |
Family
ID=78738096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111063908.3A Active CN113741902B (zh) | 2021-09-10 | 2021-09-10 | 一种基于模版的SaaS代码生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741902B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046868A1 (en) * | 2006-08-21 | 2008-02-21 | Efstratios Tsantilis | Method and system for template-based code generation |
CN101697120A (zh) * | 2009-11-05 | 2010-04-21 | 河南辉煌科技股份有限公司 | 基于关系型数据库的j2ee代码生成方法 |
CN102012906A (zh) * | 2010-10-27 | 2011-04-13 | 南京聚社数字科技有限公司 | 基于SaaS架构的三维场景管理平台及编辑浏览方法 |
CN105260189A (zh) * | 2015-11-02 | 2016-01-20 | 江苏马上游科技股份有限公司 | 基于模型驱动生成代码的方法及系统 |
US20160041815A1 (en) * | 2014-08-11 | 2016-02-11 | Chirag P. Bhagat | Computer Source Code Generator for Building Software Applications |
US20160092414A1 (en) * | 2014-09-26 | 2016-03-31 | Oracle International Corporation | Standardized approach to contextual code identification in editors and ides |
CN110032369A (zh) * | 2019-04-24 | 2019-07-19 | 成都市映潮科技股份有限公司 | 一种代码自动生成方法、装置及介质 |
CN110785736A (zh) * | 2018-02-12 | 2020-02-11 | 甲骨文国际公司 | 自动代码生成 |
CN110941423A (zh) * | 2019-11-22 | 2020-03-31 | 深圳市航通智能技术有限公司 | 一种基于Java的快速生成代码方法 |
US20200125339A1 (en) * | 2018-10-17 | 2020-04-23 | International Business Machines Corporation | Code library version management |
EP3654215A1 (en) * | 2018-11-15 | 2020-05-20 | Sternum Ltd. | Applying control flow integrity verification in intermediate code files |
-
2021
- 2021-09-10 CN CN202111063908.3A patent/CN113741902B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046868A1 (en) * | 2006-08-21 | 2008-02-21 | Efstratios Tsantilis | Method and system for template-based code generation |
CN101697120A (zh) * | 2009-11-05 | 2010-04-21 | 河南辉煌科技股份有限公司 | 基于关系型数据库的j2ee代码生成方法 |
CN102012906A (zh) * | 2010-10-27 | 2011-04-13 | 南京聚社数字科技有限公司 | 基于SaaS架构的三维场景管理平台及编辑浏览方法 |
US20160041815A1 (en) * | 2014-08-11 | 2016-02-11 | Chirag P. Bhagat | Computer Source Code Generator for Building Software Applications |
US20160092414A1 (en) * | 2014-09-26 | 2016-03-31 | Oracle International Corporation | Standardized approach to contextual code identification in editors and ides |
CN105260189A (zh) * | 2015-11-02 | 2016-01-20 | 江苏马上游科技股份有限公司 | 基于模型驱动生成代码的方法及系统 |
CN110785736A (zh) * | 2018-02-12 | 2020-02-11 | 甲骨文国际公司 | 自动代码生成 |
US20200125339A1 (en) * | 2018-10-17 | 2020-04-23 | International Business Machines Corporation | Code library version management |
EP3654215A1 (en) * | 2018-11-15 | 2020-05-20 | Sternum Ltd. | Applying control flow integrity verification in intermediate code files |
CN110032369A (zh) * | 2019-04-24 | 2019-07-19 | 成都市映潮科技股份有限公司 | 一种代码自动生成方法、装置及介质 |
CN110941423A (zh) * | 2019-11-22 | 2020-03-31 | 深圳市航通智能技术有限公司 | 一种基于Java的快速生成代码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113741902B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107896162B (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
KR102008242B1 (ko) | 클라우드-에지 토폴로지 | |
US20190213510A1 (en) | Event-based composition model for workflow systems | |
CN111309293B (zh) | 一种界面框架构建方法、装置、电子设备及存储介质 | |
US20130067456A1 (en) | Application configuration framework for enterprise resource planning application installation | |
US10817809B2 (en) | Systems and methods for customizable route optimization | |
CN110764752A (zh) | 基于微服务架构实现Restful服务图形化服务编排的系统及其方法 | |
CN112732466A (zh) | 一种服务调用方法、装置和系统 | |
CN110750711B (zh) | 数据推送方法、装置、计算机设备及存储介质 | |
CN111858727A (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
WO2021008576A1 (zh) | 上下文信息管理方法、装置、系统及计算机可读存储介质 | |
US10725795B2 (en) | Systems, methods, and apparatuses for dynamic creation of an external code segment within a cloud based computing environment | |
CN111626607B (zh) | 一种基于SaaS的工作流程个性化设置方法、装置及存储介质 | |
CN113741902B (zh) | 一种基于模版的SaaS代码生成方法及系统 | |
CN112131230A (zh) | 应用SaaS化实现方法、装置、设备及存储介质 | |
CN112416384A (zh) | 软件升级方法、装置及计算机设备 | |
CN113298331A (zh) | 一种工单处理方法、装置、系统及电子设备 | |
CN112181409A (zh) | 一种应用构建方法、应用渲染方法及装置 | |
KR20110114173A (ko) | 비즈니스 프로세스로부터 사용자 맞춤형 웹 서비스를 생성하는 시스템 및 방법 | |
JP2007179209A (ja) | 業務プロセスやドキュメントの記録・管理方法 | |
CN112418796A (zh) | 子流程节点激活方法、装置、电子设备及存储介质 | |
CN114629835B (zh) | 路由配置方法、装置、计算机可读存储介质及电子设备 | |
JP2006285473A (ja) | 製造工程管理システム | |
CN116301758B (zh) | 基于事件时机点的规则编辑方法、装置、设备及介质 | |
CN113641405A (zh) | 一种工作流快速配置方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant after: Bairong Zhixin (Beijing) Technology Co.,Ltd. Address before: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant before: Bairong Zhixin (Beijing) credit investigation Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |