taotao-商品添加的实现

1. 分析

taotao-商品添加的实现_第1张图片
新增商品

1.1 数据库

相关的表:tb_itemtb_item_desc
商品id应该是一串数字。可以使用毫秒+两位随机数生成一个id。
使用工具类:IDUtils.java

package com.taotao.utils;

import java.util.Random;

/**
 * 生成ID的工具类
 * Created by yvettee on 18-8-22.
 */
public class IDUtils {
    /**
     * 图片名生成
     */
    public static String genImageName() {
        //取当前时间的长整形值包含毫秒
        long millis = System.currentTimeMillis();
        //long millis = System.nanoTime();
        //加上三位随机数
        Random random = new Random();
        int end3 = random.nextInt(999);
        //如果不足三位前面补0
        String str = millis + String.format("%03d", end3);
        return str;
    }

    /**
     * 商品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;
    }
}

1.2 页面

提交请求的url:/item/save
请求的参数:表单中的内容

1.3 DAO层

执行insert操作,可以使用逆向工程生成的代码

1.4 Service层

1、接收TbItem对象,String desc 商品描述两个参数。
2、在TbItem对象中补全属性,包括id、status、create、update。
3、调用Mapper的insert方法插入数据。
4、创建一个TbItemDesc对象,补全属性。
5、调用Mapper方法插入到商品描述表。
6、返回TaotaoResult对象。
参数:TbItem、String
返回值:TaotaoResult

 @Override
    public TaotaoResult createItem(TbItem tbItem, String desc) {

        //生成商品ID
        long itemId = IDUtils.genItemId();
        tbItem.setId(itemId);
        //商品状态:1--正常  2--下架  3--删除
        tbItem.setStatus((byte) 1);
        //创建时间和更新时间
        Date date = new Date();
        tbItem.setCreated(date);
        tbItem.setUpdated(date);
        //插入商品表
        tbItemMapper.insert(tbItem);
        //商品描述
        TbItemDesc tbItemDesc = new TbItemDesc();
        tbItemDesc.setItemId(itemId);
        tbItemDesc.setItemDesc(desc);
        tbItemDesc.setCreated(date);
        tbItemDesc.setUpdated(date);
        //插入商品描述数据
        tbItemDescMapper.insert(tbItemDesc);
        return TaotaoResult.ok();
    }

1.5 Controller层

1、接收页面提交的内容
2、调用Service插入商品信息。
3、返回TaotaoResult。(json格式)

@RequestMapping(value = "/item/save",method = RequestMethod.POST)
    @ResponseBody
    public TaotaoResult createItem(TbItem tbItem, String desc) {
        TaotaoResult result = itemService.createItem(tbItem,desc);

        return result;
    }

1.6 结果

taotao-商品添加的实现_第2张图片
测试新增功能
taotao-商品添加的实现_第3张图片
结果

上篇:taotao-图片服务器
下篇:taotao-保存规格参数
源代码:https://github.com/yvettee36/taotao

你可能感兴趣的:(taotao-商品添加的实现)