提交 7da5dead 编写于 作者: Skyeye云's avatar Skyeye云

编辑角色,删除角色完成

上级 e425ce08
...@@ -21,5 +21,15 @@ public interface SysEveRoleDao { ...@@ -21,5 +21,15 @@ public interface SysEveRoleDao {
public List<Map<String, Object>> querySysRoleMenuIdByRoleId(Map<String, Object> map) throws Exception; public List<Map<String, Object>> querySysRoleMenuIdByRoleId(Map<String, Object> map) throws Exception;
public Map<String, Object> queryRoleNameByIdAndName(Map<String, Object> map) throws Exception;
public int editSysRoleMationById(Map<String, Object> map) throws Exception;
public int deleteRoleMenuByRoleId(Map<String, Object> map) throws Exception;
public Map<String, Object> queryUserRoleByRoleId(Map<String, Object> map) throws Exception;
public int deleteRoleByRoleId(Map<String, Object> map) throws Exception;
} }
...@@ -13,4 +13,8 @@ public interface SysEveRoleService { ...@@ -13,4 +13,8 @@ public interface SysEveRoleService {
public void querySysRoleMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception; public void querySysRoleMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception;
public void editSysRoleMationById(InputObject inputObject, OutputObject outputObject) throws Exception;
public void deleteSysRoleMationById(InputObject inputObject, OutputObject outputObject) throws Exception;
} }
...@@ -125,5 +125,67 @@ public class SysEveRoleServiceImpl implements SysEveRoleService{ ...@@ -125,5 +125,67 @@ public class SysEveRoleServiceImpl implements SysEveRoleService{
outputObject.setBeans(roleMenuId); outputObject.setBeans(roleMenuId);
outputObject.settotal(roleMenuId.size()); outputObject.settotal(roleMenuId.size());
} }
/**
*
* @Title: editSysRoleMationById
* @Description: 编辑角色
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@Override
public void editSysRoleMationById(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
Map<String, Object> user = inputObject.getLogParams();
Map<String, Object> roleName = sysEveRoleDao.queryRoleNameByIdAndName(map);
if(roleName == null){
List<Map<String,Object>> beans = new ArrayList<>();
String[] menuIds = map.get("menuIds").toString().split(",");
if(menuIds.length > 0){
for(String str : menuIds){
Map<String,Object> item = new HashMap<>();
item.put("id", ToolUtil.getSurFaceId());
item.put("roleId", map.get("id").toString());
item.put("menuId", str);
item.put("createId", user.get("id"));
item.put("createTime", ToolUtil.getTimeAndToString());
beans.add(item);
}
sysEveRoleDao.deleteRoleMenuByRoleId(map);//删除角色菜单关联表信息
sysEveRoleDao.editSysRoleMationById(map);
sysEveRoleDao.insertSysRoleMenuMation(beans);
}else{
outputObject.setreturnMessage("请选择该角色即将拥有的权限!");
}
}else{
outputObject.setreturnMessage("该角色名称已存在,请更换!");
}
}
/**
*
* @Title: deleteSysRoleMationById
* @Description: 删除角色
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@Override
public void deleteSysRoleMationById(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
//判断当前是否有用户在使用该角色
Map<String, Object> bean = sysEveRoleDao.queryUserRoleByRoleId(map);
if(Integer.parseInt(bean.get("num").toString()) == 0){
sysEveRoleDao.deleteRoleMenuByRoleId(map);//删除角色菜单关联表信息
sysEveRoleDao.deleteRoleByRoleId(map);//删除角色信息
}else{
outputObject.setreturnMessage("该角色下有用户正在使用,只能对角色进行维护。");
}
}
} }
...@@ -79,4 +79,36 @@ public class SysEveRoleController { ...@@ -79,4 +79,36 @@ public class SysEveRoleController {
sysEveRoleService.querySysRoleMationToEditById(inputObject, outputObject); sysEveRoleService.querySysRoleMationToEditById(inputObject, outputObject);
} }
/**
*
* @Title: editSysRoleMationById
* @Description: 编辑角色
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@RequestMapping("/post/SysEveRoleController/editSysRoleMationById")
@ResponseBody
public void editSysRoleMationById(InputObject inputObject, OutputObject outputObject) throws Exception{
sysEveRoleService.editSysRoleMationById(inputObject, outputObject);
}
/**
*
* @Title: deleteSysRoleMationById
* @Description: 删除角色
* @param @param inputObject
* @param @param outputObject
* @param @throws Exception 参数
* @return void 返回类型
* @throws
*/
@RequestMapping("/post/SysEveRoleController/deleteSysRoleMationById")
@ResponseBody
public void deleteSysRoleMationById(InputObject inputObject, OutputObject outputObject) throws Exception{
sysEveRoleService.deleteSysRoleMationById(inputObject, outputObject);
}
} }
...@@ -79,4 +79,50 @@ ...@@ -79,4 +79,50 @@
a.role_id = #{id} a.role_id = #{id}
</select> </select>
<select id="queryRoleNameByIdAndName" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id,
a.role_name roleName,
a.role_desc roleDesc
FROM
sys_eve_role a
WHERE
a.id != #{id}
AND a.role_name = #{roleName}
</select>
<update id="editSysRoleMationById" parameterType="java.util.Map">
UPDATE sys_eve_role
<set>
role_name = #{roleName},
role_desc = #{roleDesc},
</set>
WHERE id = #{id}
</update>
<delete id="deleteRoleMenuByRoleId" parameterType="java.util.Map">
DELETE
FROM
sys_eve_role_menu
WHERE
role_id = #{id}
</delete>
<delete id="deleteRoleByRoleId" parameterType="java.util.Map">
DELETE
FROM
sys_eve_role
WHERE
id = #{id}
</delete>
<select id="queryUserRoleByRoleId" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
IFNULL(COUNT(*), 0) num
FROM
sys_eve_user a
WHERE
INSTR(CONCAT(',', #{id}, ','), CONCAT(',', a.role_id, ','))
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -85,5 +85,14 @@ ...@@ -85,5 +85,14 @@
<url id="sys016" path="/post/SysEveRoleController/querySysRoleMationToEditById" val="编辑角色时的信息回显"> <url id="sys016" path="/post/SysEveRoleController/querySysRoleMationToEditById" val="编辑角色时的信息回显">
<property id="rowId" name="id" ref="required" var="角色ID"/> <property id="rowId" name="id" ref="required" var="角色ID"/>
</url> </url>
<url id="sys017" path="/post/SysEveRoleController/editSysRoleMationById" val="编辑角色">
<property id="roleName" name="roleName" ref="required" var="角色名称"/>
<property id="roleDesc" name="roleDesc" ref="" var="角色描述"/>
<property id="menuIds" name="menuIds" ref="required" var="菜单权限"/>
<property id="rowId" name="id" ref="required" var="角色ID"/>
</url>
<url id="sys018" path="/post/SysEveRoleController/deleteSysRoleMationById" val="删除角色">
<property id="rowId" name="id" ref="required" var="角色ID"/>
</url>
</controller> </controller>
\ No newline at end of file
...@@ -3,5 +3,8 @@ ...@@ -3,5 +3,8 @@
PUBLIC "-//mybatis.org//DTD Config 3.0//EN" PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"> "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <configuration>
<!-- 打印sql日志 -->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration> </configuration>
\ No newline at end of file
...@@ -35,10 +35,11 @@ layui.config({ ...@@ -35,10 +35,11 @@ layui.config({
var params = { var params = {
roleName: $("#roleName").val(), roleName: $("#roleName").val(),
roleDesc: $("#roleDesc").val(), roleDesc: $("#roleDesc").val(),
menuIds: menuIds menuIds: menuIds,
rowId: parent.rowId
}; };
AjaxPostUtil.request({url:reqBasePath + "sys015", params:params, type:'json', callback:function(json){ AjaxPostUtil.request({url:reqBasePath + "sys017", params:params, type:'json', callback:function(json){
if(json.returnCode == 0){ if(json.returnCode == 0){
parent.layer.close(index); parent.layer.close(index);
parent.refreshCode = '0'; parent.refreshCode = '0';
...@@ -78,27 +79,26 @@ layui.config({ ...@@ -78,27 +79,26 @@ layui.config({
}); });
//绑定按钮事件 //绑定按钮事件
fsCommon.buttonEvent("tree", getTree); fsCommon.buttonEvent("tree", getTree);
AjaxPostUtil.request({url:reqBasePath + "sys016", params:{rowId: parent.rowId}, type:'json', callback:function(json){
if(json.returnCode == 0){
$("#roleName").val(json.bean.roleName);
$("#roleDesc").val(json.bean.roleDesc);
var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
var zTree = zTreeObj.getCheckedNodes(false);
for (var i = 0; i < zTree.length; i++) {
for(var j = 0; j < json.rows.length; j++){
if(zTree[i].id == json.rows[j].menuId){
zTreeObj.checkNode(zTree[i], true);
json.rows.splice(j, 1);
}
}
}
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
} }
AjaxPostUtil.request({url:reqBasePath + "sys016", params:{rowId: parent.rowId}, type:'json', callback:function(json){
if(json.returnCode == 0){
$("#roleName").val(json.bean.roleName);
$("#roleDesc").val(json.bean.roleDesc);
var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
var zTree = zTreeObj.getCheckedNodes(false);
for (var i = 0; i < zTree.length; i++) {
for(var j = 0; j < json.rows.length; j++){
if(zTree[i].id == json.rows[j].menuId){
zTreeObj.checkNode(zTree[i], true);
json.rows.splice(j, 1);
}
}
}
}else{
top.winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
function getTree(treeId) { function getTree(treeId) {
if($.isEmpty(trees)) { if($.isEmpty(trees)) {
fsCommon.warnMsg("未配置tree!"); fsCommon.warnMsg("未配置tree!");
......
...@@ -57,7 +57,7 @@ layui.config({ ...@@ -57,7 +57,7 @@ layui.config({
layer.confirm(msg, { icon: 3, title: '删除角色' }, function (index) { layer.confirm(msg, { icon: 3, title: '删除角色' }, function (index) {
layer.close(index); layer.close(index);
//向服务端发送删除指令 //向服务端发送删除指令
AjaxPostUtil.request({url:reqBasePath + "sys011", params:{rowId: data.id}, type:'json', callback:function(json){ AjaxPostUtil.request({url:reqBasePath + "sys018", params:{rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){ if(json.returnCode == 0){
top.winui.window.msg("删除成功", {icon: 1,time: 2000}); top.winui.window.msg("删除成功", {icon: 1,time: 2000});
loadTable(); loadTable();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册