订单操作的限制方法、装置、设备及存储介质制造方法及图纸

技术编号:34106389 阅读:14 留言:0更新日期:2022-07-12 00:32
本申请公开了一种订单操作的限制方法、装置、设备及存储介质,通过响应于用户对目标订单的订单操作,获取用户信息和订单详细信息,并根据所述用户信息和所述订单详细信息,确定所述订单操作的目标SpEL表达式,以利用SpEL表达式为静态java语言增加动态功能,满足用户自由定义订单操作限制功能的需求;再利用表达式解析器,对所述目标SpEL表达式进行解析,以确定所述订单操作是否被允许,若所述订单操作不被允许,则基于预设操作注解和Spring AOP技术,限制所述订单操作,从而提高订单操作限制功能的灵活性,减少配置成本和降低维护难度。减少配置成本和降低维护难度。减少配置成本和降低维护难度。

【技术实现步骤摘要】
订单操作的限制方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种订单操作的限制方法、装置、设备及存储介质。

技术介绍

[0002]对于订单系统来说,需要对订单操作进行限制。例如,用户在购物平台上提交了下单请求,为避免用户误操作而导致难以挽回的损失,所以需要针对订单的取消操作进行限制。
[0003]目前,订单操作限制功能主要是基于用户权限添加针对订单操作的配置项实现。但是,随着订单业务快速发展与业务逻辑复杂变化,需要添加的配置项越来越多,使得订单操作限制功能的配置成本增加以及维护困难,从而导致订单操作限制功能的灵活性不足。

技术实现思路

