门店分配场景的动态配置方法、装置和电子装置与流程

文档序号:26996751发布日期:2021-10-19 21:39阅读:166来源:国知局
门店分配场景的动态配置方法、装置和电子装置与流程

1.本技术涉及共享充电技术领域,特别是涉及一种门店分配场景的动态配置方法、装置和电子装置。


背景技术:

2.在共享充电领域的门店分配业务中包含有若干个不同的分配场景,而对于每个分配场景,又对应有若干个不同的分配规则。利用后端技术,能够将门店分配业务中,分配规则的执行逻辑转化为后端执行的代码,从而取代人工校验,实现分配场景的自动化校验。目前对于执行逻辑在后端的代码转化,往往通过硬编码的形式,将分配场景与分配规则的执行逻辑在后端服务器中编写为固定的代码,当其中某个分配规则发生变化时,需要在后端重新对该分配规则所对应的部分进行重新编码,不利于门店分配业务的后续维护和扩展。
3.针对相关技术中,由于硬编码而造成的门店分配业务扩展性低的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种门店分配场景的动态配置方法、装置和电子装置。
5.第一方面,本技术实施例提供了一种门店分配场景的动态配置方法,用于为门店的分配场景配置对应的分配规则,包括:按照策略模式,对所述分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由所述分配场景的第一标识符,和所述分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,所述分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据所述分配请求,从所述nacos服务器中获取与所述目标分配场景对应的映射关系,根据所述映射关系,得到与所述目标分配场景对应的分配规则模板的实例,在根据所述校验规则模板的实例通过各个校验节点的分配校验后,根据所述执行规则模板的实例进行所述目标分配场景的分配;在完成所述目标分配场景的分配后,生成分配完成通知。
6.在其中一个实施例中,在所述分配场景预设有至少两个分配规则时,在所述标识键值对中,所述第一标识符对应至少两个所述第二标识符。
7.在其中一个实施例中,所述标识键值对中还包括所述第二标识符的排列顺序,所述排列顺序对应所述分配规则的执行顺序。
8.在其中一个实施例中,所述在接收到用户针对目标分配场景的分配请求后,根据所述分配请求,从所述nacos服务器中获取与所述目标分配场景对应的映射关系,包括以下步骤:解析所述分配请求,得到请求参数;
根据所述请求参数,从所述nacos服务器中获取与所述目标分配场景对应的所述映射关系。
9.在其中一个实施例中,所述分配规则模板设置于groovy脚本中,所述根据所述映射关系,得到与所述目标分配场景对应的分配规则模板的实例,包括:根据所述映射关系,获取分配规则的groovy脚本;根据所述groovy脚本,获取所述分配规则模板的实例。
10.在其中一个实施例中,所述方法还包括:在接收到所述用户针对目标分配场景的分配请求之前,若对所述用户进行角色权限校验时捕捉到权限校验异常,则将所述权限校验异常封装成提示信息发送给所述用户;在接收到所述用户针对目标分配场景的分配请求之后,若捕捉到所述分配规则模板的实例获取异常,则对所述目标分配场景与所述分配规则模板的映射关系的配置进行降级处理;在基于所述校验规则模板的实例进行分配校验,捕捉到分配校验异常时,将所述分配校验异常封装为对象后,传入产生分配校验异常的校验节点的下一个校验节点,以使所述下一个校验节点针对所述分配校验异常的具体类别执行对应的预设处理机制;在基于执行规则模板的实例进行所述目标分配场景的分配,捕捉到分配执行异常时,根据所述分配执行异常为用户生成异常提示消息,并对分配过程的数据进行回滚。
11.在其中一个实施例中,所述分配场景包括网格分配,后台管理员分配,代理商分配,跨组织架构分配以及延迟分配。
12.第二方面,本技术实施例还提供一种门店分配场景的动态配置装置,用于为门店的分配场景配置对应的分配规则,所述装置包括封装模块、配置模块、获取模块以及通知模块:所述封装模块,用于按照策略模式,对所述分配场景预设的分配规则进行封装后,得到分配规则模板;所述配置模块,用于在应用启动时,获取由所述分配场景的第一标识符,和所述分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,所述分配规则模板包括校验规则模板和执行规则模板;所述获取模块,用于在接收到用户针对目标分配场景的分配请求后,根据所述分配请求,从所述nacos服务器中获取与所述目标分配场景对应的映射关系,根据所述映射关系,得到与所述目标分配场景对应的分配规则模板的实例,在根据所述校验规则模板的实例通过各个校验节点的分配校验后,根据所述执行规则模板的实例进行所述目标分配场景的分配;所述通知模块,用于在完成所述目标分配场景的分配后,生成分配完成通知。
13.第三方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的门店分配场景的动态配置方法。
14.第四方面,本技术实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述门店分配场景的动态配置方法。
15.第五方面,本技术实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述门店分配场景的动态配置方法。
16.上述门店分配场景的动态配置方法、装置和电子装置,按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知;实现了分配规则的动态配置,降低了门店分配业务在后端的执行代码的耦合度,从而提高了门店分配业务的扩展性。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例的门店分配场景的动态配置方法的应用场景图;图2是根据本技术实施例的门店分配场景的动态配置方法的流程图;图3是根据本技术实施例的一种门店分配场景的动态执行分配的方法的流程图;图4是根据本技术实施例的又一种门店分配场景的动态执行分配的流程图;图5是根据本技术实施例的又一种门店分配场景的动态执行分配的方法的时序图;图6a是根据本技术实施例的网格分配场景下的动态配置方法的流程图;图6b是根据本技术实施例的网格分配场景下的相关控制流程图;图7是根据本技术实施例的门店分配场景的动态配置装置的结构示意图;图8是根据本技术实施例的电子装置的结构示意图;图9是根据本技术实施例的计算机设备的结构示意图。
具体实施方式
18.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
20.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以
包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
21.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
22.图1是根据本技术实施例中门店分配场景的动态配置方法的应用场景图,本实施例提供的方法实施例可以应用在图1所示的应用场景中。在图1所示的应用场景中,包括应用服务器102、配置服务器104以及终端106,其中应用服务器102与配置服务器104、终端106均通过网络连接。当应用服务器102启动后,将预先配置的分配场景与分配规则模板的映射关系注册到配置服务器104中。另外,当终端106向应用服务器102发送针对目标分配场景的分配请求后,应用服务器102根据该分配请求,访问配置服务器104以获取与该目标分配场景对应的映射关系,并根据该映射关系,执行与目标分配场景对应的分配规则,并将校验结果返回给终端106。
23.在一个实施例中,图2是根据本技术实施例中门店分配场景的动态配置方法的流程图,以该方法应用于图1中的应用服务器102为例进行说明,包括以下步骤:步骤s210,按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板。
24.具体地,分配场景为实际业务中对资源、权限以及业务数据等业务对象进行分配操作的场景。例如,渠道代理商门店分配、渠道运营商门店分配、员工离职门店自动分配以及离线设备门店延迟分配。不同的分配场景对应不同的分配规则。分配规则模板为该分配场景下,在执行分配之前的若干校验规则和在执行分配时的若干执行规则的抽象,分配规则模板中的内容为分配规则的执行逻辑。例如在门店分配业务中对门店的当前归属人进行分配之前,需要进行若干复杂的人员角色校验和状态信息校验,而为了实现该人员角色校验规则和状态信息校验规则与该当前归属人分配场景的动态配置,可以将针对该当前归属人的分配场景的若干校验规则,在应用服务器中抽象为分配规则模板。
25.进一步地,该分配规则模板可以利用计算机语言实现,例如可以使用java语言,将实际业务中的分配规则封装为可在后台执行的分配规则类,该分配规则类即为分配规则模板,在该分配规则类中,包含编写为方法代码或函数代码的分配规则,通过调用相应的方法
或者函数,执行该分配规则。
26.另外,该分配规则模板可以基于策略模式实现,通过将不同的分配规则封装到不同的分配规则策略类中,该分配规则策略类即为分配规则模板。其中,每一个策略类只对应一种分配规则,并且不同的策略类中的分配规则的执行逻辑不同,从而能够按照处于业务方的终端对于映射关系的配置,而动态地执行相应的分配规则策略类,从而实现分配场景与分配规则配置的灵活性。
27.其中,该策略模式为编程语言中一种可以对算法进行包装的思想,属于编程语言中的一种设计模式,用于在不同的场景中,使对象动态地执行不同的行为。策略模式用于组织不同代码模块之间的依赖及调用关系,以实现对应的业务规则,其中由策略模式进行组织的代码模块是通过开发人员根据实际的应用场景和业务需求预先设计的。策略模式将这组算法封装为编程语言中的类,作为策略类。该策略类可以由代码实现,其中包含了上述预先设计的算法。另外,不同的策略类中包含了不同的执行逻辑,因此可以在封装完成后,通过代码,基于不同的策略类来动态地执行不同的逻辑。进一步地,应用于门店的分配场景的策略模式,具体可以为对执行分配过程的逻辑和业务规则的抽象过程的一种思想。目标分配场景预设的分配规则,由于执行逻辑、作用对象以及处理结果的差异,而在同一分配场景下被划分成不同类别。利用策略模式基于该类别,将不同的分配规则在后台封装为不同的策略类,每个策略类中均只包含一种策略行为,即该分配规则对应的一套执行逻辑,且不同的策略类中所包含的策略行为也即方法各不相同且相互独立,当某一分配规则的执行逻辑被修改时,不会对其他分配规则的执行逻辑造成影响,从而利于后期对分配规则的维护,降低了维护成本。
28.步骤s220,在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板。
29.其中,分配场景与分配规则模板的映射关系,即为实际业务中分配场景与对应的分配规则的对应关系。具体可以预先将该映射关系以标识符键值对的形式写入配置文件中,并在应用启动时,通过应用服务器读取该配置文件中的映射关系,并将该映射关系注册到配置中心,完成分配场景与分配规则模板的对应配置。其中,该配置中心具体可以为nacos服务器。作为一种开源的管理配置的平台,nacos服务器可以用于业务开发过程中信息的配置。nacos服务器能够对应用配置和服务配置进行管理,在配置信息发生变更时无需重新部署应用和服务,从而能够实现对信息的动态配置。在门店的分配场景中,具体可以将封装完成的分配规则模板与对应的分配场景之间的映射关系,作为一种配置信息,注册到nacos服务器中,以实现对分配场景与分配规则模板之间的关联。并且在完成该映射关系的配置后,后续也可以直接在该映射关系中修改分配规则模板的先后顺序、新增或删除某个分配规则模板,来调整该分配场景下分配规则的执行。其中,分配场景的第一标识符为该分配场景的唯一标识信息,具体可以为该分配场景被设置的id(identity document,身份标识)编码或者该分配场景的唯一场景名。同样地,该分配规则模板的第二标识符为该分配规则模板的唯一标识信息,具体可以为该分配规则模板封装后,被设置于应用服务器中的模板名或类名,在策略模式下,该第二标识符即为策略名。该第一标识符和第二标识符均能以字符串的形式被配置于nacos服务器中。
30.具体地,该标识键值对可以被设置于表单或者配置文件中,后续的业务维护中,根据实际业务的调整,通过提交表单或者修改配置文件即能实现对该映射关系的更新,进而调整相应分配规则的执行。并且由于nacos服务器中的配置中心具有自动刷新机制,因此在后续对nacos服务器中映射关系的修改后,可以直接利用该自动刷新机制,实时更新映射关系的配置,而不用通过重新启动该服务器而进行映射关系的更新,从而提高了配置的效率,减少了对部署在该服务器上的其他业务的影响。
31.另外地,由于分配规则模板可以为执行分配之前的若干校验规则,和在执行分配过程中的若干执行规则的抽象,因此分配规则模板可以包括校验规则模板和执行规则模板。例如,校验规则可以包括门店分配场景下的分配流程校验、其他相关互斥流程校验、延迟分配校验、配送订单校验、离线设备校验、流转工单校验、网格归属校验以及分配权限校验等校验规则。执行规则可以包括门店分配场景下的管理员分配策略、审批分配策略、员工离职分配策略、网格分配策略、直营商户团队分配策略、直营运维团队分配策略、公海分配策略、渠道分配策略以及门店流转分配策略等执行规则。可以理解,校验规则模板即对一系列校验规则的执行逻辑的抽象。执行规则模板即一系列执行规则的执行逻辑的抽象。例如,网格分配场景下的校验规则包括:确定分配者与持有者、分配者与接收者之间的关系是否为领导关系的权限校验,确定分配的门店是否在处于延迟分配过程中的延迟分配校验,确定分配的门店是否存在配送订单的配送订单校验,以及确定分配的门店是否存在离线设备的离线设备校验等。通过利用策略模式将上述一系列网格分配场景下的校验规则的执行逻辑进行抽象,即能得到该网格分配场景下的校验规则模板,也即代码中的一个或多个策略类。再例如,网格分配场景下的执行规则可以为将该网格的归属人进行变更的处理逻辑,具体可以包括将网格变更归属人的信息持久化到数据库中,以实现该网格下归属人所能进行的操作权限的变更,并将变更事件生成消息发送给相应的监听端。其中,该监听端可以为对分配事件感兴趣的用户或者组织层级上的相关处理人员所使用的终端。基于策略模式将该执行规则进行封装,即得到网格分配场景下的执行规则模板。
32.以网格分配场景为例,该网格分配场景与其对应的分配规则模板的映射关系为一组一对多的标识符键值对,其中该标识符键值对以网格分配场景的字符串类型的场景名为键,以分配规则模板的字符串类型的模板名为值,具体形式为:"grid":["delaycheck","approvalprocesscheck","deliveryordercheck","gridcheck","allocateprocesscheck","deviceofflinecheck"],当实际业务中需要取消离线设备校验时,只需要将该映射关系中离线设备校验对应的模板名"device offline check"移除即可,该移除操作将会通知应用服务器更新该网格分配场景的分配校验逻辑。
[0033]
该步骤通过将分配场景与分配规则模板的映射关系注册到nacos服务器,能够以降低实现代码的耦合度,并且便于后续业务调整时对该映射关系的维护,从而提高了动态配置的可扩展性。
[0034]
步骤s230,在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配。
[0035]
该分配请求可以由终端向应用服务器发起,用以执行该目标分配场景的分配规
则,且该终端可以为实际业务场景中的业务方,例如门店分配业务中门店负责方或者运营方。其中,目标分配场景可以为当前终端需要进行分配操作的场景,且该分配请求可以为包含有目标分配场景信息的任意一种http请求。应用服务器通过解析该分配请求以确定需要执行分配规则的目标分配场景,并通过访问作为配置中心的nacos服务器,获得该目标分配场景对应的映射关系。可以理解地,该映射关系即能为该目标分配场景确定其所对应的分配规则模板,因此应用服务器能够基于该映射关系,执行对应的分配规则模板中的分配规则。
[0036]
以上述网格分配场景为例,当从分配请求中解析出该网格分配场景的场景名"grid"后,应用服务器根据该场景名"grid",从配置中心中获取该网格分配场景对应的映射关系,也即"grid":["approvalprocesscheck","deliveryordercheck","gridcheck","allocateprocesscheck","deviceofflinecheck"],根据该映射关系,即能确定该目标分配场景所对应的分配规则模板包括"approvalprocesscheck","deliveryordercheck","gridcheck","allocateprocesscheck","deviceofflinecheck"这五种,基于这五种模板名,即能获取并执行对应的分配规则。
[0037]
具体地,该分配规则模板中的分配规则可以是运行于groovy脚本上的groovy代码,应用服务器在根据该映射关系确定该分配场景下的分配规则模板后,对groovy文件进行扫描,从而将相应的groovy文件编译成运行于应用服务器的实例,具体地,该实例可以为java语言中的对象,并且通过调用该对象中相应的分配规则方法,执行该目标分配场景对应的分配规则。另外地,当实际业务发生变更导致某一分配规则的执行逻辑发生变化时,也可以在相应的groovy文件中修改相应的分配规则方法,实现该分配规则模板的更新。
[0038]
在策略模式下,分配场景下的多个分配规则可以被封装为由一组策略组成的策略链路,该策略链路的顺序即为该分配场景下多个分配规则的执行顺序。当应用服务器从配置中心获取到目标分配场景与分配规则模板的映射关系后,即可以从该映射关系中确定该策略链路的顺序,并且按照该顺序依次执行对应的分配规则。进一步地,根据策略链路的顺序依次执行各个校验节点的分配校验后,再根据执行规则模板的实例进行目标分配场景的分配。
[0039]
该步骤通过对分配请求进行解析,以从配置中心中获取与目标分配场景对应的映射关系,并根据该映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配,从而能够基于不同的分配请求来执行相应的分配场景的分配规则,实现分配规则的动态执行,并且相比现有技术中通过在代码中使用条件判断语句来实现分配场景与分配规则的映射,本技术的动态配置和动态执行能够提高分配业务的扩展性。
[0040]
步骤s240,在完成目标分配场景的分配后,生成分配完成通知。
[0041]
具体地,可以在完成目标分配场景的分配后,以短信通知、钉钉通知、邮件通知等方式通知用户分配完成。
[0042]
上述步骤s210至步骤s240中,按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请
求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知;实现了分配规则的动态配置,降低了门店分配业务在后端的执行代码的耦合度,从而提高了门店分配业务的扩展性。
[0043]
进一步地,在一个实施例中,在分配场景预设有至少两个分配规则时,在标识键值对中,第一标识符对应至少两个第二标识符。
[0044]
进一步地,在一个实施例中,标识键值对中还包括第二标识符的排列顺序,排列顺序对应分配规则的执行顺序。
[0045]
其中,在策略模式下,该标识键值对中多个第二标识符的排列顺序对应该策略链路的链路顺序。根据该执行顺序,依次执行相应的分配规则,能够提高分配场景在执行校验规则和分配规则的有序性,维护了业务的稳定。
[0046]
另外地,在一个实施例中,基于上述步骤s230,在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,包括以下步骤:步骤s231,解析分配请求,得到请求参数。
[0047]
具体地,该分配请求中可以包含有若干请求参数,用于为获取该目标场景对应的映射关系,和后续执行分配规则提供数据。该请求参数中可以包含有该目标分配场景的第一标识符,例如该目标分配场景的场景名。
[0048]
步骤s232,根据请求参数,从nacos服务器中获取与目标分配场景对应的映射关系。
[0049]
当应用服务器接收到该分配请求,并解析得到该第一标识符后,从配置中心中查找该第一标识符对应的映射关系,例如与该第一标识符对应的标识键值对,从而能够确定与该目标分配场景所对应的分配规则模板。
[0050]
在一个实施例中,基于上述步骤s231和步骤s232,分配规则模板设置于groovy脚本中,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,还包括以下步骤:步骤s233,根据映射关系,获取分配规则的groovy脚本。
[0051]
其中,groovy是一种动态的代码语言,groovy脚本为由groovy语言编写而成的文件。在本实施例中,groovy脚本中包含了为执行分配规则而设置的代码。具体地,该groovy脚本可以预先与第二标识符绑定,在获取分配请求后,可以基于映射关系中的第二标识符获得。也即,可以根据策略名,扫描groovy脚本所在的文件目录中对应的groovy脚本。
[0052]
步骤s234,根据groovy脚本,获取分配规则模板的实例。
[0053]
将与第二标识符对应的groovy脚本注册到应用服务器中,从而获取与第二标识符对应的分配规则模板的实例,从而能够通过调用该实例中的方法而实现分配规则的执行。也即,在获得与策略名对应的groovy脚本文件后,将该groovy脚本中的内容编译成代码中可执行的类,例如java语言中的spring bean。基于该可执行的类即可以执行对应的分配规则。
[0054]
另外地,在一个实施例中,上述动态配置方法还包括以下步骤:步骤s250,在接收到用户针对目标分配场景的分配请求之前,若对用户进行角色
权限校验时捕捉到权限校验异常,则将权限校验异常封装成提示信息发送给用户。
[0055]
具体地,可以设置异常处理器来捕捉异常信息,该异常处理器可以通过代码中的某种异常处理类实现,例如java中的check类。在该用户不具备对目标分配场景进行分配的权限的情况下,该异常处理器将捕捉到权限校验异常。
[0056]
步骤s260,在接收到用户针对目标分配场景的分配请求之后,若捕捉到分配规则模板的实例获取异常,则对目标分配场景与分配规则模板的映射关系的配置进行降级处理。
[0057]
当对分配规则模板的实例进行获取时,可能会存在由于配置问题或者网络问题而导致的异常,则该异常属于实例获取异常,为了保证业务的正常执行,可以对该异常捕获后进行降级处理,也即从本地读取历史缓存中所配置的映射关系。
[0058]
步骤s270,在基于校验规则模板的实例进行分配校验,捕捉到分配校验异常时,将分配校验异常封装为对象后,传入产生分配校验异常的校验节点的下一个校验节点,以使下一个校验节点针对分配校验异常的具体类别执行对应的预设处理机制。
[0059]
其中,一个分配场景可以对应多个校验规则,该多个校验规则可以组成校验链路,每个校验规则对应一个校验节点。当捕获到校验规则执行异常时,可以将该异常连同校验结果一并封装后,在下一个校验节点进行处理。
[0060]
进一步地,在其中一个校验节点捕捉到分配校验异常时,可以将该分配校验异常封装为对象后,作为参数流经整个校验链路。该校验链路上的校验节点可以获取到上一个校验节点的校验结果和异常信息,并对校验结果和异常信息做针对性处理。
[0061]
另外地,若产生分配校验异常的校验节点不为该校验链路的最后一个校验节点,则可以在捕捉到分配校验异常时,将分配校验异常封装为对象后,传入产生分配校验异常的校验节点的下一个校验节点,以使下一个校验节点针对分配校验异常的具体类别执行对应的预设处理机制;若产生分配校验异常的校验节点为最后一个校验节点,则直接由校验链路输出的校验结果和异常信息,并在执行分配之前,针对分配校验异常的具体类别执行对应的预设处理机制。该预设处理机制可以产生两种结果,一种结果为将分配校验异常封装的对象提交到分配执行过程的异常处理器进行处理,另一种结果为将校验结果生成提示信息发送给用户。
[0062]
步骤s280,在基于执行规则模板的实例进行目标分配场景的分配,捕捉到分配执行异常时,根据分配执行异常为用户生成异常提示消息,并对分配过程的数据进行回滚。
[0063]
当捕获到分配执行异常时,由于该异常将影响到分配场景的具体分配过程,因此可以将该类异常进行记录,并对数据进行回滚,另外还可以为请求发送方返回具体的异常信息。
[0064]
另外地,当完成分配规则的执行后,可以向请求发送方发送通知,提示分配完成,在该通知过程中发生通知异常时,可以针对该类异常进行降级备选处理,例如选用替换的形式进行通知,当邮件通知异常时使用短信通知,当短信通知异常时选用钉钉通知等。若所有通知都异常则直接将该异常信息存入异常日志,并触发异常告警。
[0065]
具体地,在一个实施例中,基于上述步骤,分配场景包括网格分配,后台管理员分配,代理商分配,跨组织架构分配以及延迟分配。
[0066]
其中,网格分配中的网格指的是地图网格,表示地图上的一块区域。该网格具体可
以通过地图软件提供的一些接口或服务,在地图上进行绘制而成。该网格所表示的区域与实际的地理区域对应。该网格下所设置的门店即对应的实际地理区域中的门店。网格分配是指对网格归属人的分配,即将网格归属人由在先确定的归属人甲变更为归属人乙。其中,网格归属人也即该网格所对应的实际地理区域中销售事务进行管理的负责人。在网格分配完成后,网格内的门店归属人也会同步由归属人甲变更为归属人乙。可以理解地,门店归属人也即门店的负责人。
[0067]
另外地,后台管理员分配为在特殊情况下未满足实际业务中一些预设条件的门店的归属人进行变更的分配。例如,在门店a需要进行共享移动电源的货物补充,且门店a的归属人甲因其他原因无法进行处理的情况下,为了使不具备对门店a进行该共享移动电源的货物补充的权限的归属人乙能够临时处理这一事务,可以通过后台的管理员来将门店a分配给归属人乙,以实现共享移动电源的及时补充。后台管理员分配无需对网格和门店之间的权限进行校验,可以作为门店分配场景中一种应急和兜底的解决方案。
[0068]
另外,代理商分配具体为对作为代理商的企业或者个人所签约的门店在代理商团队内部所进行的分配,即将某一门店的归属人丙变更为与该归属人丙处于统一代理商团队的归属人丁。其中代理商为与执行该分配的业务方具有合作关系的企业或个人。跨组织架构分配是指需要根据实际业务需要,对门店在管理层级上进行跨组分配或者跨城市分配。
[0069]
在正常的分配过程中,门店分配的请求提交后,分配校验通过后可以执行分配。但在门店存在离线设备,且该离线设备未在规定时间内恢复成在线设备的情况下,则不执行后续的分配,或者将该门店分配给原门店归属人的上级,这类分配场景即为延迟分配场景。
[0070]
在一个实施例中,如图3所示,提供了一种门店分配场景的动态执行分配的方法,包括以下步骤:步骤s310,识别分配请求中的分配场景;步骤s320,动态获取该分配场景对应的校验策略组;步骤s330,根据校验策略组中的校验策略名获取校验策略实例;步骤s340,根据校验策略实例执行分配校验;步骤s350,执行分配;步骤s360,分配完成后通知用户。
[0071]
另外地,在一个实施例中,如图4所示,提供了又一种门店分配场景的动态执行分配的方法,包括以下步骤:步骤s401,判断分配请求是否匹配当前分配场景,若是,则执行步骤s402,否则,执行步骤s411;步骤s402,判断角色权限和请求参数校验是否通过,若是,则执行步骤s403,否则,执行步骤s411;步骤s403,组装请求参数;步骤s404,从nacos服务器动态配置的校验策略组,若获取失败,则从本地获取静态配置的校验策略组;步骤s405,获取对应的校验策略实例;步骤s406,按照校验策略组链路执行分配校验;步骤s407,判断分配校验是否通过,若是则执行步骤s408,否则执行步骤s411;
步骤s408,执行分配;步骤s409,判断分配是否执行成功,若是则执行步骤s410,否则执行步骤s411;步骤s410,分配完成通知;步骤s411,分配异常处理。
[0072]
另外地,图5是一个实施例中门店分配场景的动态执行分配的方法的时序图,该方法以程序形式运行于后台服务器中,该方法包括:门店分配控制器针对分配请求进行分配场景识别,并在识别后触发门店分配处理类开始分配过程;门店分配处理类针对分配请求和角色权限进行校验,并触发方案选择器解析分配请求;方案选择器对分配请求中的请求参数进行组装,获取执行策略的执行器和执行容器,并触发方案处理器进行分配校验;方案处理器触发校验端执行校验策略,并在分配校验通过后触发执行端执行分配,并在执行分配完成后发送消息通知用户;方案处理器在分配校验失败后进行异常处理,在分配执行失败后进行异常处理。
[0073]
其中,门店分配控制器、门店分配处理类、方案选择器、方案处理器、执行端以及校验端均为由程序构成的代码模块。
[0074]
上述步骤,按照标识键值对中第二标识符的排列顺序依次执行相应的分配规则,从而提高了分配规则执行的有序性;将分配规则模板的执行逻辑设置于groovy脚本中,根据第二标识符扫描groovy脚本,并将相应的groovy脚本封装为分配规则模板的实例,实现了分配规则执行逻辑动态处理和动态修改,并且为分配场景配置对应的异常处理器,在该异常处理器捕获到异常时,根据该异常的类别执行对应的处理,从而提高了业务的稳定性;最后实现了对分配规则的实时修改和更新,实现了分配规则的动态配置,降低了门店分配业务在后端的执行代码的耦合度,从而提高了门店分配业务的扩展性。
[0075]
在一个实施例中,提供了一种网格分配场景下的动态配置过程,如图6a所示,包括如下步骤:步骤s601,基于策略模式,将网格分配场景下的一系列校验规则封装为对应的校验策略类,将网格分配场景下的执行规则封装为对应的执行策略类。
[0076]
其中,校验策略类为上述实施例的校验策略模板,执行策略类为上述实施例的执行策略模板。具体地,将权限校验、延迟校验、配送订单校验、网格校验以及离线设备校验中的校验规则,对应地封装为权限校验策略类、权限校验策略类、延迟校验策略类、配送订单校验策略类、网格校验策略类以及离线设备校验策略类。将网格分配场景下,归属人变更过程对应地封装为网格分配执行策略类。将上述策略类以代码文件的形式保存于由业务人员指定的文件目录下。具体地,将上述策略类中包含的执行逻辑,以groovy脚本形式进行保存。
[0077]
步骤s602,建立该网格分配场景的标识符,与对应的策略类之间的映射关系。
[0078]
即,建立由网格分配场景的场景名和策略类的策略名组成的一对多的标识符键值对。例如,该标识符键值对在配置文件中的形式可以为:{"gridcase":["permissioncheck","delaycheck","deliveryordercheck","gridcheck","
deviceofflinecheck","allocateprocesscheck"]}。
[0079]
步骤s603,将校验规则的代码逻辑与校验规则对应的策略名进行关联,将执行规则的代码逻辑与执行规则对应的策略名进行关联。
[0080]
通过将分配规则与对应的策略名关联,能够便于服务器根据s602中的标识符键值对,为网格分配场景解析到对应的校验策略链路和对应的执行策略链路。
[0081]
步骤s604,将步骤s602中的标识符键值对存储到存储系统,例如mysql、redis或者nacos服务器。优选地,使用nacos服务器存储该标识符键值对。
[0082]
步骤s605,在应用服务器中部署相关控制流程的业务代码,等待用户发起网格分配场景的分配请求。
[0083]
其中,如图6b所示,该业务代码具体控制如下:步骤s605

1,获取由用户发起的针对网格分配场景的分配请求,并解析该分配请求中网格分配场景的相关上下文信息以及场景信息;步骤s605

2,基于场景信息对该网格分配场景进行识别,并进行网格分配场景与相关上下文信息的适配校验,校验通过后执行步骤s605

3,否则提示用户适配校验失败;步骤s605

3,根据网格分配场景的场景名从存储系统获取标识符键值对,并基于该标识符键值对获取对应的一组校验策略类,也即校验规则模板;步骤s605

4,基于该组校验策略类在策略链路中的顺序,扫描groovy脚本所在目录,获取对应的groovy脚本,执行该校验策略类中所包含的校验规则,若校验依次完成,则执行步骤s605

5,否则执行步骤s605

6;步骤s605

5,基于该网格分配场景的执行策略类,获取对应的groovy脚本,执行分配,也即完成将网格内的归属人变更的过程;步骤s605

6,执行异常检测,并在检测到异常后为用户发送提示校验失败的提示信息。
[0084]
在一个实施例中,提供了一种后台管理员分配场景下的动态配置过程,包括如下步骤:步骤s701,基于策略模式,将后台管理员分配场景下的校验规则封装为对应的校验策略类,将后台管理员分配场景下的执行规则封装为对应的执行策略类。
[0085]
具体地,按照策略模式,将后台管理员分配场景下的延迟校验、配送订单校验、分配进程校验封装为校验策略类,并将进行延迟分配的执行规则封装为执行策略类。其中,延迟校验为确定待分配的门店是否处于延迟分配过程中、配送订单校验为确定待分配的门店是否存在处于配送过程的订单、分配进出校验为确定待分配的门店是否处于其他分配进程。
[0086]
步骤s702,建立该后台管理员分配场景的标识符,与对应的策略类之间的映射关系。
[0087]
例如,可以建立后台管理员分配场景的场景名与策略类的策略名组成的一对多的标识符键值对。例如,{"gridcase": ["delaycheck","deliveryordercheck","allocateprocesscheck"]}。
[0088]
步骤s703,将校验规则的代码逻辑与校验规则对应的策略名进行关联,将执行规则的代码逻辑与执行规则对应的策略名进行关联。
[0089]
步骤s704,将步骤s702中的标识符键值对存储到存储系统,例如mysql、redis或者nacos服务器。优选地,使用nacos服务器存储该标识符键值对。
[0090]
步骤s705,在应用服务器中部署相关控制流程的业务代码,等待用户发起网格分配场景的分配请求。
[0091]
其中,该业务代码的控制流程与上述步骤s605

1至s605

6类似,在此不再赘述。
[0092]
本实施例还提供了一种门店分配场景的动态配置装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0093]
基于同一发明构思,如图7所示,本技术实施例还提供了一种门店分配场景的动态配置装置70,包括封装模块72、配置模块74、获取模块76以及通知模块78,其中:封装模块72,用于按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;配置模块74,用于在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;获取模块76,用于在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;通知模块78,用于在完成目标分配场景的分配后,生成分配完成通知。
[0094]
上述门店分配场景的动态配置装置,按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知;实现了分配规则的动态配置,降低了门店分配业务在后端的执行代码的耦合度,从而提高了门店分配业务的扩展性。
[0095]
在一个实施例中,在分配场景预设有至少两个分配规则时,在标识键值对中,第一标识符对应至少两个第二标识符。
[0096]
在一个实施例中,标识键值对中还包括第二标识符的排列顺序,排列顺序对应分配规则的执行顺序。
[0097]
在一个实施例中,获取模块76还用于解析分配请求,得到请求参数,根据请求参数,从nacos服务器中获取与目标分配场景对应的映射关系。
[0098]
在一个实施例中,获取模块76还用于根据映射关系,获取分配规则的groovy脚本,根据groovy脚本,获取分配规则模板的实例。
[0099]
在一个实施例中,动态配置装置70还包括异常处理模块,异常处理模块用于在接
收到用户针对目标分配场景的分配请求之前,若对用户进行角色权限校验时捕捉到权限校验异常,则将权限校验异常封装成提示信息发送给用户;还用于在接收到用户针对目标分配场景的分配请求之后,若捕捉到分配规则模板的实例获取异常,则对目标分配场景与分配规则模板的映射关系的配置进行降级处理;还用于在基于校验规则模板的实例进行分配校验,捕捉到分配校验异常时,将分配校验异常封装为对象后,传入产生分配校验异常的校验节点的下一个校验节点,以使下一个校验节点针对分配校验异常的具体类别执行对应的预设处理机制;还用于在基于执行规则模板的实例进行目标分配场景的分配,捕捉到分配执行异常时,根据分配执行异常为用户生成异常提示消息,并对分配过程的数据进行回滚。
[0100]
在一个实施例中,分配场景包括网格分配,后台管理员分配,代理商分配,跨组织架构分配以及延迟分配。
[0101]
关于门店分配场景的动态配置装置的实施例的具体限定可以参见上文中对于门店分配场景的动态配置方法的限定,在此不再赘述。上述门店分配场景的动态配置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0102]
在一个实施例中,如图8所示,提供了一种电子装置,包括存储器和处理器。存储器中存储有计算机程序,该电子装置的处理器用于提供计算和控制能力。该电子装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。
[0103]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0104]
可选地,在本实施例中,上述处理器执行计算机程序时实现以下步骤:按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知。
[0105]
在一个实施例中,在分配场景预设有至少两个分配规则时,在标识键值对中,第一标识符对应至少两个第二标识符。
[0106]
在一个实施例中,标识键值对中还包括第二标识符的排列顺序,排列顺序对应分配规则的执行顺序。
[0107]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:解析分配请求,得到请求参数;根据请求参数,从nacos服务器中获取与目标分配场景对应的映射关系。
[0108]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据映射关系,获取分配规则的groovy脚本;根据groovy脚本,获取分配规则模板的实例。
[0109]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到用户针对目标分配场景的分配请求之前,若对用户进行角色权限校验时捕捉到权限校验异常,则将权限校验异常封装成提示信息发送给用户;在接收到用户针对目标分配场景的分配请求之后,若捕捉到分配规则模板的实例获取异常,则对目标分配场景与分配规则模板的映射关系的配置进行降级处理;在基于校验规则模板的实例进行分配校验,捕捉到分配校验异常时,将分配校验异常封装为对象后,传入产生分配校验异常的校验节点的下一个校验节点,以使下一个校验节点针对分配校验异常的具体类别执行对应的预设处理机制;在基于执行规则模板的实例进行目标分配场景的分配,捕捉到分配执行异常时,根据分配执行异常为用户生成异常提示消息,并对分配过程的数据进行回滚。
[0110]
在一个实施例中,分配场景包括网格分配,后台管理员分配,代理商分配,跨组织架构分配以及延迟分配。
[0111]
上述电子装置,按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知;实现了分配规则的动态配置,降低了门店分配业务在后端的执行代码的耦合度,从而提高了门店分配业务的扩展性。
[0112]
在一个实施例中,如图9所示,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种门店分配场景的动态配置方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0113]
本领域技术人员可以理解,上述结构仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比上述更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0114]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组
成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知。
[0115]
在一个实施例中,在分配场景预设有至少两个分配规则时,在标识键值对中,第一标识符对应至少两个第二标识符。
[0116]
在一个实施例中,标识键值对中还包括第二标识符的排列顺序,排列顺序对应分配规则的执行顺序。
[0117]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:解析分配请求,得到请求参数;根据请求参数,从nacos服务器中获取与目标分配场景对应的映射关系。
[0118]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据映射关系,获取分配规则的groovy脚本;根据groovy脚本,获取分配规则模板的实例。
[0119]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到用户针对目标分配场景的分配请求之前,若对用户进行角色权限校验时捕捉到权限校验异常,则将权限校验异常封装成提示信息发送给用户;在接收到用户针对目标分配场景的分配请求之后,若捕捉到分配规则模板的实例获取异常,则对目标分配场景与分配规则模板的映射关系的配置进行降级处理;在基于校验规则模板的实例进行分配校验,捕捉到分配校验异常时,将分配校验异常封装为对象后,传入产生分配校验异常的校验节点的下一个校验节点,以使下一个校验节点针对分配校验异常的具体类别执行对应的预设处理机制;在基于执行规则模板的实例进行目标分配场景的分配,捕捉到分配执行异常时,根据分配执行异常为用户生成异常提示消息,并对分配过程的数据进行回滚。
[0120]
在一个实施例中,分配场景用于门店分配,分配场景包括网格分配,后台管理员分配,代理商分配,跨组织架构分配以及延迟分配。
[0121]
上述计算机设备,按照策略模式,对分配场景预设的分配规则进行封装后,得到分配规则模板;在应用启动时,获取由分配场景的第一标识符,和分配规则模板的第二标识符组成的预先配置的标识键值对,作为映射关系,注册到nacos服务器,其中,分配规则模板包括校验规则模板和执行规则模板;在接收到用户针对目标分配场景的分配请求后,根据分配请求,从nacos服务器中获取与目标分配场景对应的映射关系,根据映射关系,得到与目标分配场景对应的分配规则模板的实例,在根据校验规则模板的实例通过各个校验节点的分配校验后,根据执行规则模板的实例进行目标分配场景的分配;在完成目标分配场景的分配后,生成分配完成通知;实现了分配规则的动态配置,降低了门店分配业务在后端的执行代码的耦合度,从而提高了门店分配业务的扩展性。
[0122]
此外,结合上述实施例中提供的动态配置方法,在本实施例中还可以提供一种存
储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种动态配置方法。
[0123]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0124]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0125]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1