CN116701517A - 一种基于切面的导出接口实现方法及装置 - Google Patents
一种基于切面的导出接口实现方法及装置 Download PDFInfo
- Publication number
- CN116701517A CN116701517A CN202310817650.4A CN202310817650A CN116701517A CN 116701517 A CN116701517 A CN 116701517A CN 202310817650 A CN202310817650 A CN 202310817650A CN 116701517 A CN116701517 A CN 116701517A
- Authority
- CN
- China
- Prior art keywords
- export
- file
- annotation
- interface
- configuration information
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000027455 binding Effects 0.000 claims abstract description 18
- 238000002372 labelling Methods 0.000 claims description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000009870 specific binding Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于切面的导出接口实现方法及装置,包括:在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;将所述导出内容写入所述临时文件,得到目标导出文件链接。上述过程,基于查询接口得到了目标导出文件链接,即基于查询接口实现了导出接口的功能,避免了由于查询接口和导出接口独立,出现没有同步更新导出相关配置信息,导致数据不一致的问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于切面的导出接口实现方法及装置。
背景技术
针对业务系统查询页面,用户一般除了需要在线查看操作,还需要导出到本地进行处理,这个时候除了需要开发当前页面,还需要针对导出功能进行导出接口的额外开发。
导出接口一般都是基于查询接口的内容来生成文件供用户下载使用的。传统实现导出方式是新增一个接口,内部进行导出内容查询,以及导出字段配置,这样就导致查询和导出功能是相互独立分开的,随着功能迭代,修改查询接口,导出由于是独立的,就容易出现没有同步更新导出相关配置信息,导致数据不一致。
发明内容
有鉴于此,本发明提供了一种基于切面的导出接口实现方法及装置,用以解决传统实现导出方式是新增一个接口,内部进行导出内容查询,以及导出字段配置,这样就导致查询和导出功能是相互独立分开的,随着功能迭代,修改查询接口,导出由于是独立的,就容易出现没有同步更新导出相关配置信息,导致数据不一致传统实现导出方式是新增一个接口,内部进行导出内容查询,以及导出字段配置,这样就导致查询和导出功能是相互独立分开的,随着功能迭代,修改查询接口,导出由于是独立的,就容易出现没有同步更新导出相关配置信息,导致数据不一致的问题。具体方案如下:
一种基于切面的导出接口实现方法,包括:
在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;
在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;
获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;
将所述导出内容写入所述临时文件,得到目标导出文件链接。
上述的方法,可选的,在查询接口绑定导出注解和导出字段注解,包括:
在所述查询接口标注导出注解,令所述查询接口支持导出功能;
在所述查询接口标注导出字段注解,其中,所述导出字段注解包括:导出配置信息,所述导出配置信息包括:导出字段、导出顺序、导出列宽和格式化方式。
上述的方法,可选的,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称,包括:
遍历所述导出注解,获取所述导出注解中的文件类型和文件名称;
基于所述文件类型创建临时文件;
将所述文件名称写入所述临时文件。
上述的方法,可选的,获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容,包括:
判断所述查询接口是否存在分页;
若存在分页,进行循环分页查询;
基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容。
上述的方法,可选的,将所述导出内容写入所述临时文件,得到目标导出文件链接,包括:
将所述导出内容基于所述导出配置信息写入所述临时文件,得到目标导出文件;
将所述目标导出文件上传至统一文件系统,得到目标导出文件链接;
删除所述目标导出文件,同时返回所述目标导出文件链接。
一种基于切面的导出接口实现装置,包括:
绑定和判断模块,用于在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;
拦截和创建模块,用于在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;
获取和读取模块,用于获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;
写入模块,用于将所述导出内容写入所述临时文件,得到目标导出文件链接。
上述的装置,可选的,所述绑定和判断模块包括:
第一标注单元,用于在所述查询接口标注导出注解,令所述查询接口支持导出功能;
第二标注单元,用于在所述查询接口标注导出字段注解,其中,所述导出字段注解包括:导出配置信息,所述导出配置信息包括:导出字段、导出顺序、导出列宽和格式化方式。
上述的装置,可选的,所述拦截和创建模块包括:
获取单元,用于遍历所述导出注解,获取所述导出注解中的文件类型和文件名称;
创建单元,用于基于所述文件类型创建临时文件;
第一写入单元,用于将所述文件名称写入所述临时文件。
上述的装置,可选的,所述获取和读取模块包括:
判断单元,用于判断所述查询接口是否存在分页;
查询单元,用于若存在分页,进行循环分页查询;
读取单元,用于基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容。
上述的装置,可选的,所述写入模块包括:
第二写入单元,用于将所述导出内容基于所述导出配置信息写入所述临时文件,得到目标导出文件;
上传单元,用于将所述目标导出文件上传至统一文件系统,得到目标导出文件链接;
删除和返回单元,用于删除所述目标导出文件,同时返回所述目标导出文件链接。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于切面的导出接口实现方法及装置,包括:在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;将所述导出内容写入所述临时文件,得到目标导出文件链接。上述过程,基于查询接口得到了目标导出文件链接,即基于查询接口实现了导出接口的功能,避免了由于查询接口和导出接口独立,出现没有同步更新导出相关配置信息,导致数据不一致的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种基于切面的导出接口实现方法流程图;
图2为本发明实施例公开的一种目标导出文件示意图;
图3为本发明实施例公开的一种基于切面的导出接口实现方法又一流程图;
图4为本发明实施例公开的一种基于切面的导出接口实现装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种基于切面的导出接口实现方法及装置,用于解决现有技术中查询接口和导出接口是分开的,查询接口或者导出接口在修改的时候,容易忘记同步,导致数据不一致,因此,本发明提供了一种基于切面的导出接口实现方法,在系统开发过程中修改查询接口时,实现导出接口自动同步,保证查询结果和导出结果一致,不需要额外开发导出接口。通过这种接口实现的导出方法,配置简单高效,在降低开发成本的同时,可以降低软件测试成本和运行维护成本,提高软件系统性能。所述方法的执行流程如图1所示,包括步骤:
S101、在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;
本发明实施例中,通过将导出功能绑定到正常的查询功能上,避免上述问题,具体的绑定过程如下:在查询接口绑定导出注解和导出字段注解,其中,
所述导出注解为自定义注解,优选的,所述导出注解@ExportExcel,使普通的查询接口支持导出功能,所述导出注解@ExportExcel相当于给原先查询接口增加一个标签贴纸,所述标签贴纸上同时定义导出文件名称和文件类型等信息。其中,所述导出注解@ExportExcel的执行代码如下:
上述代码中通过在查询接口中增加导出注解@ExportExcel,则可以标记当前接口支持导出功能。
所述导出字段注解为自定义注解,所述导出字段注解@ExportProperty,标记查询接口哪些字段需要导出、导出的顺序、导出列宽度以及格式化方式。
其中,所述导出字段注解@ExportProperty的执行代码如下:
上述代码中通过在查询接口中增加导出字段注解@ExportProperty注解来标记导出配置信息,这里只是简单标注,具体的处理逻辑在切面中。
上述注解设置完成后,接收接口参数,其中,所述接口参数与选择查询功能还是导出功能有关,例如:所述接口参数中包含_export_type_表示导出功能,反之,若所述接口参数中不包含_export_type_表示查询功能,基于所述接口参数判断是否需要导出,若不需要导出,则执行正常查询接口功能。
S102、在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;
本发明实施例中,在需要导出的情况下,配置切面,通过对自定义注解进行拦截,实现统一的导出逻辑处理,具体的处理过程包括:
拦截所述导出注解中的文件类型和文件名称,具体的拦截过程可以为,遍历所述导出注解,查找所述文件类型和所述文件名称,查找完成后,基于所述文件类型创建临时文件,优选的,本发明实施例中,所述文件类型为Excel,同时将所述文件名称写入所述临时文件。其中,针对拦截过程的代码如下:
S103、获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;
本发明实施例中,首先判断所述查询接口是否存在分页,具体的判断过程如下:获取所述返回对象的类型,基于所述类型判断是否存在分页,本发明实施例中对具体的类型不进行限定,例如,所述类型为A,判定为存在分页,根据@ExportExcel中配置的pagesize循环分页查询,执行所述查询接口;所述类型为B,判定为不存在分页,若不存在分页在直接执行所述查询接口。所述查询接口的具体执行过程如下:
获取所述导出字段注解中的导出配置信息,其中,所述导出配置信息包括:导出字段、导出顺序、导出列宽和格式化方式。通过反射读取所述查询接口的返回对象,其中,所述查询接口返回的是一行行的数据列表,每一行的数据在程序中有个载体去存储,这个载体结构就是返回对象,也就是@ExportExcel注解里面dataClass属性指定内容。具体反射读取过程的执行代码如下:
所述导出字段注解@ExportProperty本身就像一个便签一样记录一些额外信息,然后贴在返回对象的字段上,是不包含处理逻辑的,处理逻辑都是在切面里。不通过注解切面进行导出,一般处理方式也是把查询接口的数据列表一行行的写入到excel文件里,如果需要对不同字段进行不同格式处理,如设置不同列宽度,这时候就需要在导出流程中针对这个字段特殊配置。而现在通过@ExportProperty这种便签标注的方式,在切面中可以用统一的逻辑,只需要按照该注解标注的信息进行处理就可以了。解析出其中标注@ExportProperty字段,进行处理作为最终导出内容,优选的,本发明实施例中,所述导出内容包括:导出字段:订单No、订单总价和客户名称对应的内容。
S104、将所述导出内容写入所述临时文件,得到目标导出文件链接。
本发明实施例中,将所述导出内容依据所述导出字段写入所述临时文件,得到目标导出文件。所述目标导出文件如图2所示,包括:订单列表,导出时间:2023-05-20 15:31:34,开始时间:2023/5/1,结束时间:2023/5/20,订单No:XD2011031014160001、XD2011060053480001、XD2011060100080001、XD2011060100460001、XD2011060106330001、XD2011060107570001、XD2011060111830001、XD2011060120430001和XD2011060124590001,订单总价:101715.76、208、5266.2、4407、208、356.6、191、208和316.66,客户名称:小舒的零食店、zhi老板、舟谱文具店、不知名小店、情深夫妇、夏天的滋味、合作客户、好又好和好再来。
进一步的,将所述目标导出文件上传至统一文件系统,所述统一文件系统基于所述目标导出文件创建目标导出文件链接,将所述目标导出文件链接下发给所述查询接口,所述查询接口接收到所述目标导出文件链接后,删除所述目标导出文件,同时返回所述目标导出文件链接,后续基于所述目标导出文件链接查下所述目标导出文件。
本发明公开了一种基于切面的导出接口实现方法,包括:在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;将所述导出内容写入所述临时文件,得到目标导出文件链接。上述过程,基于查询接口得到了目标导出文件链接,即基于查询接口实现了导出接口的功能,避免了由于查询接口和导出接口独立,出现没有同步更新导出相关配置信息,导致数据不一致的问题。
本发明实施例中,上述方法的处理流程如图3所示,预先标注导出注解@ExportExcel和导出字段注解@ExportProperty,拦截所有标记@ExportExcel的请求,基于接口参数判断是否为导出,若所述接口参数不带_export_type_参数,正常查询接口,返回查询数据;若所述接口参数带export_type_参数,表示为导出,根据导出文件类型创建相应临时文件,判断接口是否为分页,具体的判断过程如S103所述,若不存在,执行查询接口,若存在,根据返回对象中@ExportProperty标注情况写入临时文件,得到目标导出文件,将所述目标导出文件上传至统一文件系统,所述统一文件系统将所述目标导出文件转换为目标导出文件链接,返回目标导出文件链接,删除目标导出文件,返回目标导出文件链接给请求,后续根据链接在统一文件系统下查看文件。
本发明实施例中所述方法支持导出注解、导出字段注解,基于导出注解导出字段注解的拦截处理切面、以及报表查询方法返回对象字段标注注解,主要用于字段的特殊处理,比如格式转换或者过滤不导出等。包含以下步骤:
(1)定义接口支持导出注解,用于标注哪些系统查询接口支持导出功能;
(2)定义导出字段注解,用于标记字段是否需要同步导出,或者进行一些特殊的格式化处理;
(3)定义实现切面,针对导出标注的相关注解进行解析。实现后续所有导出功能都能简单的通过在对应查询接口上增加很少的注解就能实现完整的导出功能,不在需要额外的接口配置开发;
(4)针对系统报表查询需要额外添加导出支持的接口,简单的标注一些定义注解就可以了,这样不仅提升了开发效率,降低开发复杂度,查询和导出紧密结合的方式,还很方便后期维护,避免了修改了查询接口却遗漏了导出,极大避免了系统因此可能出现的异常或错误的可能。
基于上述的一种基于切面的导出接口实现方法,本发明实施例中还提供了一种基于切面的导出接口实现装置,所述装置的结构框图如图4所示,包括:
绑定和判断模块201、拦截和创建模块202、获取和读取模块203和写入模块204。
其中,
所述绑定和判断模块201,用于在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;
所述拦截和创建模块202,用于在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;
所述获取和读取模块203,用于获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;
所述写入模块204,用于将所述导出内容写入所述临时文件,得到目标导出文件链接。
本发明公开了一种基于切面的导出接口实现装置,包括:在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;将所述导出内容写入所述临时文件,得到目标导出文件链接。上述过程,基于查询接口得到了目标导出文件链接,即基于查询接口实现了导出接口的功能,避免了由于查询接口和导出接口独立,出现没有同步更新导出相关配置信息,导致数据不一致的问题。
本发明实施例中,所述绑定和判断模块201包括:
第一标注单元205和第二标注单元206。
其中,
所述第一标注单元205,用于在所述查询接口标注导出注解,令所述查询接口支持导出功能;
所述第二标注单元206,用于在所述查询接口标注导出字段注解,其中,所述导出字段注解包括:导出配置信息,所述导出配置信息包括:导出字段、导出顺序、导出列宽和格式化方式。
本发明实施例中,所述拦截和创建模块202包括:
获取单元207、创建单元208和第一写入单元209。
其中,
所述获取单元207,用于遍历所述导出注解,获取所述导出注解中的文件类型和文件名称;
所述创建单元208,用于基于所述文件类型创建临时文件;
所述第一写入单元209,用于将所述文件名称写入所述临时文件。
本发明实施例中,所述获取和读取模块203包括:
判断单元210、查询单元211和读取单元212。
其中,
所述判断单元210,用于判断所述查询接口是否存在分页;
所述查询单元211用于若存在分页,进行循环分页查询;
所述读取单元212,用于基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容。
本发明实施例中,所述写入模块204包括:
第二写入单元213、上传单元214和删除和返回单元215。
其中,
所述第二写入单元213,用于将所述导出内容基于所述导出配置信息写入所述临时文件,得到目标导出文件;
所述上传单元214,用于将所述目标导出文件上传至统一文件系统,得到目标导出文件链接;
所述删除和返回单元215,用于删除所述目标导出文件,同时返回所述目标导出文件链接。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于切面的导出接口实现方法,其特征在于,包括:
在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;
在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;
获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;
将所述导出内容写入所述临时文件,得到目标导出文件链接。
2.根据权利要求1所述的方法,其特征在于,在查询接口绑定导出注解和导出字段注解,包括:
在所述查询接口标注导出注解,令所述查询接口支持导出功能;
在所述查询接口标注导出字段注解,其中,所述导出字段注解包括:导出配置信息,所述导出配置信息包括:导出字段、导出顺序、导出列宽和格式化方式。
3.根据权利要求1所述的方法,其特征在于,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称,包括:
遍历所述导出注解,获取所述导出注解中的文件类型和文件名称;
基于所述文件类型创建临时文件;
将所述文件名称写入所述临时文件。
4.根据权利要求1所述的方法,其特征在于,获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容,包括:
判断所述查询接口是否存在分页;
若存在分页,进行循环分页查询;
基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容。
5.根据权利要求1所述的方法,其特征在于,将所述导出内容写入所述临时文件,得到目标导出文件链接,包括:
将所述导出内容基于所述导出配置信息写入所述临时文件,得到目标导出文件;
将所述目标导出文件上传至统一文件系统,得到目标导出文件链接;
删除所述目标导出文件,同时返回所述目标导出文件链接。
6.一种基于切面的导出接口实现装置,其特征在于,包括:
绑定和判断模块,用于在查询接口绑定导出注解和导出字段注解,获取接口参数,基于所述接口参数判断是否需要导出;
拦截和创建模块,用于在需要导出的情况下,拦截所述导出注解中的文件类型和文件名称,基于所述文件类型创建临时文件,其中,所述临时文件包含所述文件名称;
获取和读取模块,用于获取所述导出字段注解中的导出配置信息,基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容;
写入模块,用于将所述导出内容写入所述临时文件,得到目标导出文件链接。
7.根据权利要求6所述的装置,其特征在于,所述绑定和判断模块包括:
第一标注单元,用于在所述查询接口标注导出注解,令所述查询接口支持导出功能;
第二标注单元,用于在所述查询接口标注导出字段注解,其中,所述导出字段注解包括:导出配置信息,所述导出配置信息包括:导出字段、导出顺序、导出列宽和格式化方式。
8.根据权利要求6所述的装置,其特征在于,所述拦截和创建模块包括:
获取单元,用于遍历所述导出注解,获取所述导出注解中的文件类型和文件名称;
创建单元,用于基于所述文件类型创建临时文件;
第一写入单元,用于将所述文件名称写入所述临时文件。
9.根据权利要求6所述的装置,其特征在于,所述获取和读取模块包括:
判断单元,用于判断所述查询接口是否存在分页;
查询单元,用于若存在分页,进行循环分页查询;
读取单元,用于基于所述导出配置信息反射读取所述查询接口的返回对象,得到导出内容。
10.根据权利要求6所述的装置,其特征在于,所述写入模块包括:
第二写入单元,用于将所述导出内容基于所述导出配置信息写入所述临时文件,得到目标导出文件;
上传单元,用于将所述目标导出文件上传至统一文件系统,得到目标导出文件链接;
删除和返回单元,用于删除所述目标导出文件,同时返回所述目标导出文件链接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310817650.4A CN116701517A (zh) | 2023-07-04 | 2023-07-04 | 一种基于切面的导出接口实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310817650.4A CN116701517A (zh) | 2023-07-04 | 2023-07-04 | 一种基于切面的导出接口实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701517A true CN116701517A (zh) | 2023-09-05 |
Family
ID=87837440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310817650.4A Withdrawn CN116701517A (zh) | 2023-07-04 | 2023-07-04 | 一种基于切面的导出接口实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701517A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143462A (zh) * | 2019-12-31 | 2020-05-12 | 广州酷旅旅行社有限公司 | 数据导出的方法、装置、计算机设备和存储介质 |
CN113011145A (zh) * | 2021-03-16 | 2021-06-22 | 深圳市麦谷科技有限公司 | 数据导出方法、装置、终端设备和存储介质 |
CN114186958A (zh) * | 2021-11-24 | 2022-03-15 | 天津车之家软件有限公司 | 将列表数据导出为电子表格的方法、计算设备及存储介质 |
CN114676686A (zh) * | 2022-05-30 | 2022-06-28 | 恒生电子股份有限公司 | 数据字典处理方法、翻译方法及相关装置 |
CN115291887A (zh) * | 2022-08-15 | 2022-11-04 | 深圳锋芒信息技术有限公司 | 代码生成方法、装置、设备及存储介质 |
-
2023
- 2023-07-04 CN CN202310817650.4A patent/CN116701517A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143462A (zh) * | 2019-12-31 | 2020-05-12 | 广州酷旅旅行社有限公司 | 数据导出的方法、装置、计算机设备和存储介质 |
CN113011145A (zh) * | 2021-03-16 | 2021-06-22 | 深圳市麦谷科技有限公司 | 数据导出方法、装置、终端设备和存储介质 |
CN114186958A (zh) * | 2021-11-24 | 2022-03-15 | 天津车之家软件有限公司 | 将列表数据导出为电子表格的方法、计算设备及存储介质 |
CN114676686A (zh) * | 2022-05-30 | 2022-06-28 | 恒生电子股份有限公司 | 数据字典处理方法、翻译方法及相关装置 |
CN115291887A (zh) * | 2022-08-15 | 2022-11-04 | 深圳锋芒信息技术有限公司 | 代码生成方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
张胜楠: "基于Java反射和Fel计算引擎动态导出Excel的实现", 《现代计算机》, vol. 28, no. 12, pages 1 * |
某网络用户: "AOP实现统一导出报表——原来做报表也能这么有趣", 《HTTPS://BLOG.CSDN.NET/QQ_24054301/ARTICLE/DETAILS/106887155》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN112732641A (zh) | 一种电子档案的归档方法及装置、介质 | |
JP2020177668A (ja) | ユーザ画像の処理方法、ユーザ画像の処理装置、サーバ及び記憶媒体 | |
CN111143282A (zh) | 会计资料归档处理方法、装置及控制器 | |
CN114493551B (zh) | 一种合同的生成方法及装置、电子设备、存储介质 | |
CN116166629A (zh) | 一种文件格式转换方法、装置、设备及可读存储介质 | |
CN114138745A (zh) | 数据的集成方法、装置、存储介质及处理器 | |
CN114297204A (zh) | 一种异构数据源的数据存储、检索方法及装置 | |
CN110362630A (zh) | 数据管理方法、装置、设备与计算机可读存储介质 | |
CN108062323B (zh) | 一种日志读取方法及装置 | |
CN116932399A (zh) | 报文生成方法、装置及非易失性存储介质 | |
CN116701517A (zh) | 一种基于切面的导出接口实现方法及装置 | |
CN112099847A (zh) | 一种ralf文件生成方法及装置 | |
CN113485746B (zh) | 应用程序接口文档的生成方法及装置 | |
CN113065813B (zh) | 物料清单处理方法、装置及计算机存储介质 | |
CN111651531B (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN110019507B (zh) | 数据同步的方法及装置 | |
CN112380214A (zh) | 一种数据处理方法、装置和电子设备 | |
CN112541327A (zh) | 一种数据读取方法、装置、电子设备及存储介质 | |
CN114528516B (zh) | 一种智慧信息化项目管理方法和装置 | |
CN114880394B (zh) | 一种sql脚本的共享方法、设备及介质 | |
CN103440289B (zh) | 基于MapReduce的网页不兼容标签并行查找方法 | |
CN117453307B (zh) | 一种支持多类型浏览器预览文件方法、设备及存储介质 | |
CN116594967A (zh) | 运维数据处理方法、装置及存储介质 | |
CN117215946A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230905 |
|
WW01 | Invention patent application withdrawn after publication |