为了实现商城系统的新增商品功能,我们完成了商品类目选择功能开发以及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、前台测试,添加商品
在各表单中填入相应的测试数据,然后单击“提交”按钮

提示“新增商品成功”

在“查询商品”菜单中,我们跳转到最后一页,看到数据确实是添加了

编程那点事
