角色添加权限

This commit is contained in:
赵肖云
2021-06-24 14:08:51 +08:00
parent 2854d385f1
commit 1398f34c1e
6 changed files with 90 additions and 0 deletions
@@ -52,6 +52,10 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
@Override
@Transactional
public ResponseMessage<Object> setRole(TsPositionRoleVO tsPositionRoleVO) {
TsPosition position=tsPositionDao.selectById(tsPositionRoleVO.getPositionId());
if(position==null){
return Result.error("该岗位不存在");
}
List<String> oldRoleIds=tsPositionDao.getRoleId(tsPositionRoleVO.getPositionId());
Map<String,List<String>> updateRoleIds= ListUtil.difList(tsPositionRoleVO.getRoleIds(),oldRoleIds);
List<String> insertIds=updateRoleIds.get("insert");
@@ -4,6 +4,7 @@ package com.adc.da.slrs.sarRole.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.sys.entity.UserEO;
import io.swagger.annotations.ApiOperation;
@@ -15,6 +16,7 @@ import com.adc.da.slrs.sarRole.entity.TsRole;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import javax.validation.Valid;
import java.util.List;
/**
@@ -69,4 +71,10 @@ public class TsRoleController extends BaseController<TsRole> {
public ResponseMessage<Object> deleteRole(@RequestParam String roleId){
return tsRoleService.deleteRole(roleId);
}
@ApiOperation("配置权限")
@PostMapping("/ment")
public ResponseMessage<Object> setMenu(@Valid @RequestBody TsRoleMenuVO tsRoleMenuVO){
return tsRoleService.setMenu(tsRoleMenuVO);
}
}
@@ -2,6 +2,8 @@ package com.adc.da.slrs.sarRole.dao;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -23,4 +25,28 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
*/
@Select("select position_id from ts_position_role where role_id=#{roleId}")
List<String> getPositionIds(String roleId);
/**
* 查询角色的权限ID
* @param roleId:角色ID
* @return List<String>
*/
@Select("select menu_id from ts_role_menu where role_id=#{roleId}")
List<String> getMenuIds(String roleId);
/**
* 添加权限
* @param roleId:角色ID
* @param menuId:权限ID
*/
@Insert("insert into ts_role_menu (role_id,menu_id) values (#{roleId},#{menuId})")
void addMenu(String roleId, String menuId);
/**
* 删除权限
* @param roleId:角色ID
* @param menuId:权限ID
*/
@Delete("delete from ts_role_menu where role_id=#{roleId} and menu_id=#{menuId}")
void delMenu(String roleId, String menuId);
}
@@ -0,0 +1,14 @@
package com.adc.da.slrs.sarRole.entity;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class TsRoleMenuVO {
@NotNull(message = "roleId不能为空")
private String roleId;
@NotNull(message = "menuIds不能为空")
private List<String> menuIds;
}
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarRole.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -49,4 +50,11 @@ public interface ITsRoleService extends IService<TsRole> {
* @return ResponseMessage<Object>
*/
ResponseMessage<Object> deleteRole(String roleId);
/**
* 配置菜单
* @param tsRoleMenuVO:菜单ID
* @return ResponseMessage<Object>
*/
ResponseMessage<Object> setMenu(TsRoleMenuVO tsRoleMenuVO);
}
@@ -2,15 +2,20 @@ package com.adc.da.slrs.sarRole.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.utils.util.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -134,5 +139,30 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
return Result.success();
}
/**
* 配置菜单
* @param tsRoleMenuVO:菜单ID
* @return ResponseMessage<Object>
*/
@Override
@Transactional
public ResponseMessage<Object> setMenu(TsRoleMenuVO tsRoleMenuVO) {
TsRole role=tsRoleDao.selectById(tsRoleMenuVO.getRoleId());
if(role==null){
return Result.error("该角色不存在");
}
List<String> oldMenuIds=tsRoleDao.getMenuIds(tsRoleMenuVO.getRoleId());
Map<String,List<String>> updateMenuIds= ListUtil.difList(tsRoleMenuVO.getMenuIds(),oldMenuIds);
List<String> insertIds=updateMenuIds.get("insert");
List<String> deleteIds=updateMenuIds.get("update");
for(String menuId:insertIds){
tsRoleDao.addMenu(tsRoleMenuVO.getRoleId(),menuId);
}
for(String menuId:deleteIds){
tsRoleDao.delMenu(tsRoleMenuVO.getRoleId(),menuId);
}
return Result.success();
}
}