角色添加权限
This commit is contained in:
+4
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user