为了实现商城系统的新增商品功能,我们完成了商品类目选择功能开发以及SpringMVC完成商城系统的商品图片上传功能。
1、首先讲下ID的生成策略
取当前时间的毫秒数然后再加上2位随机数,有人说也可以用guid,确实是这样的,但是如果碰到客户某个订单有问题的情况下,让客户说出一大段guid还是没有直接报数字方便。
具体代码如下,该代码在IDUtil下。
/** * 商品id生成 */ public static long genItemId() { //取当前时间的长整形值包含毫秒 long millis = System.currentTimeMillis(); //long millis = System.nanoTime(); //加上两位随机数 Random random = new Random(); int end2 = random.nextInt(99); //如果不足两位前面补0 String str = millis + String.format("%02d", end2); long id = new Long(str); return id; }
2、在接口ItemService中新增如下代码
MallResult createItem(TbItem item, String desc, String itemParams) throws Exception;
3、在实现类ItemServiceImpl中实现createItem,具体代码如下
@Override
public MallResult createItem(TbItem item, String desc, String itemParams) throws Exception { Date date = new Date(); //获得商品id long id = IDUtil.genItemId(); //添加商品信息 item.setId(id); //商品状态,1-正常,2-下架,3-删除 item.setStatus((byte) 1); item.setCreated(date); item.setUpdated(date); itemMapper.insert(item); //添加商品描述 //创建TbItemDesc对象 TbItemDesc itemDesc = new TbItemDesc(); //获得一个商品id itemDesc.setItemId(id); itemDesc.setItemDesc(desc); itemDesc.setCreated(date); itemDesc.setUpdated(date); //插入数据 itemDescMapper.insert(itemDesc); return MallResult.ok(); }
4、在ItemController类中,新增方法createItem,具体代码如下
@RequestMapping(value = "/item/save", method = RequestMethod.POST) @ResponseBody public MallResult createItem(TbItem item, String desc, String itemParams) throws Exception { MallResult result = itemService.createItem(item, desc, itemParams); return result; }
5、前台测试,添加商品
在各表单中填入相应的测试数据,然后单击“提交”按钮
提示“新增商品成功”
在“查询商品”菜单中,我们跳转到最后一页,看到数据确实是添加了