后面还需要优化,比如说每个模块展示多少条数据,猜你喜欢分页处理等
const handleDB = require('../handleDB/index')
// 获取全部模块
exports.allModule = async(req, res) => {
}
// 更新或者添加模块
exports.upModule = async(req, res) => {
}
// 根据id删除模块
exports.delModule = async(req, res) => {
}
// 根据产品module_id不同返回不同模块的商品
exports.diffModule =async (req, res) => {
}
// 获取全部模块
exports.allModule = async (req, res) => {
const result = await handleDB(res, "book_module", "find", "查询失败", { where: `status=0` })
if (result.length == 0) {
res.send({ code: 0, message: "获取列表为空" })
}
const total = result.length;
res.send({ code: 200, message: '获取模块列表成功', total: total, data: result })
}
exports.upModule = async (req, res) => {
const { id, ...data } = req.body
if (id) {
// / 如果navId存在,则更新模块信息
const result = await handleDB(res, 'book_module', 'update', '更新失败', `module_id=${id}`, data);
// 检查更新是否成功
if (result.affectedRows !== 1) {
return res.send({ code: 0, message: '更新导航分类数据失败!' });
}
res.send({ code: 200, message: '更新导航分类数据成功' });
} else {
// 如果module_id不存在,则添加模块信息
// 3.查询数据库,看看是否存在这个模块
let result1 = await handleDB(res, "book_module", "find", "数据库查询出错", { where: `module_name="${data.module_name}"` })
// 4.如果已经存在,返回导航已经被注册 return
if (result1.length > 0) {
res.send({ code: 0, message: "模块已经被注册,请更换其他模块名!" });
return
}
const result = await handleDB(res, 'book_module', 'insert', '添加失败', data);
// 检查插入是否成功
if (result.affectedRows !== 1) {
return res.send({ code: 0, message: '添加模块分类数据失败!' });
}
res.send({ code: 200, message: '添加模块数据成功' });
}
}
// 根据id删除模块
exports.delModule = async (req, res) => {
const id = req.params.id
if (!id) {
return res.send({ code: 0, message: '缺少必参数id' })
}
const result = await handleDB(res, "book_module", "find", "数据库查找失败", { where: `module_id=${id} AND status=0` })
if (result.length !== 1) {
return res.send({ code: 0, message: '该模块不存在' })
}
const results = await handleDB(res, "book_module", "update", "数据库查找失败", `module_id= ${id}`, { status: 1 })
// 6 SQL 语句执行成功,但是影响行数不等于 1
if (results.affectedRows !== 1) return res.send({ code: 0, message: '删除该模块失败!' })
res.send({ code: 200, message: '删除模块成功', });
}
(根据module表中module_id和product表中module_id对应,但是我不会根据有几个不同的id返回几个数组而且后面还能增加添加数据,但是返回数据的数组名字可能是bookData[0],bookData[1],bookData[3],这种)
但是一般来说我们都需要一个一个接口去写
别人就是一个一个接口去写的,我暂时理不通有几个id就返回几个数组的,而且只能去遍历id对应另一个表数组的id 回数据的数组名字可能是bookData[0],bookData[1],bookData[3],这种)
也可以弄成一个接口看个人
// 获取今日推荐模块的产品书籍
exports.newProduct = async (req, res) => {
const result = await handleDB(res, "book_module", "find", "book_module数据库查找失败",)
console.log(result[0]);
const results = await handleDB(res, 'book_product', "find", "book_product数据库查找失败", {
where: `module_id = ${result[0].module_id}`
})
const total = results.length;
res.send({ code: 200, message: '获取今日推荐列表成功', total: total, data: results })
}
// 获取热门好书模块
exports.hotProduct = async (req, res) => {
const result = await handleDB(res, "book_module", "find", "book_module数据库查找失败",)
if (result.length == 0) {
return res.send({ code: 0, message: '该数据不存在' })
}
const results = await handleDB(res, 'book_product', "find", "book_product数据库查找失败", {
where: `module_id = ${result[1].module_id}`
})
const total = results.length;
res.send({ code: 200, message: '获取热门好书列表成功', total: total, data: results })
}
// 获取猜你喜欢模块
exports.likeProduct = async (req, res) => {
const result = await handleDB(res, "book_module", "find", "book_module数据库查找失败",)
console.log(result[2]);
const results = await handleDB(res, 'book_product', "find", "book_product数据库查找失败", {
where: `module_id = ${result[2].module_id}`
})
const total = results.length;
res.send({ code: 200, message: '获取猜你喜欢列表成功', total: total, data: results })
}