[0004]本申请提供了一种订单操作的限制方法、装置、设备及存储介质,以解决当前订单操作限制功能的灵活性低的技术问题。
[0005]为了解决上述技术问题,第一方面,本申请提供了一种订单操作的限制方法,包括:
[0006]响应于用户对目标订单的订单操作,获取用户信息和订单详细信息;
[0007]根据用户信息和订单详细信息,确定订单操作的目标SpEL表达式;
[0008]利用表达式解析器,对目标SpEL表达式进行解析,以确定订单操作是否被允许;
[0009]若订单操作不被允许,则基于预设操作注解和Spring AOP技术,限制订单操作。
[0010]本申请通过响应于用户对目标订单的订单操作,获取用户信息和订单详细信息,并根据用户信息和订单详细信息,确定订单操作的目标SpEL表达式,以利用SpEL表达式为静态java语言增加动态功能,满足用户自由定义订单操作限制功能的需求;再利用表达式解析器,对目标SpEL表达式进行解析,以确定订单操作是否被允许,若订单操作不被允许,则基于预设操作注解和Spring AOP技术,限制订单操作,从而能够利用Spring提供的注解方式对代码进行动态代理,一次开发即可在后续简单添加注解代码就能实现订单操作限制功能,提高订单操作限制功能的灵活性,减少配置成本和降低维护难度。
[0011]作为优选,响应于用户对目标订单的订单操作,获取用户信息和订单详细信息,包括:
[0012]响应于用户对目标订单的订单操作,获取目标订单的订单标识;
[0013]根据订单标识,向预设数据库查询订单详细信息,以及远程查询用户信息。
[0014]作为优选,预设数据库为MySQL数据,MySQL数据用于数据持久化存储。
[0015]作为优选,根据用户信息和订单详细信息,确定订单操作的目标SpEL表达式,包括:
[0016]将用户信息和订单详细信息传入到预设SpEL表达式,生成目标SpEL表达式。
[0017]作为优选,利用表达式解析器,对目标SpEL表达式进行解析,以确定订单操作是否被允许,包括:
[0018]利用表达式解析器,对SpEL表达式进行解析,得到表达式对象;
[0019]根据表达式对象和目标上下文对象进行求值,得到解析值;
[0020]若解析值为预设值,则判定订单操作不被允许。
[0021]本申请利用表达式解析器实现对订单操作的解析,并基于表达式对象和目标上下文对象,确定订单操作是否被允许,从而能够根据用户和订单内容等等基础信息,对订单操作进行解析,为实现订单操作限制功能的自由定义提供依据。
[0022]作为优选,若订单操作不被允许,则基于预设操作注解,限制订单操作,包括:
[0023]若订单操作不被允许,则利用Spring AOP技术对预设操作注解进行动态代理,以执行预设操作注解的切面方法,切面方法用于限制订单操作。
[0024]本申请通过Spring AOP和操作注解相结合,以能够Spring AOP的动态代理功能,实现任一预设操作注解均可执行相应的切面方法,从而降低代码冗余,减少开发工作量,进而减少功能开发成本和提高功能灵活性。
[0025]第二方面,本申请提供一种订单操作的限制装置,包括:
[0026]获取模块,用于响应于用户对目标订单的订单操作,获取用户信息和订单详细信息;
[0027]确定模块,用于根据用户信息和订单详细信息,确定订单操作的目标SpEL表达式;
[0028]解析模块,用于利用表达式解析器,对目标SpEL表达式进行解析,以确定订单操作是否被允许;
[0029]限制模块,用于若订单操作不被允许,则基于预设操作注解,限制订单操作。
[0030]作为优选,解析模块,包括:
[0031]解析单元,用于利用表达式解析器,对SpEL表达式进行解析,得到表达式对象;
[0032]求值单元,用于根据表达式对象和目标上下文对象进行求值,得到解析值;
[0033]判定单元,用于若解析值为预设值,则判定订单操作不被允许。
[0034]第三方面,本申请提供一种计算机设备,包括处理器和存储器,存储器用于存储计算机程序,计算机程序被处理器执行时实现如第一方面的订单操作的限制方法。
[0035]第四方面,本申请提供一种计算机可读存储介质,其存储有计算机程序,计算机程序被处理器执行时实现如第一方面的订单操作的限制方法。
[0036]需要说明的是,上述第二方面至第四方面的有益效果请参见上述第一方面的相关描述,在此不再赘述。
附图说明
[0037]图1为本申请实施例示出的订单操作的限制方法的流程示意图;
[0038]图2为本申请实施例示出的订单操作的限制装置的结构示意图;
[0039]图3为本申请实施例示出的计算机设备的结构示意图。
具体实施方式
[0040]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041]如相关技术记载,订单操作限制功能主要是基于用户权限添加针对订单操作的配置项实现。但是,随着订单业务快速发展与业务逻辑复杂变化,需要添加的配置项越来越多,使得订单操作限制功能的配置成本增加以及维护困难,从而导致订单操作限制功能的灵活性不足。
[0042]例如,配置项为限制订单取消,则配置步骤包括:在数据库表中增加订单取消配置字段;在订单微服务中,查询出的订单配置中增加订单取消配置字段,所有涉及订单取消的地方,查询订单配置,根据订单取消配置和订单信息结合,判断订单是否允许取消,返回订单取消结果。可见,当前配置方式极为配置过程繁琐,每次需要单独开发配置项,使得系统难以维护,降低了系统灵活性。通过增加字段的方式,只能适用于业务逻辑简单的限制场景,而难以满足业务逻辑复杂的限制场景。
[0043]为此,本申请实施例提供一种订单操作的限制方法,通过响应于用户对目标订单的订单操作,获取用户信息和订单详细信息,并根据所述用户信息和所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种订单操作的限制方法,其特征在于,包括:响应于用户对目标订单的订单操作,获取用户信息和订单详细信息;根据所述用户信息和所述订单详细信息,确定所述订单操作的目标SpEL表达式;利用表达式解析器,对所述目标SpEL表达式进行解析,以确定所述订单操作是否被允许;若所述订单操作不被允许,则基于预设操作注解和Spring AOP技术,限制所述订单操作。2.如权利要求1所述的订单操作的限制方法,其特征在于,所述响应于用户对目标订单的订单操作,获取用户信息和订单详细信息,包括:响应于用户对所述目标订单的订单操作,获取所述目标订单的订单标识;根据所述订单标识,向预设数据库查询所述订单详细信息,以及远程查询所述用户信息。3.如权利要求2所述的订单操作的限制方法,其特征在于,所述预设数据库为MySQL数据,所述MySQL数据用于数据持久化存储。4.如权利要求1所述的订单操作的限制方法,其特征在于,所述根据所述用户信息和所述订单详细信息,确定所述订单操作的目标SpEL表达式,包括:将所述用户信息和所述订单详细信息传入到预设SpEL表达式,生成所述目标SpEL表达式。5.如权利要求1所述的订单操作的限制方法,其特征在于,所述利用表达式解析器,对所述目标SpEL表达式进行解析,以确定所述订单操作是否被允许,包括:利用所述表达式解析器,对所述SpEL表达式进行解析,得到表达式对象;根据所述表达式对象和目标上下文对象进行求值,得到解析值;若所述解析值为预设值,则判定所述订单操作不被允许。6.如权利要求1所述的订单操作的限...

【专利技术属性】
技术研发人员:林少章黄毅伦林晓丹
申请(专利权)人:广州有信科技有限公司
类型:发明
国别省市:

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

1