一种基于aop方式的客户端订单取消判断方法及装置制造方法及图纸

技术编号:24037305 阅读:27 留言:0更新日期:2020-05-07 02:17
本申请提供了一种基于aop方式的客户端订单取消判断方法及系统,所述方法包括对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记;若存在标记,则将所述标记绑定的取消判断函数织入所述标记处,在所述取消判断函数中,调用远程访问接口,获取对应订单是否被取消。本申请针对各个涉及到订单取消的生产系统,采用灵活的位置标记方式,基于aop实现机制,实现了订单取消判断的统一处理,减少了代码的重复开发,具有易于升级以及提高系统稳定性的优点。

A method and device of order cancellation judgment based on AOP

【技术实现步骤摘要】
一种基于aop方式的客户端订单取消判断方法及装置
本申请属于物流订单处理
,特别涉及一种基于aop方式的客户端订单取消判断方法及装置。
技术介绍
物流的生产环节涉及到仓配运执行系统,而每个执行系统又涉及到众多环节,这些环节的实现散落在不同的研发部门或小组,当这些环节在生产时,要判断这个订单是否已经被用户取消、以及回传在某个环节的取消状态时,就存在如下问题:1、各个组的开发人员不一致;2、各开发人员的实现方式不一致;3、各自的代码质量也参差不齐;4、若是需要修改其取消回传逻辑等,需要各个部门都得改,这样导致非常大的联调、测试、上线等工作,资源浪费非常大。
技术实现思路
为了解决上述技术问题至少之一,本申请提供了一种基于aop方式的客户端订单取消判断方法及装置,为电商物流企业其下多个业务执行系统提供一种高效快速的订单取消判断和状态回传的方法。本申请的第一个方面,一种基于aop方式的客户端订单取消判断方法,包括:对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记,所述标记为事先标注在需要进行订单取消判断的业务方法之前;以及若存在标记,则将所述标记绑定的取消判断函数织入所述标记处,在所述取消判断函数中,调用远程访问接口,获取对应订单是否被取消,对被取消的订单,跳过紧挨该注解的业务方法,若不存在注解或对应订单未被取消,则所述方法能够被执行。优选的是,所述标记包括基于注解式的标记或基于配置式的标记。优选的是,检查Java虚拟机已经加载的每一个方法是否有标记包括:基于Java的类字节码操作函数传入遍历方法,在该遍历方法中实现对Java虚拟机已经加载的每一个类中的每一个方法的遍历及检查。优选的是,在获取到对应订单被取消后,进一步包括:通过状态回传接口,将所述订单号、及所述方法对应的sku号、取消动作的业务环节及取消结果回传服务器。本申请第二方面,一种基于aop方式的客户端订单取消判断装置,包括:标记检测模块,用于对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记,所述标记为事先标注在需要进行订单取消判断的业务方法之前;以及取消判断函数织入模块,用于在存在标记时,将所述标记绑定的取消判断函数织入所述标记处,在所述取消判断函数中,调用远程访问接口,获取对应订单是否被取消,对被取消的订单,跳过紧挨该注解的业务方法,若不存在注解或对应订单未被取消,则所述方法能够被执行。优选的是,所述标记包括基于注解式的标记或基于配置式的标记。优选的是,所述标记检测模块包括:预处理单元,用于基于Java的类字节码操作函数传入遍历方法,在该遍历方法中实现对Java虚拟机已经加载的每一个类中的每一个方法的遍历及检查。优选的是,还包括:状态回传模块,用于通过状态回传接口,将所述订单号、及所述方法对应的sku号、取消动作的业务环节及取消结果回传服务器。本申请第三方面,一种计算机设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序用于实现如上所述的基于aop方式的客户端订单取消判断方法。本申请第四方面,一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于aop方式的客户端订单取消判断方法。本专利技术的实施具有如下效益:1、订单取消代码统一;2、订单取消状态代码统一;3、各业务执行系统不需要再开发,只需进行少量的配置;4、由于统一处理取消,避免代码散乱到各处,增加了系统的稳定性;5、代码复杂度显著降低;6、代码复用性高,节省开发成本;7、代码修改和升级方便。附图说明图1是本申请基于aop方式的客户端订单取消判断方法的一优选实施例的流程图。图2是本申请基于aop方式的客户端订单取消判断方法的另一优选实施例的流程图。图3是本申请基于aop方式的客户端订单取消判断装置的一优选实施例的架构图。具体实施方式为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。根据本申请第一方面,一种基于aop方式的客户端订单取消判断方法,如图1所示,主要包括:步骤S1、对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记,所述标记为事先标注在需要进行订单取消判断的业务方法之前。步骤S2、若存在标记,则将所述标记绑定的取消判断函数织入所述标记处,在所述取消判断函数中,调用远程访问接口,获取对应订单是否被取消,对被取消的订单,跳过紧挨该注解的业务方法,若不存在注解或对应订单未被取消,则所述方法能够被执行。在一些可选实施方式中,所述标记包括基于注解式的标记或基于配置式的标记。该实施例以基于注解式的标记为例进行说明。注解(Annotation),也叫元数据,隶属于Java编程语言,是一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。本申请的注解以java为例定义如下:第一行:@Target(ElementType.METHOD),表明是对java类种的方法进行标注;第二行:@Retention(RetentionPolicy.RUNTIME),表明这个注解可以保留到程序运行的时候,它会被加载进入到JVM中,所以在程序运行时可以获取到它们;第三行:public@interfaceCheckOrderCancel,定义这个注解的名称为CheckOrderCancle。第四、五行:StringorderId();Stringsku();StringprocessName();代表order、sku在某个被标注函数的输入参数中的真实名称,processName()代表在哪个业务环节被取消。当某个生产系统需要在某个生产环节对应的函数代码上判断订单是否已经取消时,可以在这个函数上打上该标记,即步骤S1中的所述标记为事先标注在需要进行订单取消判断的业务方法之前,举例,一个仓库管理系统,有一个环节叫做拣货,它的主要作用是根据某个订单到指定的货架本文档来自技高网...

