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罐/箱"
	}


总结

踩坑路漫漫长@~@

相关推荐
阿华的代码王国1 分钟前
MySQL ------- 索引(B树B+树)
数据库·mysql
liupenglove36 分钟前
golang操作mysql利器-gorm
mysql·golang
冯宝宝^1 小时前
基于mongodb+flask(Python)+vue的实验室器材管理系统
vue.js·python·flask
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
cc蒲公英1 小时前
Vue2+vue-office/excel 实现在线加载Excel文件预览
前端·vue.js·excel
单字叶2 小时前
MySQL数据库
数据库·mysql
森叶2 小时前
Electron-vue asar 局部打包优化处理方案——绕开每次npm run build 超级慢的打包问题
vue.js·electron·npm
just-julie2 小时前
MySQL面试题——第一篇
数据库·mysql
小小竹子2 小时前
前端vue-实现富文本组件
前端·vue.js·富文本
青稞儿2 小时前
面试题高频之token无感刷新(vue3+node.js)
vue.js·node.js