From d1d7b61db52799fa0eca2018e7130717b4349f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B1=BD=E5=A2=83?= <1537282342@qq.com> Date: Wed, 24 Jul 2024 11:33:02 +0800 Subject: [PATCH] =?UTF-8?q?rbac=E7=9A=84=E6=9D=83=E9=99=90=EF=BC=8C?= =?UTF-8?q?=E5=92=8C=E7=BB=86=E8=8A=82=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/demo/controller/LoginController.java | 92 +++++++++++-------- .../controller/system/RoleController.java | 39 ++++++++ .../controller/system/UserController.java | 67 +++++++++++--- .../com/demo/mapper/system/RoleMapper.java | 19 +++- .../com/demo/mapper/system/UserMapper.java | 23 +++-- .../java/com/demo/pojo/DTO/DTORoleMenu.java | 70 ++++++++++++++ .../java/com/demo/pojo/DTO/DTOUserRole.java | 25 ++++- .../main/java/com/demo/pojo/VO/VOUser.java | 2 + .../main/java/com/demo/pojo/system/Role.java | 4 +- .../com/demo/service/system/RoleService.java | 4 + .../com/demo/service/system/UserService.java | 4 + .../service/system/impl/RoleServiceImpl.java | 8 ++ .../service/system/impl/UserServiceImpl.java | 11 +++ RMS/src/main/resources/application.yml | 1 + .../com/demo/mapper/system/RoleMapper.xml | 22 +++++ .../java/com/demo/RmsApplicationTests.java | 21 +++++ 16 files changed, 348 insertions(+), 64 deletions(-) create mode 100644 RMS/src/main/java/com/demo/pojo/DTO/DTORoleMenu.java create mode 100644 RMS/src/main/resources/com/demo/mapper/system/RoleMapper.xml diff --git a/RMS/src/main/java/com/demo/controller/LoginController.java b/RMS/src/main/java/com/demo/controller/LoginController.java index 7665a9e..9add578 100644 --- a/RMS/src/main/java/com/demo/controller/LoginController.java +++ b/RMS/src/main/java/com/demo/controller/LoginController.java @@ -1,40 +1,52 @@ -//package com.demo.controller; -// -//import com.demo.Office.dao.Result; -//import com.demo.Office.entity.system.User; -//import com.demo.Office.service.system.UserService; -//import com.demo.Office.util.JwtUtil; -//import com.demo.Office.util.Md5Util; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.web.bind.annotation.PostMapping; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.RestController; -// -//import java.util.HashMap; -// -// -//@RestController -//@RequestMapping("/login") -//public class LoginController { -// @Autowired -// private UserService userService; -// -// -// /* -// 用户登录 -// */ -// @PostMapping -// public Result login(String username, String password) { -// User user = userService.lambdaQuery().eq(User::getUsername, username).one(); -// String md5String = Md5Util.getMD5String(password); -// String newPwd = user.getPassword(); -// if (!md5String.equals(newPwd)) { -// return Result.error("密码错误"); -// } -// HashMap claims = new HashMap<>(); -// claims.put("id", user.getId()); -// claims.put("username", username); -// String token = JwtUtil.genToken(claims); -// return Result.success(token); -// } -//} +package com.demo.controller; + +import com.demo.dao.Result; + +import com.demo.pojo.DTO.DTORoleMenu; +import com.demo.pojo.PO.User; +import com.demo.service.system.UserService; +import com.demo.util.JwtUtil; +import com.demo.util.Md5Util; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; + + +@RestController +@RequestMapping("/login") +public class LoginController { + @Autowired + private UserService userService; + + + /* + 用户登录 + */ + @PostMapping + public Result login(String username, String password) { + User user = userService.lambdaQuery().eq(User::getUsername, username).one(); + String md5String = Md5Util.getMD5String(password); + String newPwd = user.getPassword(); + if (!md5String.equals(newPwd)) { + return Result.error("密码错误"); + } + HashMap claims = new HashMap<>(); + claims.put("id", user.getId()); + claims.put("username", username); + String token = JwtUtil.genToken(claims); + return Result.success(token); + } + + // 获取用户的角色和权限 + @GetMapping + public Result getRoleAndMenuByUserId(Integer userId) { + List UserRAndM = userService.getRAndMById(userId); + System.out.println(UserRAndM); + return Result.success(UserRAndM); + } +} diff --git a/RMS/src/main/java/com/demo/controller/system/RoleController.java b/RMS/src/main/java/com/demo/controller/system/RoleController.java index 6ee848b..1379819 100644 --- a/RMS/src/main/java/com/demo/controller/system/RoleController.java +++ b/RMS/src/main/java/com/demo/controller/system/RoleController.java @@ -5,13 +5,17 @@ package com.demo.controller.system; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.demo.dao.Result; +import com.demo.mapper.system.RoleMapper; +import com.demo.pojo.DTO.DTORoleMenu; import com.demo.pojo.system.Role; import com.demo.service.system.RoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Validated @RestController @@ -20,6 +24,8 @@ public class RoleController { @Autowired private RoleService roleService; + @Autowired + private RoleMapper roleMapper; @PostMapping public Result addRole(@RequestBody Role role) { @@ -50,4 +56,37 @@ public class RoleController { Page page = roleService.lambdaQuery().like(Role::getRoleName,roleName).page(Page.of(pageNum, pageSize)); return Result.success(page); } + + // 分配角色权限,先去调菜单表的树状图,再调一遍这个传入roleId获取该角色已有的权限,前端记得排除isDelete=0的(你问我为啥不排除?因为我下面需要用到没被排除的) + @GetMapping(value = "/getMenuByRoleId") + public Result getMenuByRoleId(@RequestParam int roleId) { + return Result.success(roleMapper.selectRoleMenuById(roleId)); + } + @PutMapping(value = "/putRoleMenu") + public Result updateRoleMenu(@RequestParam Integer roleId,@RequestBody List menuIds) { + //删除全部这个角色的menu,然后新增这个角色新写入的menuId + System.out.println(menuIds); + // 软删除,设置isDeleted=0 + roleMapper.delAllMenuByRoleId(roleId,0); + // 查询已有的,被软删除的,又需要设为1的,设为1,并找出没有的,放到下面去新增 + List roleMenu = roleMapper.selectRoleMenuById(roleId); + List needBy3 = new ArrayList<>(); + List needAddRoleMenu = menuIds.stream().filter(m1->{ // 需要新增的 + // 比较menuId和传入的id,找出有的要改的 + List setDelIs1 = roleMenu.stream().filter(m2->{return m2.getMenuId().equals(m1);}).map(m2->{ + needBy3.add(m2.getId()); + return m2.getId(); }).collect(Collectors.toList()); + // 传入的id如果有,则比较结果应该有一个相等,如果没有一个相等的说明没有,说明比较找没有的 + Boolean i = roleMenu.stream().filter(m2->{return m2.getMenuId().equals(m1);}).collect(Collectors.toList()).size()==0; + return i; + }).collect(Collectors.toList()); + + // 传入权限(菜单)id新增 + if (needAddRoleMenu.size()>0) {roleMapper.insertRoleMenu(roleId,needAddRoleMenu);} + + // 更加id修改 + if (needBy3.size()>0) {roleMapper.setDelIs(needBy3,1);} + + return Result.success(); + } } diff --git a/RMS/src/main/java/com/demo/controller/system/UserController.java b/RMS/src/main/java/com/demo/controller/system/UserController.java index effa916..136d4b4 100644 --- a/RMS/src/main/java/com/demo/controller/system/UserController.java +++ b/RMS/src/main/java/com/demo/controller/system/UserController.java @@ -3,6 +3,7 @@ package com.demo.controller.system; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -21,6 +22,7 @@ import com.demo.service.system.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -36,20 +38,44 @@ public class UserController { @Autowired private DeptMapper deptMapper; // 获取左侧树状图,点击后拿到树状图点击的treePath,显示归属的人员 // 默认进去给个1就能显示全部 + // userRoleId和userPostId 不想要就不传值或者传空字符串"" @GetMapping - public Result getAllUser(String treePath,int currentPage,int pageSize){ + public Result getAllUser(String treePath,int currentPage,int pageSize, + @RequestParam(required = false ,defaultValue = "") String need, + @RequestParam(required = false ,defaultValue = "") String userRoleId, + @RequestParam(required = false ,defaultValue = "") String userPostId){ + // roleId并不在user表内,需要额外过一遍userid + List user2; + if (!userRoleId.equals("")){user2 = userMapper.selectRoleId(userRoleId);} + else {user2 = null;}; // 拿到tree数字,查询树下的机构id List user1 = userMapper.selectDeptTree("%"+treePath+"%"); // 查询归属于以上机构id的人 - QueryWrapper wrapper = new QueryWrapper() - .in("dept_id", user1); + LambdaQueryWrapper wrapper = new QueryWrapper().lambda() + .eq(!userPostId.equals(""),User::getPostId,userPostId) + .in(User::getDeptId, user1) + .and(qw1->qw1.like(User::getName,need) + .or(qw->qw.like(User::getPhone,need)) + .or(qw->qw.like(User::getUsername,need))); + Page page = new Page<>(currentPage,pageSize); List userList = userMapper.selectPage(page,wrapper).getRecords(); + + // 筛除不符合roleId条件的对象 + if(!userRoleId.equals("")){ + userList = userList.stream().filter(m->{ + return user2.stream() + .filter(m2->m2.getUserId().equals(m.getId())) + .collect(Collectors.toList()) + .size()!=0;}) + .collect(Collectors.toList()); + }; // 用getRecords()这个方法获取page类型内的内容转成list,才能使用list的方法处理数据 List userList1 = makeUserToVO(userList); return Result.success(userList1); } + // 将User表的信息转化为VOUser的信息 public List makeUserToVO(List userList){ List userList1 = userList.stream().map(m->{ @@ -58,6 +84,7 @@ public class UserController { user.setUsername(m.getUsername()); user.setName(m.getName()); user.setPhone(m.getPhone()); + user.setPostId(m.getPostId()); user.setStatus(m.getStatus()); user.setCreateTime(m.getCreateTime()); // 调岗位表一一对应 @@ -68,6 +95,7 @@ public class UserController { List getRole = getRole(); getRole.stream().filter(m2-> m2.getUserId().equals(m.getId())).forEach(m2->{ user.setRole(m2.getRoleName()); + user.setRoleId(m2.getRoleId()); }); List getDept = getDept(); getDept.stream().filter(m2-> m2.getId().equals(m.getDeptId())).forEach(m2->{ @@ -89,12 +117,7 @@ public class UserController { public List getDept(){ return userMapper.selectAllDept(); } - // 模糊查询 - @GetMapping(value = "/getLike") - public Result getLike(String need,int currentPage,int pageSize){ - Integer firstPage = (currentPage - 1)*pageSize; - return Result.success( makeUserToVO(userMapper.selectLikeUser("%"+need+"%",firstPage,pageSize))); - } + // 递归分层级 部门 public List getDeptStream(List userList, List userid){ @@ -174,10 +197,30 @@ public class UserController { List userRoleList = userMapper.selectUserRole(userId); return Result.success( userRoleList); } - // 修改时只能单独修改哦,前端注意(问我为什么?因为我想不出批量修改不同数值该怎么写sql语句) + // 传入一个修改的数组,也就是这个用户修改完的所有他的角色数组 @PutMapping(value = "/putUserRole") - public Result putUserRole(@RequestBody DTOUserRole userRole){ - return Result.success( userMapper.updateRoleMenu(userRole.getRoleId(),userRole.getUserId())); + public Result putUserRole(@RequestBody List userRole){ + // 查出这个用户的所有角色信息,包括软删除过的 + List userRoleList = userMapper.selectAllUserRole(userRole.get(0).getUserId()); + // 遍历该用户的全部角色信息,和传入的用户角色信息比较角色id,存在则认为数据(id)在库内存在,把isdeleted设置为新状态 + Double i1 = userRole.stream().mapToDouble(m->{ + double i = userRoleList.stream().filter(m2->{return m2.getRoleId().equals(m.getRoleId());}) + .mapToDouble(m2 ->{ + return userMapper.updateRole(m2.getId(), m2.getIsDeleted(), m2.getUserId());}).sum(); + return i; + }).sum(); + // 重复如上操作,将认为不存在的数据新增 + i1 = i1+userRole.stream().mapToDouble(m->{ + // 寻找不存在的值 + double i = userRoleList.stream() + .filter(m2->{ + return m2.getRoleId().equals(m.getRoleId());}).count(); + // 如果不存在,就新增,并计数,否则把计数设为0 + if(i == 0.0) {i = userMapper.addUserRole(m.getRoleId(),m.getUserId(),m.getIsDeleted()); + }else {i = 0.0;} + return i; + }).sum(); + return Result.success(i1); } // 删除用户 diff --git a/RMS/src/main/java/com/demo/mapper/system/RoleMapper.java b/RMS/src/main/java/com/demo/mapper/system/RoleMapper.java index 78954a6..cc2868e 100644 --- a/RMS/src/main/java/com/demo/mapper/system/RoleMapper.java +++ b/RMS/src/main/java/com/demo/mapper/system/RoleMapper.java @@ -2,9 +2,26 @@ package com.demo.mapper.system; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.demo.pojo.DTO.DTORoleMenu; import com.demo.pojo.system.Role; -import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.*; + +import java.util.List; @Mapper public interface RoleMapper extends BaseMapper { + @Select("select * from sys_role_menu where role_id = #{roleId}") + public List selectRoleMenuById(Integer roleId); + @Update("update sys_role_menu set is_deleted = #{del} where role_id = #{roleId}") + public void delAllMenuByRoleId(Integer roleId,int del); + + +// @Update("update sys_role_menu set is_deleted = #{del} where id in #{ids}") + public void setDelIs(@Param(value = "ids") List ids, Integer del); + + + +// @Insert("insert into sys_role_menu ( role_id, menu_id) values (#{roleId},#{needAddRoleMenu2})") + public void insertRoleMenu(Integer roleId, List needAddRoleMenu2); + } diff --git a/RMS/src/main/java/com/demo/mapper/system/UserMapper.java b/RMS/src/main/java/com/demo/mapper/system/UserMapper.java index 3f3b83b..1a2e453 100644 --- a/RMS/src/main/java/com/demo/mapper/system/UserMapper.java +++ b/RMS/src/main/java/com/demo/mapper/system/UserMapper.java @@ -1,10 +1,12 @@ package com.demo.mapper.system; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.demo.pojo.DTO.DTORoleMenu; import com.demo.pojo.DTO.DTOUserDept; import com.demo.pojo.PO.User; import com.demo.pojo.DTO.DTOUserPost; import com.demo.pojo.DTO.DTOUserRole; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; @@ -13,22 +15,27 @@ import java.util.List; @Mapper public interface UserMapper extends BaseMapper { - @Select("select * from sys_user") - public List selectAllUser(); + @Select("select id,name from sys_post") public List selectAllPost(); @Select("select user_id,role_id,role_name from sys_user_role left join sys_role on sys_user_role.role_id = sys_role.id") public List selectAllUserRoleAndRole(); @Select("select * from sys_dept") public List selectAllDept(); - @Select("select * from sys_user where username like #{need} or name like #{need} or phone like #{need} limit #{firstPage},#{pageSize}") - public List selectLikeUser(String need,int firstPage,int pageSize); + @Select("select id from sys_dept where tree_path like #{treePath}") public List selectDeptTree(String treePath); - @Select("select * from sys_user where sys_user.dept_id in (#{user2})") - public List selectUserList(String user2); + @Select("select * from sys_user_role left join sys_role on sys_user_role.role_id = sys_role.id where user_id = #{userId} and sys_user_role.is_deleted = 1") public List selectUserRole(Integer userId); - @Update("update sys_user_role set role_id = #{roleId} where role_id = #{roleId} and user_id = #{userId} ") - public Integer updateRoleMenu(Integer roleId, Integer userId); + @Update("update sys_user_role set is_deleted = #{isDeleted} where id = #{id} and user_id = #{userId}") + public Integer updateRole(Integer id ,Integer isDeleted, Integer userId); + @Select("select * from sys_user_role where user_id = #{userId} ") + public List selectAllUserRole(Integer userId); + @Insert("insert into sys_user_role (role_id,user_id,is_deleted) value (#{roleId},#{userId},#{isDeleted})") + public int addUserRole(Integer roleId,Integer userId,Integer isDeleted); + @Select("select user_id from sys_user_role where role_id = #{userRoleId}") + public List selectRoleId(String userRoleId); + @Select("select b.id,a.role_id,b.menu_id,b.create_time,b.update_time,b.is_deleted from sys_user_role a left join sys_role_menu b on a.role_id = b.role_id where user_id = #{userId}") + public List getRAndMById(Integer userId); } diff --git a/RMS/src/main/java/com/demo/pojo/DTO/DTORoleMenu.java b/RMS/src/main/java/com/demo/pojo/DTO/DTORoleMenu.java new file mode 100644 index 0000000..51b92dd --- /dev/null +++ b/RMS/src/main/java/com/demo/pojo/DTO/DTORoleMenu.java @@ -0,0 +1,70 @@ +package com.demo.pojo.DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +@NoArgsConstructor +@AllArgsConstructor +@Data +public class DTORoleMenu { + private Integer id; + private Integer roleId; + private Integer menuId; + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + private int isDeleted; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getRoleId() { + return roleId; + } + + public void setRoleId(Integer roleId) { + this.roleId = roleId; + } + + public Integer getMenuId() { + return menuId; + } + + public void setMenuId(Integer menuId) { + this.menuId = menuId; + } + + public LocalDateTime getCreateTime() { + return createTime; + } + + public void setCreateTime(LocalDateTime createTime) { + this.createTime = createTime; + } + + public LocalDateTime getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(LocalDateTime updateTime) { + this.updateTime = updateTime; + } + + public int getIsDeleted() { + return isDeleted; + } + + public void setIsDeleted(int isDeleted) { + this.isDeleted = isDeleted; + } +} + diff --git a/RMS/src/main/java/com/demo/pojo/DTO/DTOUserRole.java b/RMS/src/main/java/com/demo/pojo/DTO/DTOUserRole.java index adce609..e6351a4 100644 --- a/RMS/src/main/java/com/demo/pojo/DTO/DTOUserRole.java +++ b/RMS/src/main/java/com/demo/pojo/DTO/DTOUserRole.java @@ -5,9 +5,19 @@ import lombok.Data; // 展示层 不提供set 创建时赋值 @Data public class DTOUserRole { + private Integer id; private Integer roleId; private Integer userId; private String roleName; + private int isDeleted; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } public Integer getRoleId() { return roleId; @@ -33,9 +43,22 @@ public class DTOUserRole { this.roleName = roleName; } - public DTOUserRole(Integer roleId, Integer userId, String roleName) { + public int getIsDeleted() { + return isDeleted; + } + + public void setIsDeleted(int isDeleted) { + this.isDeleted = isDeleted; + } + + public DTOUserRole() { + } + + public DTOUserRole(Integer id, Integer roleId, Integer userId, String roleName, int isDeleted) { + this.id = id; this.roleId = roleId; this.userId = userId; this.roleName = roleName; + this.isDeleted = isDeleted; } } diff --git a/RMS/src/main/java/com/demo/pojo/VO/VOUser.java b/RMS/src/main/java/com/demo/pojo/VO/VOUser.java index 15aa34e..c1a2ced 100644 --- a/RMS/src/main/java/com/demo/pojo/VO/VOUser.java +++ b/RMS/src/main/java/com/demo/pojo/VO/VOUser.java @@ -12,7 +12,9 @@ public class VOUser { private String phone; private String dept; // 部门 private String post; //岗位 + private Integer postId; private String role; // 角色 + private Integer roleId; private int status; // 状态码,1正常 0停用 private Date createTime; } diff --git a/RMS/src/main/java/com/demo/pojo/system/Role.java b/RMS/src/main/java/com/demo/pojo/system/Role.java index dd406a7..ea2ebcf 100644 --- a/RMS/src/main/java/com/demo/pojo/system/Role.java +++ b/RMS/src/main/java/com/demo/pojo/system/Role.java @@ -11,11 +11,11 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @TableName("sys_role") public class Role { - private int id; + private Integer id; private String roleName; private String roleCode; private String description; private String createTime; private String updateTime; - private int isDeleted; + private Integer isDeleted; } diff --git a/RMS/src/main/java/com/demo/service/system/RoleService.java b/RMS/src/main/java/com/demo/service/system/RoleService.java index e428da5..b2da601 100644 --- a/RMS/src/main/java/com/demo/service/system/RoleService.java +++ b/RMS/src/main/java/com/demo/service/system/RoleService.java @@ -2,7 +2,11 @@ package com.demo.service.system; import com.baomidou.mybatisplus.extension.service.IService; import com.demo.pojo.system.Role; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface RoleService extends IService { + void updateDelete(List ids); } diff --git a/RMS/src/main/java/com/demo/service/system/UserService.java b/RMS/src/main/java/com/demo/service/system/UserService.java index 7be3568..c98ad0d 100644 --- a/RMS/src/main/java/com/demo/service/system/UserService.java +++ b/RMS/src/main/java/com/demo/service/system/UserService.java @@ -1,7 +1,11 @@ package com.demo.service.system; import com.baomidou.mybatisplus.extension.service.IService; +import com.demo.pojo.DTO.DTORoleMenu; import com.demo.pojo.PO.User; +import java.util.List; + public interface UserService extends IService { + List getRAndMById(Integer userId); } diff --git a/RMS/src/main/java/com/demo/service/system/impl/RoleServiceImpl.java b/RMS/src/main/java/com/demo/service/system/impl/RoleServiceImpl.java index 1159e0b..6278507 100644 --- a/RMS/src/main/java/com/demo/service/system/impl/RoleServiceImpl.java +++ b/RMS/src/main/java/com/demo/service/system/impl/RoleServiceImpl.java @@ -5,8 +5,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.demo.mapper.system.RoleMapper; import com.demo.pojo.system.Role; import com.demo.service.system.RoleService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class RoleServiceImpl extends ServiceImpl implements RoleService { + @Autowired + private RoleMapper roleMapper; + @Override + public void updateDelete(List ids) { + } } diff --git a/RMS/src/main/java/com/demo/service/system/impl/UserServiceImpl.java b/RMS/src/main/java/com/demo/service/system/impl/UserServiceImpl.java index 0b7342e..df595aa 100644 --- a/RMS/src/main/java/com/demo/service/system/impl/UserServiceImpl.java +++ b/RMS/src/main/java/com/demo/service/system/impl/UserServiceImpl.java @@ -2,11 +2,22 @@ package com.demo.service.system.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.demo.mapper.system.UserMapper; +import com.demo.pojo.DTO.DTORoleMenu; import com.demo.pojo.PO.User; import com.demo.service.system.UserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class UserServiceImpl extends ServiceImpl implements UserService { + @Autowired + private UserMapper userMapper; + @Override + public List getRAndMById(Integer userId) { + List RAndM = userMapper.getRAndMById(userId); + return RAndM; + } } diff --git a/RMS/src/main/resources/application.yml b/RMS/src/main/resources/application.yml index 0a27769..9eadc0c 100644 --- a/RMS/src/main/resources/application.yml +++ b/RMS/src/main/resources/application.yml @@ -17,3 +17,4 @@ mybatis-plus: id-type: auto configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + diff --git a/RMS/src/main/resources/com/demo/mapper/system/RoleMapper.xml b/RMS/src/main/resources/com/demo/mapper/system/RoleMapper.xml new file mode 100644 index 0000000..e724b4c --- /dev/null +++ b/RMS/src/main/resources/com/demo/mapper/system/RoleMapper.xml @@ -0,0 +1,22 @@ + + + + + + update sys_role_menu set is_deleted = #{del} + + id in + + #{id} + + + + + insert into sys_role_menu (role_id,menu_id) values + + #{roleId},#{menuId} + + + diff --git a/RMS/src/test/java/com/demo/RmsApplicationTests.java b/RMS/src/test/java/com/demo/RmsApplicationTests.java index 91ead6c..a79d4cb 100644 --- a/RMS/src/test/java/com/demo/RmsApplicationTests.java +++ b/RMS/src/test/java/com/demo/RmsApplicationTests.java @@ -3,19 +3,30 @@ package com.demo; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.toolkit.Db; +import com.demo.mapper.system.RoleMapper; import com.demo.pojo.setting.Process; import com.demo.service.setting.ProcessService; +import com.demo.service.system.RoleService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + @SpringBootTest class RmsApplicationTests { @Autowired private ProcessService processService; + @Autowired + private RoleMapper roleMapper; + @Autowired + private RoleService roleService; + @Test void contextLoads() { // IPage page1 = processService.lambdaQuery().page(new Page(1,3)); @@ -24,4 +35,14 @@ class RmsApplicationTests { System.out.println(page); } + @Test + void test1(){ + List ids = new ArrayList<>(); + ids.add(1); + ids.add(2); + ids.add(3); + roleService.updateDelete(ids); + + } + } -- Gitee