wangchuanjin vor 3 Jahren
Commit
d9976df84e

+ 398 - 0
README.md

@@ -0,0 +1,398 @@
+# 一、项目目的
+
+统一商品标准化,包括:商品定义(维护)、商品分类管理、下单支付、权限(资源)管理。同时兼顾toC、toB用户需求。
+
+# 二、概念设计
+
+- 商品分类 
+    - 标准统一分类   
+    行业、大类、小类
+    - 商家私有商品分类(第三方市场)  
+    自定义商品分类,可用户商户自己管理,以及商铺中作为分栏(栏目)展示
+
+- 系统能力树 
+
+    定义系统需要检查资源,需要授权的点
+    - 能力分组
+        - 能力块
+            - 接口(能力点)
+                - 指标(资源) 
+                指标是指某个(类)功能涉及资源的检查项,这里用于定义某个资源项。
+                基本属性:代码,类型,模式;
+
+- 商品 (spu)  
+  商品基本属性:名称、分类、统一编码、介绍、特性等 
+
+  * 规格 (sku)  
+  规格基本属性:名称、统一编码、各类定价  
+  多份购买时, 考虑权益合并,企业许可
+    * 权限资源配置矩阵
+  * 组合商品(多sku)  
+    可打包多个sku
+- 评价  
+  基本属性:用户、sku编号、商品编号、订单编号、评分、评价内容等
+
+- 订单  
+
+    订单基础属性:编号、商品、规格、数量、单价、总价、应付、实付、付款方式、付款状态、订单状态。。。。
+
+- 支付/回款、退款 
+  支付的基本属性:付款类型、付款时间、付款人、付款金额、订单号
+  退款记录,考虑权益关闭
+  
+
+- 用户权限资源
+
+    下单后,根据购买商品,给用户开通、增加相应功能资源
+
+- 服务提供
+
+系统在线提供服务,并与商品标准化的权限资源对接,实现权限验证,消费有资源扣减
+
+
+- 营销活动
+    - 满减 、 满赠 、 优惠卷
+    -  秒杀、抢购
+
+# 三、概要设计
+
+
+## 3.1 架构图
+```plantuml
+@startuml
+    rectangle 1应用 #FFFFCC{
+        rectangle 商城 
+        rectangle 营销平台
+        rectangle 商城控制台
+    }
+
+    rectangle 2接口服务 #CCFFCC{
+        rectangle 商品服务 
+        rectangle 商铺服务 
+        rectangle 订单服务
+        rectangle 支付服务
+        rectangle 发票服务
+        rectangle 营销服务
+        rectangle 评价服务
+        rectangle 权益服务
+    }
+
+    rectangle 3领域模型 #CCFFFF{
+        rectangle 商品模型 
+        rectangle 订单模型
+        rectangle 营销模型
+        rectangle 评价模型
+        rectangle 权益模型
+        rectangle 计价模型
+        rectangle 计费模型
+    }
+
+    rectangle 4中台服务 #CCFFFF{
+        rectangle 商品中心
+        rectangle 订单中心
+        rectangle 权益中心
+        rectangle 计价中心
+        rectangle 计费中心
+    }
+
+    rectangle 5存储 #6699CC{ 
+        rectangle TiDB
+        rectangle EleasticSearch
+        rectangle OSS
+        rectangle ArangoDB
+    }
+    
+
+    1应用 -down-> 2接口服务 
+    2接口服务 -down-> 3领域模型 :"调用" 
+    3领域模型 -down-> 4中台服务 :"调用" 
+    4中台服务-down-> 5存储 :"调用" 
+    3领域模型 -right-> 5存储 :"调用" 
+    1应用 -right-> OSS :"文件访问"
+
+@enduml
+```
+说明:
+中台服务,仅抽取多个系统共享部分;
+
+业务部分需要在领域模型实现;**并不是说有的领域模型能力都需要抽到中台服务。**
+计价中心,订单计算价格的服务,等同于医院的划价窗口;
+
+订单包含多个物品、不同规格、参与活动的赠品、折扣、红包(卡劵)抵扣等,均在此做计算,对外提供统一服务。输出订单总价(总价、应付价,预使用的卡劵、积分、红包等)
+
+## 3.3 关键实体关系图
+```plantuml
+@startuml
+package 1、系统服务能力_静态资源{
+    entity 标准商品分类{
+        * ID
+        * 代码
+        * 名称
+        * 父级ID
+    }
+    entity 商家商品分类{
+        * ID
+        * 代码
+        * 名称
+        * 父级ID
+        * 商家ID
+    }
+    标准商品分类 ||-|{ 标准商品分类 :"包含"
+    商家商品分类 ||-|{ 商家商品分类 :"包含"
+    entity 资源定义{
+        * 名称
+        * 代码
+        * 计量类型
+        * 检验模式
+        * 扣减模式
+        * 资源使用限制
+    }
+    entity 功能分组{
+        * ID
+        * 名称
+        * 代码
+        * 父级ID
+    }
+    entity 功能点定义{
+        * 名称
+        * 代码
+    }
+
+    功能分组 ||-|{ 功能分组 :"包含"
+    功能分组 ||-|{ 功能点定义 :"包含"
+    功能点定义 ||-|{ 资源定义 :"包含"
+}
+
+package 2、商品{
+    entity 商品{
+        * 名称
+        * 代码
+        * 标准分类
+        * 商户分类
+        * 介绍
+        * 特点、优势、卖相
+    }
+    entity 规格 {
+        * 名称
+        * 代码
+        * 描述
+        * 各种定价
+    }
+    entity 功能点<<功能点定义>>{
+        * 名称
+        * 代码
+        * 功能点路径
+    }
+
+    entity 资源<<资源定义>>{
+
+    }
+    entity 规格快照<<规格>>{
+        * 版本号
+        * 创建时间
+    }
+    商品||-|{规格:"包含"
+    规格||-|{功能点:"包含"
+    功能点||-|{资源:"包含"
+    规格快照||-|{功能点:"包含"
+    规格||-|{规格快照:"包含,每次修改规格,都会产生快照"
+}
+
+package 3、订单权益等{
+    entity 订单 {
+        * 订单编号
+        * 应付
+        * 实付
+        * 支付方式
+        * 支付状态
+        * 订单状态
+        * 客户标识
+        * 下单时间
+        * 其他字段balabala
+    }
+    entity 订单物品 {
+        * 商品
+        * 规格快照
+        * 数量
+        * 单价
+        * 合计
+        * 优惠    
+    }
+
+    entity 支付 {
+          
+    }
+
+    entity 退款 {
+          
+    }
+
+    entity 发票 {
+          
+    }
+
+    entity 评价 {
+        * 订单号
+        * 商品id
+        * 规格id
+        * 评分
+        * 评价内容
+        * 时间
+        * 用户id     
+    }
+    entity 客户权益{
+
+    }
+    订单||-|{订单物品:"包含"
+    客户权益 --> 规格快照:"根据商品规格权益设置,增加客户权益"
+    订单--> 客户权益:"下单支付后,更新客户权益"
+    评价 --> 订单物品
+
+    订单 -- 支付
+    订单 -- 退款
+    订单 -- 发票 
+}
+
+
+package 4、营销活动{
+    entity 活动{
+        * 名称
+        * 代码
+        * 期限
+        * 模式【满减、满赠、打折、秒杀】
+    }
+    活动 ||--|{商品:"关联"
+    活动 ||--|{规格:"关联"
+}
+
+@enduml
+```
+说明:
+- 标准商品分类、商家商品分类 自身嵌套,多级分类树
+
+## 3.4 关键对象图
+** 商品对象图 **
+```plantuml
+@startuml
+    object 剑鱼标讯服务<<商品>>{
+        名称:剑鱼基础标讯服务
+        代码:0001
+        介绍:大图文
+        标准分类:"标讯服务"
+        商户分类:"核心服务"
+    }
+    object 规格1<<商品规格>>{
+        名称:基础版
+        描述:基础班标讯服务,\n包括订阅、检索、附件下载基础能力
+    }
+
+    object 规格2<<商品规格>>{
+        名称:豪华版
+        描述:豪华版标讯服务,\n包括订阅、检索、附件下载基础能力\n在资源配额上,开放更大范围。
+    }
+
+    object 标讯订阅<<功能点>>{
+        代码:GND001
+        名称:订阅设置
+    }
+
+    object 标讯推送<<功能点>>{
+        代码:GND002
+        名称:标讯推送
+    }
+
+    object 权益1<<权益资源>>{
+        代码:QY001
+        名称:省份配额
+        类型:数值
+        检验模式:小于等于
+        扣减模式:无
+        已用:9
+        值:10
+    }
+    object 权益2<<权益资源>>{
+        代码:QY002
+        名称:关键词词组数量
+        类型:数值
+        检验模式:小于等于
+        扣减模式:无
+        已用:240
+        值:300
+    }
+    object 权益3<<权益资源>>{
+        代码:QY003
+        名称:关键词词组数量
+        类型:数值
+        检验模式:小于等于
+        扣减模式:无
+        已用:240
+        值:300
+    }
+    object 权益4<<权益资源>>{
+        代码:QY004
+        名称:数据条数
+        类型:数值
+        检验模式:小于等于
+        扣减模式:无
+        已用:2400
+        资源使用限制:每天不超过50条
+        值:30000
+    }
+    object 权益5<<权益资源>>{
+        代码:QY005
+        名称:有效期
+        类型:日期范围
+        检验模式:无
+        扣减模式:无
+        值:"2022-01-01__2023-01-01"
+    }
+    剑鱼标讯服务 --> 规格1 : 包含
+    剑鱼标讯服务 --> 规格2 : 包含
+    规格1 --> 标讯订阅:包含
+    规格1 --> 标讯推送:包含
+    标讯订阅 --> 权益1:包含
+    标讯订阅 --> 权益2:包含
+    标讯订阅 --> 权益3:包含
+    标讯推送 --> 权益4:包含
+    标讯推送 --> 权益5:包含
+@enduml
+```
+
+
+
+
+## 3.5 关键序列图
+** 秒杀活动 流程图**
+```plantuml
+@startuml
+   autonumber
+    alt "活动进行中,并且库存充足"
+        客户 -> 商城 : 抢商品,不一定会抢成功
+        商城 -> NSQ队列 : 请求进入队列,缓冲
+        NSQ队列 -> 营销活动: 请求出队,处理请求
+        营销活动 -> 营销活动: 生成订单前检查
+        alt "检查活动是在进行,以及库存充足"
+            营销活动 -> 订单中心 : 生成订单
+            营销活动 -> 营销活动 : 减库存
+            订单中心 -> 客户:"通知用户抢成功,需要30分钟内支付"
+            客户 -> 客户 : "订单支付"
+            alt "30分钟内未完成支付"
+                订单中心 -> 订单中心 : "订单失效"
+                订单中心 -> 营销活动 : 恢复库存
+                营销活动 -> 客户 :"告知抢购失败"
+            else
+                营销活动 -> 客户 :"告知抢购成功"
+            end 
+            alt "活动到期、或者库存抢购完了"
+                营销活动 -> 营销活动 :"活动结束"
+            end
+        else
+            营销活动 -> 客户:"告知客户活动已经结束,或者库存不足"
+        end
+    else
+        营销活动 -> 客户:"告知客户活动已经结束,或者库存不足"
+    end
+@enduml
+```
+# 四、成本估算
+# 五、计划安排

BIN
doc/SKU 和 SPU 有什么区别.docx


BIN
doc/企业微信截图_16524344484328.png


BIN
doc/商品标准化任务分解.pdf


BIN
doc/电商后台设计.docx