本帖最后由 谷粒姐姐 于 2018-8-24 10:21 编辑
商品录入【是否启用规格】6.1 需求分析
在规格面板添加是否启用规格,当用户没有选择该项,将原来的规格面板和 SKU 列表隐藏, 用户保存商品后只生成一个 SKU.
6.1 前端代码
goods_add.html 添加复选框 [AppleScript] 纯文本查看 复制代码 ......SKU 表格部分
</div> 6.1 后端代码 修改 GoodsServiceImpl 的 add 方法 [AppleScript] 纯文本查看 复制代码 /**
* 增 加
*/ @Override
public void add(Goods goods) {
goods.getGoods().setAuditStatus("0"); goodsMapper.insert(goods.getGoods()); //插入商品表
goods.getGoodsDesc().setGoodsId(goods.getGoods().getId()); goodsDescMapper.insert(goods.getGoodsDesc());//插入商品扩展数据
if("1".equals(goods.getGoods().getIsEnableSpec())){ for(TbItem item :goods.getItemList()){
//标题
String title= goods.getGoods().getGoodsName(); Map<String,Object> specMap = JSON.parseObject(item.getSpec()); for(String key:specMap.keySet()){
title+=" "+ specMap.get(key);
}
item.setTitle(title);
setItemValus(goods,item);
itemMapper.insert(item);
}
}else{
TbItem item=new TbItem();
item.setTitle(goods.getGoods().getGoodsName());//商品 KPU+规格描述串作为
SKU 名称
item.setPrice( goods.getGoods().getPrice() );//价格
item.setStatus("1");//状态
item.setIsDefault("1");//是否默认
item.setNum(99999);//库存数量
item.setSpec("{}"); setItemValus(goods,item);
itemMapper.insert(item);
}
}
private void setItemValus(Goods goods,TbItem item) {
item.setGoodsId(goods.getGoods().getId());//商品 SPU 编号
item.setSellerId(goods.getGoods().getSellerId());//商家编号
item.setCategoryid(goods.getGoods().getCategory3Id());//商品分类编号(3 级)
item.setCreateTime(new Date());//创建日期 item.setUpdateTime(new Date());//修改日期
[AppleScript] 纯文本查看 复制代码 //品牌名称TbBrand brand =
brandMapper.selectByPrimaryKey(goods.getGoods().getBrandId());
item.setBrand(brand.getName());
//分类名称
TbItemCat itemCat = itemCatMapper.selectByPrimaryKey(goods.getGoods().getCategory3Id());
item.setCategory(itemCat.getName());
//商家名称TbSeller seller =
sellerMapper.selectByPrimaryKey(goods.getGoods().getSellerId());
item.setSeller(seller.getNickName());
//图片地址(取 spu 的第一个图片)
List<Map> imageList = JSON.parseArray(goods.getGoodsDesc().getItemImages(), Map.class) ;
if(imageList.size()>0){
item.setImage ( (String)imageList.get(0).get("url"));
}
}
|