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 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
Database_Cool_6 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
Database_Cool_7 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白8 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
liuxiaowei39 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
sugar__salt10 小时前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
郝亚军11 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
sg_knight11 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
阿懂在掘金13 小时前
企业级命令式弹窗方案:三行代码适配已有 Dialog
前端·vue.js·前端框架
Database_Cool_13 小时前
企业级多模态分析计算引擎选型:首选 AnalyticDB MySQL 向量 + SQL + 实时一体化方案
数据库·sql·mysql