商品维护开发文档

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. 运费模板

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

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

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中

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

results matching ""

    No results matching ""