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


总结

踩坑路漫漫长@~@

相关推荐
入门级前端开发4 小时前
vue集成xlsl实现前端表格导入导出
前端·javascript·vue.js
secondyoung4 小时前
队列原理与实现全解析
c语言·数据库·mysql·算法·队列
无知的小菜鸡4 小时前
React:使用高阶组件实现vue中的路由守卫功能
前端·vue.js·react.js
悟能不能悟4 小时前
mysql主键递增,之前已经插入的id有1,2,3,4,5,手动插入的那条记录id=15,那后面让它自动生成主键,会是从15开始,还是从5开始
数据库·mysql
代码丰4 小时前
实际例子理解Redis 缓存与 MySQL 数据一致性 以及常见的细节
redis·mysql·缓存
幸福清风5 小时前
【Python】实战记录:从零搭建 Django + Vue 全栈应用 —— 用户认证篇
vue.js·python·django
Dovis(誓平步青云)5 小时前
《MySQL表的创建与约束:定义结构化数据的存储载体》
数据库·mysql
利刃大大5 小时前
【Vue】Vue介绍 && 声明式渲染 && 数据响应式
前端·javascript·vue.js·前端框架
Maggie_ssss_supp5 小时前
linux-ProxyQSL读写分离
数据库·mysql