现状分析
- 现在分摊策略计算逻辑是放在python里,通过DAG去调用python中的逻辑去执行分摊计算,现由于架构升级的需要,需要把一键分摊逻辑抽到java代码中实现,并提高其复用性.
原型:
设计目标
- 将python中的分摊计算逻辑迁移到java代码中,并支持分摊多灵活的配置(在城市商品模拟任务-执行,会使用该功能)。
名词解释
- 分摊:在门店补货的时候,一般要保证门店商品要有足够量的货,不要出现用户购买商品时出现“缺货”的场景,所以每次在补货的时候会稍微多补一点,保证门店商品的有货率。
- 补货模拟:采销同学在系统上配置补货量,要模拟的城市+门店,系统会真实模拟出该商品的各个门店的补货量,供采销做参考
- 举例:A商品,10个门店需要补货,,采销同学输入一个补货量(比如:800)的值,配置要模拟的城市+门店,然后系统会创建一个模拟任务,去模拟真实的补货场景。系统在执行完模拟任务后,会把各门店补货的结果展示到界面上,给采销同学查看。采销同学根据模拟的结果+采销个人的经验,输出补货的方案。而这个分摊策略计算,就是模拟任务执行中的一环.
需求分析
-
3.1业务需求分析
- 按照上面的原型所示,可以把原型中的逻辑抽象成下面截图所示的模型
-
分摊步骤流程分析:
- 其实可以把整个分摊步骤看成类似于一颗树的结构,比如根节点有两个子节点,如上面截图所示,执行逻辑的时候,从根节点出发,根据"判断条件"选择对应的子节点分支执行,执行完子节点后,再看子节点它有没有子节点,如果有,就再执行子节点的子节点。这个流程就类似于二叉树的前序遍历。
四 概要设计
-
4.1业务流程
-
4.2.功能模块
五 详细设计
-
5.1 模块设计
-
5.1.1前置计算
-
5.1.2分摊步骤流程:
-
5.1.3差值分摊
标签:方案,策略,补货,门店,采销,分摊,节点,模拟 From: https://www.cnblogs.com/lufei-123/p/18549281