express+mysql+vue,从零搭建一个商城管理系统10--添加商品

提示:学习express,搭建管理系统

文章目录


前言

需求:主要学习express,所以先写service部分

一、新建models/goods.js

models/goods.js

c 复制代码
const query = require('../config/db');
const md5 = require('md5');
const secretKey = 'longlongago';

const errFun = (msg,code)=>{
    return {
        code:code||500,
        success:false,
        msg:msg||'操作失败'
    }
}
const sucFun = (data,msg)=>{
    return {
        code:200,
        success:true,
        msg:msg||'操作成功',
        data,
    }
}
const goodsDao = {
    //注册
    addGoodsByShopIdAndUserId:async(data)=>{
        //生成goodsId
        const goodsId = md5(data.goodsName+secretKey);
        //根据goodsName查询goods
        const sql = `insert into goods (goodsId,goodsName,createId,shopId,price,inventory,specs) values('${goodsId}','${data.goodsName}','${data.createId}','${data.shopId}','${data.price}','${data.inventory}','${data.specs}')`;
        const result = await query(sql);
        if(result&&result.affectedRows==1)return sucFun({},'添加商品成功');
        return errFun('添加商品失败');
    },
    //通过商品名查询商品信息
    queryGoodsByGoodsName:async(data)=>{
        //根据goodsName查询goods
        const sql = `select * from goods where goodsName='${data.goodsName}'`;
        const result = await query(sql);
        if(result&&result.length>0)return sucFun(result[0],'查询商品成功');
        return errFun('查询商品失败');
    },
    //通过商品名查询商品信息
    queryGoodsByGoodsId:async(data)=>{
        //根据goodsName查询goods
        const sql = `select * from goods where goodsName='${data.goodsName}'`;
        const result = await query(sql);
        if(result&&result.length>0)return sucFun(result[0],'查询商品成功');
        return errFun('查询商品失败');
    },
}

module.exports = goodsDao;

二、新建routes/goods.js

routes/goods.js

c 复制代码
const goodsDao = require('../models/goods');
const goodsRoutes = (router)=>{
    router.post('/goods/addGoodsByShopIdAndUserId',async (req,res)=>{
        const result = await goodsDao.addGoodsByShopIdAndUserId(req.body);
        res.json(result);
    });
}
module.exports = goodsRoutes;

三、添加goods表

四、添加商品

复制代码
url:http://localhost:1990/goods/addGoodsByShopIdAndUserId
name:/goods/addGoodsByShopIdAndUserId
params:{
	"goodsName": "百世可乐",
    "createId": "d9ef196010ee41be28ba70a0f819da9d",
    "shopId": "be2383f2c80fbc672f4b506976c4e502",
     "price":60.00,
    "inventory":500,
    "specs":"24罐/箱"
}


复制代码
params:{
		"goodsName": "可口可乐",
	    "createId": "d9ef196010ee41be28ba70a0f819da9d",
	    "shopId": "be2383f2c80fbc672f4b506976c4e502",
	     "price":65.00,
	    "inventory":500,
	    "specs":"24罐/箱"
	}


总结

踩坑路漫漫长@~@

相关推荐
A_nanda8 分钟前
vue实现后端传输逐帧图像数据
前端·javascript·vue.js
geBR OTTE1 小时前
flask后端开发(8):Flask连接MySQL数据库+ORM增删改查
数据库·mysql·flask
识君啊1 小时前
中小厂数据库事务高频面试题
java·数据库·mysql·隔离级别·数据库事务·acid
当时只道寻常1 小时前
Vue3 集成 NProgress 进度条:从入门到精通
前端·vue.js
米丘1 小时前
Vue 3.x 单文件组件(SFC)模板编译过程解析
前端·vue.js·编译原理
c***89201 小时前
在 Ubuntu 上安装 MySQL 的详细指南
mysql·ubuntu·adb
米丘1 小时前
vue3.x 内置指令有哪些?
前端·vue.js
米丘1 小时前
Vue 3.x 模板编译优化:静态提升、预字符串化与 Block Tree
前端·vue.js·编译原理
Bert.Cai2 小时前
MySQL CONCAT()函数详解
数据库·mysql
Bert.Cai2 小时前
MySQL DDL简介
数据库·mysql