电商概念及表结构分析
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;//商品 SPUprivate 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
@Autowiredprivate TbGoodsDescMapper goodsDescMapper;/*** 增 加*/ @Overridepublic void add(Goods goods) {goods.getGoods().setAuditStatus("0");//设置未申请状态 goodsMapper.insert(goods.getGoods());goods.getGoodsDesc().setGoodsId(goods.getGoods().getId());//设置 IDgoodsDescMapper.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);//设置商家 IDtry {goodsService.add(goods);return new Result(true, "增加成功");} catch (Exception e) { e.printStackTrace();return new Result(false, "增加失败");}}
共同学习,写下你的评论
评论加载中...
作者其他优质文章