业务中台类图
2023-05-09 14:53:02 0 举报
业务中台类图
作者其他创作
大纲/内容
ProductManagerService
Express
OrderService:1. 只是数据同步,除扣减库存和拆单,保留发货简单的订单功能,不关注业务系统逻辑2. 在pay中扣减库存,库存不足则通知业务系统退款。异步创建第三方订单,失败则通知业务系统退款3.订单接口都需要传systemId,方便后面拓展
LocalRefund
福利系统
Factory
LocalOrderDetail
ExpressFreightTpl
LocalLifeShopService
ProductCategoryInfo
ContractOrderClearingService
PurchaseDetail
- purchaseId- orderDetailId : String- deliveryId : String
BaseProduct
......
ProductCategory
OrderClearingService
ProductSku(商品规格)
- id : String- productId : String- skuNo : String - skuStr : String- cost : double 基础成本价- price : double 基础销售价- originalPrice : 基础划线价- total : int 库存- warning : int 库存预警- weight : double 重量- delStatus : int 逻辑删除- package : int 包装数量, 用于财务计算- preSupplierId : 预设供货商
LocalLifeShop
LocalOrderClearingDetail
Product
- id : String- titile : String- status : int
OrderLog
- id : String- orderId : 订单id- orderType: int- buzId : 业务系统订单id- what : String
ContractOrderDetail
Order
ExpressOrderService需要优化
FtyLogin
LocalLifeShopAssistantService
BaseProductInventory
preSupplierId字段不是实际供货商,只针对一品多商的商品,SCRM创建采购单时需要,不参与订单业务
qsys-company-order
OrderMessageConsumer
+ handleOrderMessage()+ handleSupplierRelate()+ handleDeliverSplit()
NormalRefund
通过供货商platFrom判断第三方平台,不再写死ID
CompanyOrder
- parentId : String
ProductThird
RefundRecord
AbstractOrderResourcesServiceImpl
ProductAttribute
OrderShangtongBiz
+ createOrder()+ refund()
base-order
OrderClearingLocal
ProductShangdongService
+ handleProduct()
LocalRefundService(后期)
ExpressCityFreightTplDetail
ProductSkuSupplier
- id : String- skuId : String- supplierId : 供货商- cost : double 成本价- delStatus : int 逻辑删除
ProductMessageConsumer
LocalLifeShopAssistant
fl-virtual-product
ProductTagSetInfo
ProductService
+ reduceSku()+ resumeSku()+addSupplierSku(span style=\
FtyTimeSetting
OrderDeliveryDetail
- id : String- orderType: int- orderId : Stringspan style=\
OrderDetail
VirtualProductManagerService
ContractOrderResourcesService
+ lockResource()+ releaseResource()+ handleExpress()
ThirdCategory
ContractRefund
新抽取一个base-all
CompanyOrderService
+ split()
Purchase
- id : String- supplierId : String- sourceOrderId : 源头订单id- orderType: int- orderId : String (拆单回填)- buzId : String (拆单回填)- deliveryId : String- status : int
虚拟商品、普通商品 分开处理本地生活订单也独立一个模块
ProductSkuAttribute
CompanyOrderClearingDetail
LocalOrderClearingService
ProductAuditLog
Brand
采购单发货时,需要同步供货商sku数据
ProductDescription
OrderThird
- id : String- orderId : String- thirdId : 第三方订单id
- id : String- buzId : String- systemId : String
VirtualOrder
- chargeAccount : String
CompanyRefund
ProductSku
- cost : double - price : double - originalPrice : double
VirtualOrderService
SystemService
+ create()+ update()
OrderMessageProducer
+ sendOrderMessage()+ sendPayOspan style=\
业务系统不需要同步采购单,在订单发货那里页面加载接可以,根据采购单发货回填给中台再拆单
OrderSplitLog
- id : String- oldId : String- newIds : String
qsys-contract-product
LocalOrderNoticeService
ExpressCompany
AbstrsctRefundService
+ create()+ updateStatus()
- id : String- orderType: int- oldId : Stringspan style=\
BaseProductSku
ProductLimit
ExpressCityFreightTpl
Base模块
ExpressOrder
PurchaseCreateVo
- orderId : String- orderType: int- purchases : List<Purchase>- split : Boolean
ExpressOrderController
ProductTagSetService
- type : int- middleId : 中台订单id- delStatus : int 逻辑删除- parentId : String
OrderClearingDetail(可能先不做)
- id : String- orderClearingId : String- orderType: int- buzId : String
LocalRefundRecord
RefundReason
RefundMessageProducer
VirtualOrderClearing
LocalLifeShopController
拆单前:一个订单可能会拆分成多个采购单拆单后:根据采购单拆单,一个采购单拆分一个订单API客户订单没有采购单
VirtualOrderDetail
ProductSkuThird
- id : String- skuId : String- platform: int- thirdId : String- samplingNum : int
ContractOrderSplitLog
RefundReasonService
VirtualOrderClearingDetail
VirtualOrderClearingService
OrderClearing(可能先不做)
- id : String- buzId : String- systemId : String
NormalOrder
- expectedTimeStart - expectedTimeEnd- offline : 是集采订单
BaseRefund
- id : String- ......- buzId : String- systemId : String
ProductEnvProtection
OrderClearingService(可能先不做)
LocalOrderNotice
VirtualRefund
NormalRefundService
ProductTagSet
- id : String- productId : String- ......
- cost : double - price : double - originalPrice : double
LocalOrderService
ProductPicture
- pictures : String
ProductCategoryService
FtyTimeSettingService
+ handleOrderMessage()
AbstrsctOrderService
+ create()+ pay()+ delivery() 仅限供货商确认订单+ partDelivery() span style=\
OrderResourcesService
+ lockResource()+ releaseResource()
ProductPriceLog
fl-virtual-order
OrderType
qsys-product
VirtualProductService
- id : String- type: int- secondType: 二级类型 - delStatus : int 逻辑删除- businessType : int 1:一品一商,2:一品多商- ......
System
CompanyOrderResourcesService
OrderJdBiz
+ lockResource()+ releaseResource()+ handleExpress()
FrontedProduct
售后也想重新整理
ExpressOrderService
Order需要重构:1. 兼容下单无供货商的情况2. 支持发货前的拆单3. 订单状态(标准化)4. 订单类型(标准化)
PurchaseBiz
+ setOderId()+ delivery()+ partDelivery()
ProductSaving
OrderController
PurchaseService
+ create(PurchaseCreateVo vo)+ list()
lockResource()、releaseResource() 不需要再关注库存,由中台去扣减
BaseOrder
- id : String- supplierId : String- buzId : 业务系统订单id- systemId : String- chancelId : String 订单渠道- buzType : 业务系统订单类型(冗余)- data : <T>- parentId : String- delStatus : int- ......
VirtualRefundRecord
虚拟商品,原本一个第三方sku一个商品的结构需要重构整合到fl-product不需要独立一个模块
企业购
ContractOrder
VirtualRefundService
OrderSplitVo
- oldId : String- orders : List<Order>
fl-order
- platform : int 第三方平台
NormalRefundRecord
ProductLog
ProductMessageProducer
+ sendProductInfoUpdate()+ sendProductSkuUpdate()+ sendAttributeUpdate()
RefundService(后期)
- id : String- name : String- host : String- appId : String
ProductController
- id : String- orderId : String- platform : 第三方平台- orderType: int- buzId : 业务系统订单id- thirdId : 第三方订单id- systemId : String
AbstractOrderServiceImpl
ExpressCityFreightTplService
ContractOrderService
+ split()
Refund
BaseOrderDetail
- skuId : String- package : int 包装数量,用于财务计算- ...
BrandService
OrderClearingLocalService
CompanyRefundDetail
OrderDingdongBiz
ProductDindongService
fl-local-order
LocalOrderClearing
OrderClearingController
Channel
- id : String- name : String- systemId : String
第三方订单在中台创建,通过消息异步处理
1. 只同步数据,业务操作都在业务系统中完成2. 各业务系统售后流程保持统一
CompanyRefundService
业务中台
ContractOrderClearingDetail
LocalRefundService
ThirdBrand
ContractRefundDetail
VirualInventory(后期)
- id : String- ispan style=\
RefundThird
- id : String- refundId : String- orderType: int- platform : 第三方平台- thirdId : 第三方订单id- data : <T>
结算数据在业务系统创建,中台同步数据,如果需要可进行汇总处理
OrderClearing
ExpressCompanyService
1. skuStr + supplierId逻辑唯一,同步第三方商品时以skuStr为唯一标识而不是id,对方是一个skuId,但我们是两个sku,只是逻辑删除一个。如若skuStr已存在则覆盖第三方skuId。2. 同步第三方商品,第三方spuId保存在Product.productNo,skuId保存在ProductSku.skuNo,第三方商品供货商是固定的
OrderFengBiz
Repository(后期)
- id : String- name : String
ChannelService
OrderThirdBiz
ProductJindongService
+ handlePayOrder()+ handlePurchaseDeliveryspan style=\
fl-product
同步SCRM创建的采购单,待业务系统或供货商发货之后,根据采购单进行拆单,再同步给业务系统
CompanyOrderClearingService
NormalOrderDetail
VirutalProduct
- flTitile : String- status : int
OrderService
+ deliverSplit(OrderSplitVo)+ relateSuppiler()
VirtualProductMessageConsumer
FactoryApiService
NormalOrderService
Category
FrontedProductService
CompanyOrderSplitLog
ContractRefundService
base-product
Product需要重构:1. 商品数据结构、商品供货商选填
CategoryService
管理商品基本数据,成本价以中台为准,销售价划线价仅供业务系统参考,业务系统自己控制上下架
CompanyOrderClearing
OrderStatus
LocalOrder
BaseRefundRecord
- id : String- refundId : String- buzId : String
qsys-contract-order
ExpressFreightTplService
本地生活供应商管理系统
ProductInventory(后期)
- id : String- skuId : String- stock : int 实际库存- repositoryId : String(后期)
OrderClearingDetail
VirtualRefundService(后期)
ContractOrderClearing
CompanyOrderDetail
- localShopId : String- code : String- pickedPerson : String- pickedPhone : String- expectedTimeStart - expectedTimeEnd
0 条评论
下一页