【技术保护点】
1.一种基于aop方式的客户端订单取消判断方法,其特征在于,包括:/n对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记,所述标记为事先标注在需要进行订单取消判断的业务方法之前;以及/n若存在标记,则将所述标记绑定的取消判断函数织入所述标记处,在所述取消判断函数中,调用远程访问接口,获取对应订单是否被取消,对被取消的订单,跳过紧挨该注解的业务方法,若不存在注解或对应订单未被取消,则所述方法能够被执行。/n

【技术特征摘要】
1.一种基于aop方式的客户端订单取消判断方法,其特征在于,包括:
对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记,所述标记为事先标注在需要进行订单取消判断的业务方法之前;以及
若存在标记,则将所述标记绑定的取消判断函数织入所述标记处,在所述取消判断函数中,调用远程访问接口,获取对应订单是否被取消,对被取消的订单,跳过紧挨该注解的业务方法,若不存在注解或对应订单未被取消,则所述方法能够被执行。


2.如权利要求1所述的基于aop方式的客户端订单取消判断方法,其特征在于,所述标记包括基于注解式的标记或基于配置式的标记。


3.如权利要求1所述的基于aop方式的客户端订单取消判断方法,其特征在于,检查Java虚拟机已经加载的每一个方法是否有标记包括:
基于Java的类字节码操作函数传入遍历方法,在该遍历方法中实现对Java虚拟机已经加载的每一个类中的每一个方法的遍历及检查。


4.如权利要求1所述的基于aop方式的客户端订单取消判断方法,其特征在于,在获取到对应订单被取消后,进一步包括:
通过状态回传接口,将所述订单号、及所述方法对应的sku号、取消动作的业务环节及取消结果回传服务器。


5.一种基于aop方式的客户端订单取消判断装置,其特征在于,包括:
标记检测模块,用于对Java虚拟机已经加载的每一个类中的每一个方法,检查所述方法起始位置的前一行是否有标记,所述标记为事先标注在需要进行订...

【专利技术属性】
技术研发人员:石永明
申请(专利权)人:北京美鲜科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1