跳到主要内容

商品维护开发文档

1 需求

商品的添加与修改

2 类图

2.1 领域模型

2.1.1 商品PO

点击查看大图

2.1.2 sku相关PO

点击查看大图

2.1.3 商品vo

点击查看大图

2.1.4 sku vo

点击查看大图

2.1.5 参数相关领域模型

点击查看大图

2.2 controller

这个controller是微服务中的goods-manage-service中的GoodsFrontContrllor

但add和edit的参数变化了

2.3 业务类

2.4 时序图

2.4.1 商品添加

点击查看大图

2.4.2 商品修改

点击查看大图

3 开发说明

一、相关类全部由微服务的goods-manager-service和goods-service-sdk中来

二、此vo,po删除一些属性(相对于微服务版),请仔细比对

三、其中用到商品是否要审核的地方,使用如下代码:

//判断修改是否需要审核,1为需要审核

if\(StoreSetting.edit\_auth==1\){

三、模拟数据

在添加和和修改时都要用Json的方式来传递数据,这个数据的标准就是GoodsVo:

所以可以手动模拟GoodsVo的json数据,通过单元测试来测试Controller。

单元测试:

http://www.javamall.com.cn/help/index.php/Junit单元测试指南#Json.E5.BC.8F

四、规格Json的保存

规格值列表specList需要再转回json存在specs字段中

4 商品编辑

4.1 商品编辑信息的获取

商品编辑信息分为以下几类:

  1. 商品基本信息

  2. 商品sku信息

  3. 相册

  4. 参数

  5. 商品分类路径

  6. 商品分组列表

  7. 品牌列表

  8. 运费模板

针对如上信息的标签重构关系如下:

信息对原标签处理方法
商品基本信息StoreGoodsInfoTagGoodsEditDataTag返回Goods删除
商品sku信息goodsSpecTag用API来获取删除
相册StoreGoodsInfoTag(先不用管这块)删除
参数GoodsDefaultParamesTaggoodsDefaultPropsTagGoodsParamEidtorTag删除
分类路径storeGoodsCatTagGoodsCatPathTag重构为新标签
商品分组列表storeGoodsCatListTag用以前的不变
品牌列表BrandListTagBrandListTag重构
运费模板StoreTemplateTagStoreTemplateTag不变

4.2详细说明

4.2.1商品基本信息获取标签(GoodsEditDataTag)

4.2.2 商品SKU信息获取api

4.2.2.1 api路径:

/shop/seller/goods/<1>/skus.do

4.2.2.2 参数

其中路径中的<1>是商品id

这时的GoodsSkuVo中的specs本身就是一个json(在添加入库时保存),需要用@JsonRawValue来使其正常显示

4.2.3 分类路径获取标签

包要放在新的goods.tag下

以前是用的goodsCatManager,要用最新的分类manager,把那个getParents方法移过来

4.2.4 品牌列表标签(BrandListTag)

那个brandMang及相应的接口都要移到

app.shop.goods中

并且,要把逻辑换一下,换为根据商品分类读取品牌,如果没有关联返回空