This commit is contained in:
2023-11-07 17:15:33 +08:00
commit fe37e2e1df
418 changed files with 53012 additions and 0 deletions
@@ -0,0 +1,58 @@
const formRules = require("../util/formRules.js");
module.exports = {
/**
* 新增角色
* @url admin/system/role/sys/add 前端调用的url参数地址
* data 请求参数 说明
* @param {String} role_id 角色Id(role_id)
* @param {String} role_name 角色名称,展示用
* @param {String} comment 备注
* @param {Boolean} enable 是否启用
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let {
role_id,
role_name,
comment,
enable = true,
} = data;
// 参数合法校验开始-----------------------------------------------------------
let formRulesRes = await formRules.add(event);
if (formRulesRes.code !== 0) {
return formRulesRes;
}
// 参数合法校验结束-----------------------------------------------------------
let dbName = "uni-id-roles";
// 检查role_id是否存在
let num = await vk.baseDao.count({
dbName,
whereJson: {
role_id
}
});
if (num > 0) {
return { code: -1, msg: `标识【${role_id}】不能重复!` };
}
// 执行数据库API请求
res.id = await vk.baseDao.add({
dbName,
dataJson: {
role_id,
role_name,
comment,
enable
}
});
return res;
}
}
@@ -0,0 +1,49 @@
module.exports = {
/**
* 为角色绑定菜单
* @url admin/system/role/sys/bindMenu 前端调用的url参数地址
* data 请求参数 说明
* @param {Array} role_id 角色Id(role_id)
* @param {Array} menuList 菜单Id(menu_id)列表
* @param {Boolean} reset 是否直接覆盖菜单,true:直接将menuList设置为角色菜单,false:在角色已有菜单后追加菜单
* @param {Boolean} addPermission 是否自动添加菜单内置的权限 默认false
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let { role_id, menuList, reset, addPermission } = data;
res = await vk.system.sysDao.roleBindMenu({
role_id,
menuList,
reset,
addPermission
});
if (res.code !== 0) return res;
let dbName = "uni-id-roles";
let roleInfo = await vk.baseDao.findByWhereJson({
dbName,
whereJson: {
role_id,
}
});
let count = roleInfo.menu ? roleInfo.menu.length : 0;
// 修改stats_count_info统计信息
res.info = await vk.baseDao.updateAndReturn({
dbName,
whereJson: {
role_id
},
dataJson: {
["stats_count_info.type.0.count"]: count
},
});
return res;
}
}
@@ -0,0 +1,40 @@
module.exports = {
/**
* 为角色绑定权限
* @url admin/system/role/sys/bindPermission 前端调用的url参数地址
* data 请求参数 说明
* @param {Array} role_id 角色Id(role_id)
* @param {Array} permissionList 权限Id(permission_id)列表
* @param {Boolean} reset 是否直接覆盖角色权限,true:直接将permissionList设置为角色权限,false:在角色已有权限后追加权限
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let { role_id, permissionList, reset, stats_count_info = {} } = data;
res = await uniID.bindPermission({
roleID: role_id,
permissionList,
reset
});
if (res.code !== 0) return res;
res.msg = res.message;
// 修改stats_count_info统计信息
res.info = await vk.baseDao.updateAndReturn({
dbName: "uni-id-roles",
whereJson: {
role_id
},
dataJson: {
stats_count_info: _.set(stats_count_info)
},
});
return res;
}
}
@@ -0,0 +1,28 @@
module.exports = {
/**
* 删除角色
* @url admin/system/role/sys/delete 前端调用的url参数地址
* data 请求参数 说明
* @param {String} role_id 角色Id(role_id)
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let { role_id } = data;
if (vk.pubfn.isNullOne(role_id)) {
return { code: -1, msg: 'role_id不能为空' };
}
res = uniID.deleteRole({
roleID: role_id
});
res.msg = res.message;
return res;
}
}
@@ -0,0 +1,51 @@
module.exports = {
/**
* 查询角色列表
* @url admin/system/role/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let dbName = "uni-id-roles";
res = await vk.baseDao.getTableData({
dbName,
data,
// 副表列表
foreignDB: [
{
dbName: "uni-id-permissions",
localKey: "permission",
localKeyType: "array",
foreignKey: "permission_id",
as: "permissionList",
limit: 500,
fieldJson: { permission_id:true, permission_name:true,comment:true, enable:true, url:true },
},
{
dbName: "opendb-admin-menus",
localKey: "menu",
localKeyType: "array",
foreignKey: "menu_id",
as: "menuList",
limit: 500,
fieldJson: { menu_id:true, name:true,comment:true, enable:true, url:true },
},
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,50 @@
const formRules = require("../util/formRules.js");
module.exports = {
/**
* 修改角色
* @url admin/system/role/sys/update 前端调用的url参数地址
* data 请求参数 说明
* @param {String} role_id 角色Id(role_id)
* @param {String} role_name 角色名称,展示用
* @param {String} comment 备注
* @param {Boolean} enable 是否启用
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let {
role_id,
role_name,
comment,
enable = true,
} = data;
// 参数合法校验开始-----------------------------------------------------------
let formRulesRes = await formRules.add(event);
if (formRulesRes.code !== 0) {
return formRulesRes;
}
// 参数合法校验结束-----------------------------------------------------------
// 执行数据库API请求
res.num = await vk.baseDao.update({
dbName: "uni-id-roles",
whereJson: {
role_id
},
dataJson: {
role_name,
comment,
enable
}
});
return res;
}
}
@@ -0,0 +1,37 @@
module.exports = {
/**
* 修改基础信息
* @url admin/system/role/sys/updateBase 前端调用的url参数地址
* data 请求参数 说明
* @param {String} _id id
* @param {Boolean} enable 是否启用
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
let {
_id,
enable,
} = data;
if (vk.pubfn.isNull(_id)) return { code: -1, msg: "_id不能为空" };
let dbName = "uni-id-roles";
// 执行数据库API请求
res.num = await vk.baseDao.updateById({
dbName,
id: _id,
dataJson: {
enable,
},
});
return res;
}
}