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.
 
 
 

98 lines
2.5 KiB

const dbUtils = require('../utils/db-util')
const menus = {
async ceateMenu(model) {
let result = await dbUtils.insertData('category', model);
return result;
},
// async deleteMenu(id) {
// let result = await dbUtils.deleteDataById('category', id);
// if (result.serverStatus == 2) {
// result = true
// } else {
// result = false
// }
// },
deleteMenu(id,subList,fix) {
let sql = [];
sql.push('DELETE FROM category WHERE id = '+id);
if(subList){
for (let i = 0; i < subList.length; i++) {
sql.push("UPDATE category SET belongto='"+fix+"' WHERE id = "+subList[i].id);
}
}
console.log(sql)
return new Promise((resolve,reject)=>{
dbUtils.execTrans(sql,(err)=>{
if (err){
resolve(false);
} else {
resolve(true)
}
})
})
},
/**
* 更新菜单信息
* @param {object} model 数据模型
* @return {object} mysql执行结果
*/
async update(model, id) {
let result = await dbUtils.updateData('category', model, id)
if (result.serverStatus == 2) {
result = true
} else {
result = false
}
return result
},
/**
* 获取所有菜单
*/
async getAllMenus() {
let _sql = `SELECT * from category;`;
let result = await dbUtils.query(_sql);
if (Array.isArray(result)) {
result = result
} else {
result = null;
}
return result
},
async getMenusByID(id) {
let _sql = `
SELECT * from category
where id="${id}";`;
let result = await dbUtils.query(_sql);
if (Array.isArray(result) && result.length > 0) {
result = result
} else {
result = null;
}
return result
},
/**
* 获取子菜单
* 0: 主菜单
* 1: 属于ID:1的子菜单
* 2: 属于ID:2的子菜单
*/
async getMenusByBelongTo(belongto) {
let _sql = `
SELECT * from category
where belongto="${belongto}";`;
let result = await dbUtils.query(_sql);
if (Array.isArray(result) && result.length > 0) {
result = result
} else {
result = null;
}
return result
},
}
module.exports = menus