From 1398f34c1e5fd02e2b8c00a516c245e1373b6315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=82=96=E4=BA=91?= <2816048001@qq.com> Date: Thu, 24 Jun 2021 14:08:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=B7=BB=E5=8A=A0=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TsPositionServiceImpl.java | 4 +++ .../sarRole/controller/TsRoleController.java | 8 +++++ .../adc/da/slrs/sarRole/dao/TsRoleDao.java | 26 ++++++++++++++++ .../da/slrs/sarRole/entity/TsRoleMenuVO.java | 14 +++++++++ .../slrs/sarRole/service/ITsRoleService.java | 8 +++++ .../service/impl/TsRoleServiceImpl.java | 30 +++++++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRoleMenuVO.java diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java index 6e815986..7665472a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java @@ -52,6 +52,10 @@ public class TsPositionServiceImpl extends ServiceImpl setRole(TsPositionRoleVO tsPositionRoleVO) { + TsPosition position=tsPositionDao.selectById(tsPositionRoleVO.getPositionId()); + if(position==null){ + return Result.error("该岗位不存在"); + } List oldRoleIds=tsPositionDao.getRoleId(tsPositionRoleVO.getPositionId()); Map> updateRoleIds= ListUtil.difList(tsPositionRoleVO.getRoleIds(),oldRoleIds); List insertIds=updateRoleIds.get("insert"); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java index 932f7d8c..0dbb2f61 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java @@ -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 { public ResponseMessage deleteRole(@RequestParam String roleId){ return tsRoleService.deleteRole(roleId); } + + @ApiOperation("配置权限") + @PostMapping("/ment") + public ResponseMessage setMenu(@Valid @RequestBody TsRoleMenuVO tsRoleMenuVO){ + return tsRoleService.setMenu(tsRoleMenuVO); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java index 762c671d..4023d41a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java @@ -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 { */ @Select("select position_id from ts_position_role where role_id=#{roleId}") List getPositionIds(String roleId); + + /** + * 查询角色的权限ID + * @param roleId:角色ID + * @return List + */ + @Select("select menu_id from ts_role_menu where role_id=#{roleId}") + List 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); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRoleMenuVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRoleMenuVO.java new file mode 100644 index 00000000..3c3a775d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRoleMenuVO.java @@ -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 menuIds; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java index 33e7ed5c..a2f17288 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java @@ -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 { * @return ResponseMessage */ ResponseMessage deleteRole(String roleId); + + /** + * 配置菜单 + * @param tsRoleMenuVO:菜单ID + * @return ResponseMessage + */ + ResponseMessage setMenu(TsRoleMenuVO tsRoleMenuVO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java index a1fdf72a..01abcfc2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java @@ -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; /** *

@@ -134,5 +139,30 @@ public class TsRoleServiceImpl extends ServiceImpl implements return Result.success(); } + /** + * 配置菜单 + * @param tsRoleMenuVO:菜单ID + * @return ResponseMessage + */ + @Override + @Transactional + public ResponseMessage setMenu(TsRoleMenuVO tsRoleMenuVO) { + TsRole role=tsRoleDao.selectById(tsRoleMenuVO.getRoleId()); + if(role==null){ + return Result.error("该角色不存在"); + } + List oldMenuIds=tsRoleDao.getMenuIds(tsRoleMenuVO.getRoleId()); + Map> updateMenuIds= ListUtil.difList(tsRoleMenuVO.getMenuIds(),oldMenuIds); + List insertIds=updateMenuIds.get("insert"); + List 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(); + } + }