var express = require(‘express‘);
var router = express.Router();
var models = require(‘../../models‘)
router.post(‘/‘,async function(req,res,next){
var code = req.body.code;// 这里的code是 扫描进去的条形码
// 1.根据扫入的条形码 来搜索 Product表中,有没有这个商品
let product = await models.Product.findOne({
where:{
code:code,
}
})
// 2.如果Product表中没有这个商品,就返回
if(!product){
res.json({success:false,message:‘此商品不存在‘})
return;
}
// 3.如果Product表中有这个商品,
// 就查询这个商品 在不在购物车Cart表中 created:不存在为true,存在false
let [cart,created] = await models.Cart.findOrCreate({
where:{
productId:product.id,
userId: 9/*req.decoded.user.id*/
},
// 如果这个商品不在购物车中的话, 就把这个商品添加进购物车
defaults:{
number:1,
userId: 9 /*req.defaults.user.id*/,
productId:product.id
}
})
// 4. 9.如果购物车表中 已经有这个商品存在
if(!created){
let cart = await models.Cart.findOne({
where:{productId:product.id}
})
cart.increment(‘number‘)// 就把当前的商品数量 number增加1
return res.json({success:true,message:‘增加成功‘})
}
res.json({success:true,message:‘添加成功‘,data:cart})
})
module.exports = router;