You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vue-shop-admin-work/dao/GoodAttributeDAO.js

63 lines
3.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var path = require("path"); // 引入Node.js的path模块用于处理文件和目录的路径
// 引入自定义的 DAO 模块,可能用于数据访问操作,具体功能取决于其内部实现
daoModule = require("./DAO"); // 引入当前目录下的DAO模块
// 引入位于 modules/database 目录下的数据库模块,使用 path.join 拼接当前工作目录与相对路径
databaseModule = require(path.join(process.cwd(), "modules/database")); // 引入数据库模块,路径根据当前工作目录动态确定
/**
* 清除商品属性
*
* @param {[type]} goods_id 商品的唯一标识符,用于确定要清除属性的商品
* @param {Function} cb 回调函数,用于处理清除操作的结果
* 当操作完成时,将调用此函数。若操作出现错误,第一个参数将包含错误信息;若操作成功,第一个参数为 null
*/
module.exports.clearGoodAttributes = function (goods_id, cb) {
// 从数据库模块中获取数据库对象
db = databaseModule.getDatabase(); // 获取数据库实例
// 定义 SQL 语句,用于删除 sp_goods_attr 表中 goods_id 匹配的记录
sql = "DELETE FROM sp_goods_attr WHERE goods_id =?"; // SQL删除语句
// 执行 SQL 查询操作,将 goods_id 作为参数传递给 SQL 语句
database.driver.execQuery( // 执行SQL查询的方法
sql // SQL语句
, [goods_id], // 参数数组包含要删除的goods_id
function (err) { // 回调函数,处理执行结果
// 如果执行查询时出现错误,调用回调函数并传递错误信息
if (err) return cb("删除出错"); // 错误处理
// 若操作成功,调用回调函数,将第一个参数设为 null
cb(null); // 成功处理,无返回值
});
}
/**
* 查询商品属性列表
*
* @param {[type]} goods_id 商品的唯一标识符,用于确定要查询属性的商品
* @param {Function} cb 回调函数,用于处理查询操作的结果
* 当操作完成时,将调用此函数。若操作出现错误,第一个参数将包含错误信息;若操作成功,第一个参数为 null第二个参数为查询结果
*/
module.exports.list = function (goods_id, cb) {
// 从数据库模块中获取数据库对象
db = databaseModule.getDatabase(); // 获取数据库实例
// 定义 SQL 语句,使用 LEFT JOIN 连接 sp_goods_attr 和 sp_attribute 表进行查询
// 查询内容包括多个属性,从 sp_goods_attr 表中查询一些属性,从 sp_attribute 表中查询一些属性
// 并根据 good_attr.goods_id 进行筛选
sql = "SELECT good_attr.goods_id,good_attr.attr_id,good_attr.attr_value,good_attr.add_price,attr.attr_name,attr.attr_sel,attr.attr_write,attr.attr_vals FROM sp_goods_attr as good_attr LEFT JOIN sp_attribute as attr ON attr.attr_id = good_attr.attr_id WHERE good_attr.goods_id =?"; // SQL查询语句
// 执行 SQL 查询操作,将 goods_id 作为参数传递给 SQL 语句
database.driver.execQuery( // 执行SQL查询的方法
sql // SQL语句
, [goods_id], // 参数数组包含要查询的goods_id
function (err, attrs) { // 回调函数,处理执行结果
// 如果执行查询时出现错误,调用回调函数并传递错误信息
if (err) return cb("删除出错"); // 注意:这里的错误信息提示为“删除出错”可能是个笔误,应为“查询出错”
// 若操作成功,调用回调函数,将第一个参数设为 null第二个参数为查询结果
cb(null, attrs); // 成功处理,返回查询结果
});
}