明树Git Lab

Commit 1d32af27 authored by zfp1's avatar zfp1

1

parent e22e64ab
Pipeline #108300 passed with stage
in 3 seconds
const errorMessage = require("../utils/errorMessage"); const errorMessage = require("../utils/errorMessage");
const userModule = require('../module/userModule'); const userModule = require('../module/userModule');
const {Op} = require('sequelize'); const { Op } = require('sequelize');
async function createRole(req, res, next) { async function createRole(req, res, next) {
try { try {
const body = req.body; const body = req.body;
if (req.body.key) {
let rt = await DB.Role.findOne({ where: { key: req.body.key, del: 0 } });
if (rt) {
return res.sendError(errorMessage.roleDuplicate);
}
}
let ret = await DB.Role.create(body); let ret = await DB.Role.create(body);
ret = ret.toJSON(); ret = ret.toJSON();
if(body.menus) { //如果这里前端给的是树形结构 需要把它拆成平行,//TODO: if (body.menus) { //如果这里前端给的是树形结构 需要把它拆成平行,//TODO:
// body.menus = utils.disTree(body.menus); // body.menus = utils.disTree(body.menus);
await userModule.setRoleMenu(ret.id, body.menus, []); await userModule.setRoleMenu(ret.id, body.menus, []);
delete body.menus; delete body.menus;
...@@ -25,7 +31,7 @@ async function updateRole(req, res, next) { ...@@ -25,7 +31,7 @@ async function updateRole(req, res, next) {
return res.sendError(errorMessage.resourceNotFound) return res.sendError(errorMessage.resourceNotFound)
} }
let role = await DB.Role.findOne({ let role = await DB.Role.findOne({
where: {del: 0, id: req.body.id}, where: { del: 0, id: req.body.id },
raw: true, raw: true,
include: [ include: [
{ {
...@@ -37,19 +43,19 @@ async function updateRole(req, res, next) { ...@@ -37,19 +43,19 @@ async function updateRole(req, res, next) {
} }
] ]
}) })
if(!(role && role.id)) { if (!(role && role.id)) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
if(body.menus) { if (body.menus) {
// body.menus = utils.disTree(body.menus); // body.menus = utils.disTree(body.menus);
console.log(body.menus, "===============") console.log(body.menus, "===============")
await userModule.setRoleMenu(role.id, body.menus, role.menus || []); await userModule.setRoleMenu(role.id, body.menus, role.menus || []);
delete body.menus; delete body.menus;
} }
// sequelize 只有update 写时需要注意条件 不能为空 // sequelize 只有update 写时需要注意条件 不能为空
if(role.key != req.body.key) { if (role.key != req.body.key) {
let rt = await DB.Role.findOne({where: {key: req.body.key, del: 0}}); let rt = await DB.Role.findOne({ where: { key: req.body.key, del: 0 } });
if(rt) { if (rt) {
return res.sendError(errorMessage.roleDuplicate); return res.sendError(errorMessage.roleDuplicate);
} }
} }
...@@ -71,7 +77,7 @@ async function deleteRole(req, res, next) { ...@@ -71,7 +77,7 @@ async function deleteRole(req, res, next) {
// } // }
const ret = await DB.Role.update({ del: 1 }, { where: { id: req.body.id } }); const ret = await DB.Role.update({ del: 1 }, { where: { id: req.body.id } });
//删除用户角色绑定 //删除用户角色绑定
await DB.UserRole.destroy({where: {roleId: req.body.id}}); await DB.UserRole.destroy({ where: { roleId: req.body.id } });
return res.sendData(ret); return res.sendData(ret);
} catch (error) { } catch (error) {
next(error); next(error);
...@@ -80,7 +86,7 @@ async function deleteRole(req, res, next) { ...@@ -80,7 +86,7 @@ async function deleteRole(req, res, next) {
async function listRole(req, res, next) { async function listRole(req, res, next) {
try { try {
let search = {where: {del: 0}}; let search = { where: { del: 0 } };
let page = req.body.page || 1; let page = req.body.page || 1;
let limit = req.body.pageSize || 10; let limit = req.body.pageSize || 10;
let offset = (page - 1) * limit; let offset = (page - 1) * limit;
...@@ -107,10 +113,10 @@ async function getRole(req, res, next) { ...@@ -107,10 +113,10 @@ async function getRole(req, res, next) {
if (!req.body.id) { if (!req.body.id) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
let ret = await DB.Role.findOne({ let ret = await DB.Role.findOne({
where: { id: req.body.id }, where: { id: req.body.id },
include: [ include: [
{ {
model: DB.Menu, model: DB.Menu,
as: 'menus', as: 'menus',
// where: {del: 0}, // where: {del: 0},
...@@ -126,14 +132,14 @@ async function getRole(req, res, next) { ...@@ -126,14 +132,14 @@ async function getRole(req, res, next) {
} }
] ]
}); });
if(!ret) { if (!ret) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
ret = ret.toJSON(); ret = ret.toJSON();
console.log(ret.menus, "------------") console.log(ret.menus, "------------")
if(ret && ret.menus && ret.menus.length) { if (ret && ret.menus && ret.menus.length) {
// ret.menus = utils.buildTree(ret.menus); // ret.menus = utils.buildTree(ret.menus);
ret.menus = ret.menus.map(o => {return o && o.id}); ret.menus = ret.menus.map(o => { return o && o.id });
} }
return res.sendData(ret); return res.sendData(ret);
} catch (error) { } catch (error) {
...@@ -144,11 +150,11 @@ async function getRole(req, res, next) { ...@@ -144,11 +150,11 @@ async function getRole(req, res, next) {
async function setRoleMenu(req, res, next) { async function setRoleMenu(req, res, next) {
try { try {
const {roleId, menuIds} = req.body; const { roleId, menuIds } = req.body;
if(!roleId) { if (!roleId) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
const rolemenus = await DB.RoleMenu.findAll({where: {roleId: roleId}, raw: true}); const rolemenus = await DB.RoleMenu.findAll({ where: { roleId: roleId }, raw: true });
await userModule.setRoleMenu(roleId, menuIds, rolemenus); await userModule.setRoleMenu(roleId, menuIds, rolemenus);
return res.sendData(); return res.sendData();
} catch (error) { } catch (error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment