美文网首页Project
taotao-商品添加的实现

taotao-商品添加的实现

作者: 小小蒜头 | 来源:发表于2018-08-23 18:51 被阅读382次

    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-图片服务器
    下篇:taotao-保存规格参数
    源代码:https://github.com/yvettee36/taotao

    相关文章

      网友评论

        本文标题:taotao-商品添加的实现

        本文链接:https://www.haomeiwen.com/subject/qlififtx.html