From ff0cf79f9a5cd0a6b47ebde32522dfd89aba1be2 Mon Sep 17 00:00:00 2001 From: kanade <3136520963@qq.com> Date: Tue, 14 Jun 2022 10:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=A7=92=E8=89=B2=E4=B8=BB?= =?UTF-8?q?=E9=94=AEid=E6=9F=A5=E8=AF=A2=E8=A7=92=E8=89=B2=E6=9D=83?= =?UTF-8?q?=E9=99=90=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxApp/UserJurisdictionController.java | 11 +-- .../project0512/mapper/UserMenusMapper.java | 7 ++ .../mapper/UserOperationMapper.java | 7 ++ .../project0512/model/UserJurisdiction.java | 4 +- .../vo/UserJurisdictionFBRIOperationVo.java | 35 ++++++++++ .../model/vo/UserJurisdictionFBRIVo.java | 39 +++++++++++ .../service/IUserJurisdictionService.java | 12 ++++ .../UserJurisdictionServiceImpl.java | 67 +++++++++++++++++++ 8 files changed, 175 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/zh/project0512/mapper/UserMenusMapper.java create mode 100644 src/main/java/com/zh/project0512/mapper/UserOperationMapper.java create mode 100644 src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIOperationVo.java create mode 100644 src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIVo.java diff --git a/src/main/java/com/zh/project0512/controller/wxApp/UserJurisdictionController.java b/src/main/java/com/zh/project0512/controller/wxApp/UserJurisdictionController.java index 2f3660e..14f6efa 100644 --- a/src/main/java/com/zh/project0512/controller/wxApp/UserJurisdictionController.java +++ b/src/main/java/com/zh/project0512/controller/wxApp/UserJurisdictionController.java @@ -2,8 +2,10 @@ package com.zh.project0512.controller.wxApp; import com.zh.project0512.model.dto.OperationRoleJurisdictionDTO; import com.zh.project0512.model.dto.UserJurisdictionFBIDTO; +import com.zh.project0512.model.vo.UserJurisdictionFBRIVo; import com.zh.project0512.service.IUserJurisdictionService; import com.zh.project0512.utils.result.Result; +import com.zh.project0512.utils.result.ResultList; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -39,13 +41,12 @@ public class UserJurisdictionController { } /** - * 根据角色主键id查询角色权限信息//TODO 有问题 + * 根据角色主键id查询角色权限信息 * @param userJurisdictionFBIDTO 角色权限 FBI DTO - * @return + * @return 角色权限信息 */ @PostMapping("/findByRoleId") - public Result findByRoleId(@Validated @RequestBody UserJurisdictionFBIDTO userJurisdictionFBIDTO){ -// return Result.success(userJurisdictionService.findByRoleId(userJurisdictionFBIDTO)); - return null; + public ResultList findByRoleId(@Validated @RequestBody UserJurisdictionFBIDTO userJurisdictionFBIDTO){ + return ResultList.success(userJurisdictionService.findByRoleId(userJurisdictionFBIDTO)); } } diff --git a/src/main/java/com/zh/project0512/mapper/UserMenusMapper.java b/src/main/java/com/zh/project0512/mapper/UserMenusMapper.java new file mode 100644 index 0000000..0d279be --- /dev/null +++ b/src/main/java/com/zh/project0512/mapper/UserMenusMapper.java @@ -0,0 +1,7 @@ +package com.zh.project0512.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zh.project0512.model.UserMenus; + +public interface UserMenusMapper extends BaseMapper { +} diff --git a/src/main/java/com/zh/project0512/mapper/UserOperationMapper.java b/src/main/java/com/zh/project0512/mapper/UserOperationMapper.java new file mode 100644 index 0000000..0d65ce6 --- /dev/null +++ b/src/main/java/com/zh/project0512/mapper/UserOperationMapper.java @@ -0,0 +1,7 @@ +package com.zh.project0512.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zh.project0512.model.UserOperation; + +public interface UserOperationMapper extends BaseMapper { +} diff --git a/src/main/java/com/zh/project0512/model/UserJurisdiction.java b/src/main/java/com/zh/project0512/model/UserJurisdiction.java index 08fdd75..b836cc2 100644 --- a/src/main/java/com/zh/project0512/model/UserJurisdiction.java +++ b/src/main/java/com/zh/project0512/model/UserJurisdiction.java @@ -29,12 +29,12 @@ public class UserJurisdiction implements Serializable { * 菜单主键id */ @TableField("menusId") - private String menusId; + private Integer menusId; /** * 操作主键id */ @TableField("operationId") - private String operationId; + private Integer operationId; /** * 权限备注 */ diff --git a/src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIOperationVo.java b/src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIOperationVo.java new file mode 100644 index 0000000..7e97732 --- /dev/null +++ b/src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIOperationVo.java @@ -0,0 +1,35 @@ +package com.zh.project0512.model.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * 用户权限-操作Vo + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserJurisdictionFBRIOperationVo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + private Integer id; + /** + * 操作名称 + */ + private String name; + /** + * 操作编码 + */ + private String code; + /** + * 是否选中 + */ + private boolean check; + +} diff --git a/src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIVo.java b/src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIVo.java new file mode 100644 index 0000000..56be63e --- /dev/null +++ b/src/main/java/com/zh/project0512/model/vo/UserJurisdictionFBRIVo.java @@ -0,0 +1,39 @@ +package com.zh.project0512.model.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * 根据角色主键id查询角色权限信息 Vo + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserJurisdictionFBRIVo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 菜单主键id + */ + private Integer id; + /** + * 菜单名称 + */ + private String name; + /** + * 菜单编码 + */ + private String code; + /** + * 是否选中 + */ + private boolean check; + /** + * 操作集合 + */ + private List operationVoList; +} diff --git a/src/main/java/com/zh/project0512/service/IUserJurisdictionService.java b/src/main/java/com/zh/project0512/service/IUserJurisdictionService.java index 2c80634..f751021 100644 --- a/src/main/java/com/zh/project0512/service/IUserJurisdictionService.java +++ b/src/main/java/com/zh/project0512/service/IUserJurisdictionService.java @@ -1,6 +1,10 @@ package com.zh.project0512.service; import com.zh.project0512.model.dto.OperationRoleJurisdictionDTO; +import com.zh.project0512.model.dto.UserJurisdictionFBIDTO; +import com.zh.project0512.model.vo.UserJurisdictionFBRIVo; + +import java.util.List; public interface IUserJurisdictionService { /** @@ -9,4 +13,12 @@ public interface IUserJurisdictionService { * @return 操作结果 */ boolean operationRoleJurisdiction(OperationRoleJurisdictionDTO operationRoleJurisdictionDTO); + + /** + * 根据角色主键id查询角色权限信息 + * @param userJurisdictionFBIDTO 角色权限 FBI DTO + * @return 角色权限信息 + */ + List findByRoleId(UserJurisdictionFBIDTO userJurisdictionFBIDTO); + } diff --git a/src/main/java/com/zh/project0512/serviceImpl/UserJurisdictionServiceImpl.java b/src/main/java/com/zh/project0512/serviceImpl/UserJurisdictionServiceImpl.java index 1ddcd96..c8a4139 100644 --- a/src/main/java/com/zh/project0512/serviceImpl/UserJurisdictionServiceImpl.java +++ b/src/main/java/com/zh/project0512/serviceImpl/UserJurisdictionServiceImpl.java @@ -1,19 +1,37 @@ package com.zh.project0512.serviceImpl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.zh.project0512.mapper.UserJurisdictionMapper; +import com.zh.project0512.mapper.UserMenusMapper; +import com.zh.project0512.mapper.UserOperationMapper; import com.zh.project0512.mapper.UserRoleJurisdictionMapper; +import com.zh.project0512.model.UserJurisdiction; +import com.zh.project0512.model.UserMenus; +import com.zh.project0512.model.UserOperation; import com.zh.project0512.model.UserRoleJurisdiction; import com.zh.project0512.model.dto.OperationRoleJurisdictionDTO; +import com.zh.project0512.model.dto.UserJurisdictionFBIDTO; +import com.zh.project0512.model.vo.UserJurisdictionFBRIOperationVo; +import com.zh.project0512.model.vo.UserJurisdictionFBRIVo; import com.zh.project0512.service.IUserJurisdictionService; +import com.zh.project0512.utils.PropertyUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; @Service public class UserJurisdictionServiceImpl implements IUserJurisdictionService { @Resource UserRoleJurisdictionMapper userRoleJurisdictionMapper; + @Resource + UserMenusMapper userMenusMapper; + @Resource + UserOperationMapper userOperationMapper; + @Resource + UserJurisdictionMapper userJurisdictionMapper; @Override @Transactional @@ -36,4 +54,53 @@ public class UserJurisdictionServiceImpl implements IUserJurisdictionService { return true; } + + @Override + public List findByRoleId(UserJurisdictionFBIDTO userJurisdictionFBIDTO) { + ArrayList userJurisdictionFBRIVos = new ArrayList<>(); + + //查询所有菜单 + QueryWrapper queryWrapper = new QueryWrapper<>(); + List userMenus = userMenusMapper.selectList(queryWrapper); + if (userMenus != null && userMenus.size() >0){ + for (UserMenus userMenu : userMenus) { + UserJurisdictionFBRIVo userJurisdictionFBRIVo = new UserJurisdictionFBRIVo(); + PropertyUtils.copyProperties(userMenu,userJurisdictionFBRIVo); + userJurisdictionFBRIVo.setCheck(false);//默认为未选中 + + //查询菜单下所有操作信息 + ArrayList operationVoList = new ArrayList<>(); + QueryWrapper queryWrapper4 = new QueryWrapper<>(); + queryWrapper4.eq("menusId",userMenu.getId()); + List userJurisdictions = userJurisdictionMapper.selectList(queryWrapper4); + if (userJurisdictions != null && userJurisdictions.size()>0){ + for (UserJurisdiction userJurisdiction : userJurisdictions) { + UserOperation userOperation = userOperationMapper.selectById(userJurisdiction.getOperationId()); + if (userOperation != null){ + UserJurisdictionFBRIOperationVo operationVo = new UserJurisdictionFBRIOperationVo(); + PropertyUtils.copyProperties(userJurisdiction,operationVo); + operationVo.setCheck(false);//默认为未选中 + //查询该操作是否选中,如果选中则菜单也被选中 + QueryWrapper queryWrapper5 = new QueryWrapper<>(); + queryWrapper5.eq("jurisdictionId",userJurisdiction.getId()); + queryWrapper5.eq("roleId",userJurisdictionFBIDTO.getRoleId()); + queryWrapper5.last("limit 1"); + UserRoleJurisdiction userRoleJurisdiction = userRoleJurisdictionMapper.selectOne(queryWrapper5); + if (userRoleJurisdiction != null){ + operationVo.setCheck(true); + userJurisdictionFBRIVo.setCheck(true); + } + + operationVoList.add(operationVo); + } + } + } + + userJurisdictionFBRIVo.setOperationVoList(operationVoList); + userJurisdictionFBRIVos.add(userJurisdictionFBRIVo); + } + } + + return userJurisdictionFBRIVos; + } }