单据状态变更方法、装置、存储介质和电子设备制造方法及图纸

技术编号:38210751 阅读:15 留言:0更新日期:2023-07-21 17:02
本申请实施例提供一种单据状态变更的方法、装置、计算机可读存储介质和电子设备。上述单据状态变更的方法包括:通过预设的唯一入口接收领域服务提供的业务动作;其中,唯一入口为对单据实体进行聚合得到的以主单据为聚合根的唯一入口,所述业务动作用于更改单据聚合的状态;通过执行所述业务动作,获取所述业务动作执行后的数据变更对象;其中,数据变更对象包括:待修改的目标状态值和待修改的目标单据的标识信息;根据上述目标单据的标识信息,将上述目标状态值映射到上述目标单据中,使得聚合根对于单据状态有统一的管控能力,避免聚合根因无法感知和控制单据状态而带来的副作用。用。用。

【技术实现步骤摘要】
单据状态变更方法、装置、存储介质和电子设备


[0001]本申请涉及数据处理
,尤其涉及一种单据状态变更的方法、装置、计算机可读存储介质和电子设备。

技术介绍

[0002]在单据模型中经常存在需要对单据状态进行修改的需求,以满足实际的业务要求。相关技术中,为了对单据状态进行修改,采用的方法如下:外部更新服务直接通过原生的getter方法和setter方法更改单据字段,或者将子单的状态修改引用开放到聚合外部,这两种方式相当于单据聚合根均无法感知单据状态的更改,从而存在无法感知和控制的副作用,比如在代码阅读和维护上就会产生不信任感,从而需要更多精力去分析程序的细节行为等。
[0003]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0004]本申请的目的在于提供一种单据状态变更的方法、装置、计算机可读存储介质和电子设备,以使得聚合根可以感知单据状态的更改,从而使得聚合根对于单据状态有统一的管控能力,避免聚合根因无法感知和控制单据状态而带来的副作用。
[0005]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0006]根据本申请的一个方面,提供一种单据状态变更的方法,上述方法包括:通过预设的唯一入口接收领域服务提供的业务动作;其中,所述唯一入口为对单据实体进行聚合得到的以主单据为聚合根的唯一入口,所述业务动作用于更改单据聚合的状态;通过执行所述业务动作,获取所述业务动作执行后的数据变更对象;其中,数据变更对象包括:待修改的目标状态值和待修改的目标单据的标识信息;根据所述目标单据的标识信息,将所述目标状态值映射到所述目标单据中。
[0007]根据本申请的另一个方面,提供一种单据状态变更的装置,该装置包括:接收模块,用于通过预设的唯一入口接收领域服务提供的业务动作;其中,所述唯一入口为对单据实体进行聚合得到的以主单据为聚合根的唯一入口,所述业务动作用于更改单据聚合的状态;执行模块,用于通过执行所述业务动作,获取所述业务动作执行后的数据变更对象;其中,数据变更对象包括:待修改的目标状态值和待修改的目标单据的标识信息;映射模块,用于根据所述目标单据的标识信息,将所述目标状态值映射到所述目标单据中。
[0008]根据本申请的另一个方面,提供一种电子设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述的单据状态变更的方法。
[0009]根据本申请的一个方面,提供一种计算机可读存储介质,上述计算机可读存储介
质中存储有指令,当上述指令在计算机或处理器上运行时,使得上述计算机或处理器执行如上述的单据状态变更的方法。
[0010]根据本申请的另一个方面,提供一种包含指令的计算机程序产品,当上述计算机程序产品在计算机或处理器上运行时,使得上述计算机或处理器执行如上述的单据状态变更的方法。
[0011]本申请的实施例所提供的单据状态变更的方法、单据状态变更的装置、计算机可读存储介质、电子设备和计算机程序产品,具备以下技术效果:
[0012]本申请示例性的实施例提供的方案中,通过预设的唯一入口接收领域服务提供的业务动作,上述唯一入口为对单据实体进行聚合得到的以主单据为聚合根的唯一入口,业务动作用于更改单据聚合的状态。通过执行业务动作,获取业务动作执行后的数据变更对象,该数据变更对象包括:待修改的目标状态值和待修改的目标单据的标识信息,从而根据目标单据的标识信息,将目标状态值映射到目标单据中,从而完成对目标单据的状态修改。由于业务动作均是通过聚合根的唯一入口传入,从而使得聚合根可以通过唯一入口感知到任何的状态变化,让聚合根对单据状态有统一、管控的能力,避免聚合根因无法感知和控制单据状态而带来的副作用。
[0013]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0014]此处的附图被并入申请中并构成本申请的一部分,示出了符合本申请的实施例,并与申请一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本申请一实施例提供的外部更新服务直接通过原生的getter和setter更改单据字段的实现方式的示意图。
[0016]图2为本申请一实施例提供的控制反转的原理示意图。
[0017]图3为本申请一实施例提供的单据状态变更的方法的流程示意图。
[0018]图4为本申请一实施例提供的实现单据状态变更的方法的架构图。
[0019]图5为本申请一实施例提供的通过状态管理器管理单据状态的示意图。
[0020]图6为本申请一实施例提供的以单据聚合根为中心的星状图。
[0021]图7为本申请一实施例提供的单据状态变更的装置示意图。
[0022]图8示意性示出了根据本申请一示例性的实施例中电子设备的结构图。
具体实施方式
[0023]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0024]下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法
的例子。
[0025]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略上述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本申请的各方面变得模糊。
[0026]此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0027]在具有复杂关联的模型中,要保证对象更改的一致性是很困难的,不仅互不关联的对象需要遵守一定的规则,紧密关联的对象也需要遵守一些定规则。过于谨慎锁定机制又本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单据状态变更的方法,其特征在于,所述方法包括:通过预设的唯一入口接收领域服务提供的业务动作;其中,所述唯一入口为对单据实体进行聚合得到的以主单据为聚合根的唯一入口,所述业务动作用于更改单据聚合的状态;通过执行所述业务动作,获取所述业务动作执行后的数据变更对象;其中,数据变更对象包括:待修改的目标状态值和待修改的目标单据的标识信息;根据所述目标单据的标识信息,将所述目标状态值映射到所述目标单据中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述聚合根通过所述唯一入口感知到聚合成员的状态变更时,触发封装至所述聚合根的内部一致性检查逻辑;其中,所述聚合成员包括所述聚合根管理的若干单据实体。3.根据权利要求2所述的方法,其特征在于,在所述触发封装至所述聚合根的内部一致性检查逻辑之后,所述方法还包括:向监听组件发送所述聚合成员的状态变更的通知信息,以供所述监听组件在确定所述通知信息为目标通知信息时,触发所述监听组件内部封装的监听逻辑;其中,所述目标通知信息属于预设的所述监听组件自身需要关注的内容。4.根据权利要求2所述的方法,其特征在于,所述内部一致性检查逻辑被封装至表征所述唯一入口的函数所在的代码段。5.根据权利要求1所述的方法,其特征在于,所述领域服务提供的不同业务动作被封装为不同的Action组件;所述通过预设的唯一入口接收领域服务提供的业务动作,包括:通过预设的唯一入口接收封装有所述不同业务动作的Action组件;所述通过执行所述业务动作,获取所述业务动作执行后的数据变更对象,包括:所述聚合根通过执行接收的所述Action组件中封装的所述业务动作,获取所述业务动作执行后的数据变更对象。6.根据权利要求1所述的方法,其特征在于,所述通过执行所述业务动作,获取所...

【专利技术属性】
技术研发人员:范灿华
申请(专利权)人:拉扎斯网络科技上海有限公司
类型:发明
国别省市:

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

1