电商概念及表结构分析 2.1 电商概念 SPU与 SKU SPU = Standard Product Unit ( 标 准 产 品 单 位 ) SPU 是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。 通俗点讲,属性值、特性相同的商品就可以称为一个 SPU。 例如: iphone7 就是一个 SPU,与商家,与颜色、款式、套餐都无关。 SKU=stock keeping unit(库存量单位) SKU 即库存进出计量的单位, 可以是以件、盒、托盘等为单位。 SKU 是物理上不可分割的最小存货单元。在使用时要根据不同业态,不同管理模式来处理。在服装、鞋类商品中使用最多最普遍。 例如: 纺织品中一个 SKU 通常表示:规格、颜色、款式。 2.1 表结构分析 Tb_goods 商品表

商家后台-商品录入【基本功能】 3.1 需求分析 在商家后台实现商品录入功能。包括商品名称、副标题、价格、包装列表、售后服务 3.1 后端代码 3.1.1 实体类 创建组合实体类 goods

public  class  Goods  implements  Serializable{
 
private  TbGoods  goods;//商品 SPU
 
private  TbGoodsDesc  goodsDesc;//商品扩展
 
private  List<TbItem>  itemList;//商品 SKU 列表
 
//getter    and  setter 方法......
 
}

3.1.1 数据访问层 由于我们需要在商品表添加数据后可以得到自增的 ID,所以我们需要在 TbGoodsMapper.xml 中的 insert 配置中添加如下配置

<selectKey  resultType="java.lang.Long"  order="AFTER"  keyProperty="id"> SELECT  LAST_INSERT_ID()  AS  id
</selectKey>

3.1.1 服务接口层 修改 pinyougou-sellergoods-interface 的 GoodsService 接口 add 方法

/**
 
* 增 加
 
*/
 
public  void  add(Goods  goods);

3.2.4服务实现层 修改 pinyougou-sellergoods-service 的 GoodsServiceImpl.java

@Autowired
 
 
private  TbGoodsDescMapper  goodsDescMapper;
 
 
/**
 
* 增 加
 
*/ @Override
public  void  add(Goods  goods)  {
 
goods.getGoods().setAuditStatus("0");//设置未申请状态 goodsMapper.insert(goods.getGoods());
goods.getGoodsDesc().setGoodsId(goods.getGoods().getId());//设置 ID
 
goodsDescMapper.insert(goods.getGoodsDesc());//插入商品扩展数据
 
}

3.2.5控制层 修改 pinyougou-shop-web 工程的 GoodsController 的 add 方法

/**
 
*增加
 
*@param  goods
 
*@return
*/ @RequestMapping("/add")
public  Result  add(@RequestBody  Goods  goods){
 
//获取登录名String  sellerId  =
SecurityContextHolder.getContext().getAuthentication().getName();
 
goods.getGoods().setSellerId(sellerId);//设置商家 ID
 
try {
 
goodsService.add(goods);
 
return  new  Result(true,  "增加成功");
 
}  catch  (Exception  e)  { e.printStackTrace();
return  new  Result(false,  "增加失败");
 
}
 
}