DDD-电商平台落地实践
2023-03-21 14:03:15 0 举报
DDD-电商平台落地实践
作者其他创作
大纲/内容
申请退货
结算
服务编号:S0005-3服务名称:支付货款服务描述:用户在进行支付货物押金触发事件:用户点击“支付货款”基本流程: 1. 用户点击“支付”按钮 2. 确认支付 替代流程: 支付失败,处于支付失败状态验收标准:
1. 系统上下文
买家退货
交互分界线
促销上下文
采购人员
取消订单
登录
成为供应商
退货退款服务序列图
发货配送
领取优惠券
采购结算
基本流程:
注册登录
服务编号:S0002-2服务名称:支付订单(实体:订单编号)服务描述:作为平台用户 想完成商品的购买 需要选择订单之后点击“去支付”触发事件:点击“去支付” 按钮基本流程: 1. 校验订单等待付款时间是否过期 2.调用并订阅“订单支付”服务,传递订单编号、订单金额 3.成功付款,订单状态变更为“待发货”替代流程:1. 订单已过期,提示“订单已过期、请重新下单” 验收标准:1. 点击“去支付”调用“订单支付服务” 2. 付款失败,订单状态为“待付款”,付款成功订单状态变更为“待发货” 3.支付成功:支付方式、支付时间显示正确
供货明细
+供货明细id+商品id+商品数量+商品金额
账号服务
售后上下文服务契约-退货申请
订单支付
平台用户查找商品业务服务图
供应商申请咨询
供货收货
申请成为供应商
验收标准:
内部交互分界线
购买商品
支付系统(伴生系统)提供在线支付服务
退货审批
产品所属类别:
促销上下文服务契约-创建优惠券
通过
提交订单
服务编号:S0006-3服务名称:供应商查询收款信息服务描述:作为供应商, 我想要根据查询收款信息, 以便统计收入触发事件:供应商点击”查询收款信息“按钮基本流程: 1. 查询收款信息 2. 统计收款笔数和总金额 3. 4. 5. 6. 替代流程: 1. 查询收款信息失败,返回原因验收标准: 1. 收款信息完整且准确 2. 3.
促销上下文服务规约-创建优惠券
采购
支付系统
服务功能
功能描述
服务方法
生产者(系统上下文)
消费者
模式
业务服务
服务操作类型
支付订单
针对待付款的订单进行付款
订单上下文
UI
命令
检查订单时间
校验订单等待付款时间是否过期
查询
订阅“订单支付”
传递订单编号、订单金额、调用并订阅“订单支付”服务
支付上下文
修改订单状态
根据支付成功状态,修改订单的信息
核减库存
商品支付成功,取消库存占用,减少商品库存
库存上下文
平台用户
不通过
产品名称:
订单
+ 订单id+ 订单明细+ 配送地址+ 订单金额+ 订单状态+ 用户id
+ 查询订单商品和数量+ 查询订单金额+ 查询订单状态
促销
聚合
服务编号:S0005-2服务名称:创建补货单服务描述:查找库存中货物量不足的货物,创建补货单触发事件:库存中余量不足的货物,用户点击\"确认补货\"基本流程: 1. 用户点击“查看补货”按钮,查看补货信息 2. 用户点击\"确认补货\" 替代流程: 验收标准:
收款
点击“创建商品”按钮
服务编号:S0004-2服务名称:商品出库服务描述:平台运营人员根据商品的订单以及物流状况减少对应商品的库存触发事件:监控商品的订单信息和物流状态基本流程: 1. 监控到某一商品的订单状态是否为“待付款” 1-1. 将该商品的库存进行锁定,锁定数量为商品下订单的数量。 2. 监控到某一商品的物流状态是否为“已发货” 2-1. 将该商品的库存进行减少,减少库存量为商品发货的数量。替代流程: 1. 监控到某一商品的订单状态已取消 2. 将该商品的库存进行解锁,锁定数量为商品取消订单的数量。验收标准: 1. 商品锁定的库存数量必须>0。 2. 商品库存量减少为0 时,商品下架。
物流系统
库存系统(伴生系统)提供货物仓储管理
创建供货合同
1. 检查商品信息是否完整2. 商品创建完成,商品状态已创建
S0001-2
售后上下文
供货收款
采购人
签订供货合同
创建采购单
查看商品信息
审批申请
审批供应商申请
触发事件:
促销上下文服务规约-使用优惠券
采购上下文
用户管理(通用域)
购物平台
作为运营人员想要上架商品以便用户及时购买商品
用户系统
查找商品
创建商品
1. 平台用户2. 品牌厂商
退货配送
结束
创建合同
退款支付
查询供货单
供应商查询供货单
供货上下文
供应商签订供货合同
供应商发货
供应商发出货物
查询供货收款
供应商查询供货收款信息
查询供货收款信息
商品上下文服务规约-查看商品详情
使用优惠券
注册用户
运营人员
1. 商品数据不完整,提示原因。
库存系统
采购上下文服务规约-支付货款
客户
物流
下架商品
商品
+ 商品id+ 商品名称+ 商品描述+ 商品功能+ 商品参数+ 商品金额+ 商品状态
+ 查询商品状态+ 创建商品+ 商品上架+ 商品下架
利益相关者
后台员工
创建供货单
退货入库
优惠券
+优惠券种类id+优惠券名称+优惠券规则+优惠券金额+优惠券明细+优惠券有效期
+查询优惠券有效期
商品(核心域)
收货
点击“搜索按钮”按钮
1. 检查商品搜索内容有效性2. 检查搜索结果数据完整性
服务名称:
服务功能描述
检查商品详情完整性
商品详情数据是否完整
商品上下文
查看商品详情
1. 商品上架之后,状态为已上架2. 商品上架之后,平台用户可以看到商品3. 商品上架以后,平台用户可以下订单4. 商品库存为零时,自动下架商品。
供应商
1. 检查商品详细信息完整性
受益者
订单完成
前台员工
支付
点击“上架商品”按钮
二、业务需求分析
获取供货单
商品上下文服务规约-上架商品
上架商品
DDD落地实践-B2C电商平台
库存
作为运营人员想要下架商品避免用户买到有问题商品
点击“商品列表”
退款
售后上下文服务规约-退货申请
点击“下架商品”按钮
商品出库
阐释产品能够带来的关键价值(购买理由):
仓库
购物平台的系统上下文
商品发货
服务编号:S0003-2服务名称:领取优惠券服务描述:用户领取优惠券触发事件:用户点击“领取优惠券” 按钮基本流程:1. 用户在指定商品详情页点击“领取优惠券”按钮 2. 查询该类商品下的优惠券剩余数量 3. 若数量>0则显示“优惠券领取成功”替代流程:1. 若优惠券剩余数量=0则触发“领取优惠券”按钮为灰色,用户点击无效,并提示“优惠券已领完”验收标准:1. 在指定商品类目下,用户可正常领取优惠券 2. 当发放的优惠券领取数量达到上限时,用户领取优惠券时提示“优惠券已领完” 3. 优惠券领取成功之后可正常在结算页面抵扣
1. 利益相关者
S0001-1
用户付款时使用优惠券进行抵扣
查询优惠券领取库
在优惠券领取库中查询是否存在对应用户id
查询用户
1. 供应商2. 平台用户3. 物流公司
S0001-3
用户在线实现轻松购物,商品送货上门,支持7天无理由退货。
下单
退货发货
仓库上下文服务规约-退货入库
创建优惠券
聚合根:订单实体:订单值对象:订单明细、配送地址、订单金额、订单状态
供货
1. 商品下架之后,状态为已下架2. 商品下架之后,平台用户无法查找商品3. 商品下架以后,平台用户无法下订单
平台用户购买商品业务服务图
服务编号:S0002-3服务名称:取消订单服务描述:作为平台用户 不想购买商品了 需要选择订单之后点击“取消订单”触发事件:点击“取消订单” 按钮基本流程: 1..解除商品库存的占用 2.校验订单状态是否为“待付款”替代流程:1. 订单已经付款,提示“订单已付款,取消失败” 验收标准:1. 订单状态变更为“已取消” 2. 点击订单有删除、再次购买的按钮。
物流(支撑域)
订单上下文服务契约-支付订单
采购合同
+合同id+合同名称+合同明细+采购数量+采购金额+供应商id+合同日期
+查询合同信息
服务编号:S0003-1服务名称:创建优惠券服务描述:平台运营人员 为提升商品销量 策划活动对部分商品创建优惠券触发事件:点击“创建优惠券” 按钮基本流程:1. 运营人员创建优惠券使用规则:对指定品类商品创建优惠券,并设定数量及时间范围等 2. 检查指定商品是否选中 3. 检查是否设定优惠券数量 4. 检查是否设定优惠券使用时间范围替代流程:1. 若指定商品未被选中,提示“请选择优惠券对应商品” 2. 若优惠券数量未设定,提示“请设置优惠券数量” 3. 若优惠券使用时间未设定,提示“请设置优惠券使用时间”验收标准:1. 优惠券额度及使用规则准确无误的显示在指定商品类目下 2. 每类商品下的优惠券发放数量无误 3. 优惠活动时间设置无误 4. 用户可正常领取优惠券并进行结算
用户提交采购计划后创建采购单
补货单
提交补货单
仓库上下文
补货
支付货款
支付货物押金与尾款
补货商品查询
查找补货商品的相关信息
补货信息查询
内部支持者
服务编号:
3. 系统范围
服务编号:S0005-1服务名称:创建采购单服务描述:库管人员发起采购任务,填写需采购商品以及相应信息触发事件:用户点击“创建采购单”基本流程: 1. 用户填写采购单 2. 用户点击“提交采购单”按钮 3. 确认采购计划 替代流程: 验收标准:
服务编号:S0006-1服务名称:获取供应单服务描述:作为供应商, 我想要查询供应单, 以便准备需要供应的商品触发事件:供应商点击”查询供应单“按钮基本流程: 1. 查询供应单 2. 3. 4. 5. 6. 替代流程: 1. 查询供应单失败,返回原因验收标准: 1. 查看供应商供应单数量是否准确 2. 3. 4.
取消已经提交的订单
检查订单是否为“待付款”,修改为“已取消”
解除库存占用
占用订单所选择的商品库存
提供供货合同
供货上下文服务规约-供应商签订供货合同
退货收货
1. 商品信息不完整,提示缺失信息2. 商品未创建成功,提示失败原因
商品出库(打包)
供货入库
商品上下文服务契约-查找商品
签订合同
供货服务蓝图
获取供应单
浏览商品
售后上下文服务规约-退货审批
购买商品服务序列图
平台
供货上下文服务规约-供应商发货
订单上下文服务契约-提交订单
新用户
买家收货
聚合根:优惠券种类id实体:优惠券种类id、优惠券id值对象:优惠券名称、数量、金额、规则、有效期
服务编号:S0004-3服务名称:商品退货入库服务描述:平台运营人员根据商品的退货信息和退货物流状态增加对应商品的库存触发事件:接收到商品的退货信息和退货物流状态基本流程: 1. 接收到商品的状态为“退货” 2. 监控该商品的退货物流状态 3. 商品的退货物流状态为“仓库已签收” 4. 该商品的库存量增加,增加数量为退货单的商品数量。替代流程: 1. 在增加商品库存量时,查询商品是否存在。 2. 若商品不存在,提示“商品已不存在,请联系管理人员”验收标准: 1. 商品的退货物流必须签收成功。 2. 商品必须存在。
商品管理
公司采购商品,保证商品质量,平台无假货。
上架库存里的货物
检查库存
检查待上架商品是否有库存
检查商品信息完整性
检查商品信息是否完整
采购上下文服务规约-创建补货单
作为平台用户想要查找商品方便购买目标商品
服务描述:
服务编号:S0006-3服务名称:供应商发货服务描述:作为供应商, 我想要根据供应单要求发货, 以便供货触发事件:供应商点击”完成供货“按钮基本流程: 1. 查询供货单 2. 点击完成供货 3. 供货单显示已发货 4. 5. 6. 替代流程: 1. 查询供货合同失败,返回原因 2. 完成供货,返回原因验收标准: 1. 供货合同数据信息完整且准确 2. 完成供货后供货单是否显示已发货 3.
退货退款
创建退货单
用户提交退货后创建退货单
退货上下文
商品退货要求
查询商品退换货要求
退货申请
退货消息订阅
通知订阅系统生成退换货单
通用上下文
MQ消息管道
实体:商品值对象:商品库存量、商品有效期、入库时间、出库时间、商品状态
供货合同
+合同id+合同名称+供货明细+供货数量+供货金额+供应商id+供货日期
+ 查询合同信息
注册
可见性分界线
提供商品
支持者
出库(打包)
商品配送
平台用户退货业务服务图
供货业务服务图
优惠券明细
+优惠券id+用户id+优惠券状态(使用)
仓库(核心域)
作为运营人员想要创建商品以便采购人员购买商品
聚合根:采购合同实体:采购合同、合同明细值对象:合同名称、合同明细、采购数量、采购金额、供应商id、采购日期
服务编号:S0003-3服务名称:使用优惠券服务描述:用户使用优惠券进行结算触发事件:用户点击“付款”基本流程:1. 查询优惠券领取库中是否存有该用户id 2. 若有该用户id,则使用优惠券进行抵扣替代流程:1. 若用户账户没有符合要求的优惠券,则不进行抵扣 验收标准:1. 在指定商品类目下,优惠券领取库中若有对应的用户id,付款时可正常使用优惠券抵扣
采购单
发货
运营人员服务蓝图
商品上下文服务规约-查找商品
S0001-5
注册登录业务服务图
采购(核心域)
商品上下文服务契约-查看商品详情
货物打包
合同聚合
电商平台用例图
实体:商品值对象:商品名称、商品描述、商品参数、商品功能、商品金额
仓库上下文服务规约-供货入库
用户
提交已选择商品的订单
检查是否上架
检查订单中商品是否上架
占用库存
检查收货地址
检查收货地址是否完整
减少该用户优惠券的数量
供货物流
4. 业务服务图
三、架构映射
描述目标客户的需求和机会:
配送
采购验货
电商平台业务流程图
替代流程:
签合同
商品上架
B2C电商平台
采购供货服务序列图
支付(支撑域)
5. 服务序列图
一、价值需求分析
2. 业务序列图
采购货物
订单上下文服务规约-支付订单
3. 子领域映射图
物流上下文
供货上下文服务规约-供应商查询供应单
仓库上下文服务契约-商品出库
售后
采购商品业务服务图
仓库上下文服务规约-商品出库
采购入库
商品入库
货物状态
1. 如果商品没有库存,提示“库存为空,无法上架”2. 如果商品信息不完整,提示“商品必填字段缺失,无法上架”3. 如果商品上架失败,提示失败原因。
采购收货
服务编号:S0004-1服务名称:供货入库服务描述:平台运营人员根据采购人员的采购商品单据或平台要求对相应的商品增加库存触发事件:span style=\"font-size: inherit;\
供货上下文服务规约-查询收款信息
售后上下文服务契约-退货审批
采购收货
供应商审批
锁定库存
用户便捷购物的B2C电商平台
订单上下文服务规约-取消订单
商品上下文服务契约-上架商品
采购供货
1. 检查商品详情页数据完整性。
入库
用户购买商品的业务序列图
用户可在指定商品详情页领取优惠券
查询优惠券数量
在库中查询优惠券剩余数量
查询优惠券
服务编号
减少商品库存
减少商品的库存量
后台
减少库存
S0004-2
检查商品订单状态
检查商品的订单状态是否为“待付款”
检查商品的订单状态是否为“已取消”
解锁库存
检查商品的物流状态
检查商品的物流状态是否为“已发货”
1. 下架失败,提示失败原因
填写申请
+退货单+退货时间+商品id+商品数量+订单金额+退货地址
+查询退货商品数量+查询退货地址
配送商品
采购明细
+明细id+商品id+商品数量+商品金额
1. 商品必填信息完整2. 商品创建完成,商品状态威已创建
订单(核心域)
供货结算
售后(核心域)
采购供应系统(伴生系统)提供供应商货物管理
用户收货
检验搜索内容有效性
搜索目标商品
检查商品列表完整性
搜索结果列表
货物管理
物流系统(伴生系统)提供货物配送服务
+采购单id+采购单名称+采购明细+采购数量+采购金额+采购日期
+查询采购商品信息
服务编号:S0006-2服务名称:签订供货合同服务描述:作为供应商, 我想要签订供货合同, 以便供应商品触发事件:供应商点击”签订供货合同“按钮基本流程: 1. 查询供货合同 2. 点击签订 3. 输入身份验证信息 4. 确认签订 5. 合同签订生效 6. 替代流程: 1. 查询供货合同失败,返回原因 2. 供货合同签订失败,返回原因验收标准: 1. 供货合同数据信息完整且准确 2. 签订后供货合同是否生效 3.
商品清单
审批供货商
1. 业务流程图
2. 服务蓝图
创建新商品
检查商品录入信息是否完整
+商品id+商品库存量+商品有效期+入库时间+出库时间+商品状态
+ 查询库存量+ 锁定库存+ 释放库存
供应货物
审批商品
4. 业务服务规约&服务契约表
平台用户购买商品服务蓝图
付款
采购支付
S0001-4
服务编号:S0002-1服务名称:提交订单(实体:订单编号)服务描述:作为平台用户 想完成商品的购买 需要选择商品之后“提交订单”触发事件:点击“提交订单” 按钮基本流程: 1. 校验商品是否上架 2.占用商品库存 3. 校验收货地址是否完整 4.校验优惠券是否过期,并使用替代流程:1. 选择商品已下架,或库存不足,提示“商品已下架或库存不足,订单提交失败” 2. 所选择优惠券已过期,提示“优惠券已过期,请重新选择” 3. 收货地址不完整,提示“收获地址不完整,请选择” 验收标准:1. 订单提交后,订单状态变更为“待付款” 2. 被下单的商品库存数量减少 3. 订单中商品的种类、数量、金额与提交前一致 4. 订单的配送地址、配送时间、下单时间与提交订单前所选择一致
商品上下文服务规约-下架商品
退货
合同明细
+合同明细id+商品id+商品数量+商品金额
1. 检查商品是否有库存2. 检查商品上架必填字段是否完整3. 上架商品,商品状态变为已上架4. 库存为0时,商品自动下架
仓库上下文服务契约-供货入库
提交申请
6. 实体&值对象&聚合
促销上下文服务契约-使用优惠券
订单明细
+ 明细id+ 商品id+ 商品数量+ 商品金额+ 优惠券id
聚合根:采购单实体:采购单、采购明细值对象:采购合同名称、采购明细、采购数量、采购金额、采购日期
签收
商品上下文服务契约-下架商品
采购上下文服务规约-创建采购单
1. 检查搜索内容是否有效2. 搜索内容是否生效3. 搜索完成,展示商品列表页。4. 搜索失败,提示搜索原因。
服务编号:S0007-1服务名称:退货申请服务描述:用户针对商品进行退货触发事件:用户点击“退货”按钮基本流程: 1. 选定退货的商品 2. 填写退货信息 3. 用户点击退货按钮 4. 查询商品退货要求 5. 创建退货单 6. 生成退货消息订阅替代流程: 1. 创建退货单失败,返回原因验收标准: 1. 创建退货单,审核状态处于待审核 2. 符合商品退货要求 3. 每个商品只能生成一次退货单 4. 正确生成消息订阅
1. 下架商品,商品状态变为已下架
增加商品库存
增加商品的库存量
增加库存
S0004-3
接收商品状态
接收商品的状态为“退货”
接收
检查商品的退货物流状态为“仓库已签收”
检查商品是否存在
查询商品是否存在
促销(核心域)
供货上下文服务契约-供应商查询供应单
服务契约
用户行为提交订单
支持行为
实体:退货单值对象:退货时间、退货地址
让购物更简单,去掉中间环节,降低货物流通成本,返利消费者和厂家
采购聚合
2. 系统愿景
采购服务蓝图
服务编号:S0007-2服务名称:退货审批服务描述:运营人员针对退货商品的审批触发事件:运营人员点击“退货审批\"基本流程: 1. 查询退货单信息 2. 修改退货单审批状态 3. 生成已退货消息订阅替代流程:1. 审批失败,返回失败原因 验收标准:1. 退货单状态变更为已审批 2. 正确生成消息订阅
创建采购合同
与竞品的不同之处:
提交供应商申请材料
1. 搜索内容无效,提示“搜索内容无效”2. 搜索失败,提示失败原因3. 商品列表展示失败,提示失败原因
3. 用例图
供货发货
为促销活动创建对应优惠券
商品上下文服务规约-创建商品
下架购物平台上的商品
促销上下文服务契约-领取优惠券
订单上下文服务规约-提交订单
3. 限界上下文
商品上下文服务契约-创建商品
电商平台(目标系统)提供在线购物服务
更新商品库存
增加或减少商品的库存量
更新库存
S0004-1
检查商品
检查必填字段完整性
检查货物必填字段是否完整
采购上下文服务契约
审批退货单
运营人员审批退货单
查询退货单
查询当前退货单信息
已退货消息订阅
通知订阅系统生成已退换货单
仓库上下文服务契约-退货入库
订单上下文服务契约-取消订单
促销上下文服务规约-领取优惠券
申请供应商服务蓝图
作为平台用户想要了解商品详情确认商品是否满足需求
实体:供货合同、供货明细值对象:合同名称、供货明细、供货数量、供货金额、供应商id、供货日期
收藏
0 条评论
回复 删除
下一页