Parcourir la source

1、角色绑定菜单、获取角色菜单
2、用户信息新增角色信息

machaoyi il y a 1 an
Parent
commit
1c65cb08c6

+ 39 - 0
application/src/main/java/com/ctsi/SysRole/controller/SysRoleController.java

@@ -2,7 +2,10 @@ package com.ctsi.SysRole.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ctsi.SysRole.entity.SysRole;
+import com.ctsi.SysRole.entity.SysRoleMenuAddVO;
 import com.ctsi.SysRole.service.SysRoleService;
+import com.ctsi.SysRoleMenu.service.SysRoleMenuService;
+import com.ctsi.SysUserRole.entity.SysUserRoleAddVO;
 import com.ctsi.entity.FramePage;
 import com.ctsi.utils.ApiResult;
 import io.swagger.annotations.Api;
@@ -24,6 +27,8 @@ import javax.annotation.Resource;
 public class SysRoleController{
     @Resource
     private SysRoleService sysRoleService;
+    @Resource
+    private SysRoleMenuService sysRoleMenuService;
     private static final Logger log = LoggerFactory.getLogger(SysRoleController.class);
     
     /** 
@@ -110,4 +115,38 @@ public class SysRoleController{
             return ApiResult.failure("删除数据失败",null);
         }
     }
+
+     /**
+      * 角色菜单绑定
+      *
+      * @param SysRoleMenuAddVO 实例对象
+      * @return 实例对象
+      */
+     @ApiOperation("角色菜单绑定")
+     @PostMapping("/roleMenuAdd")
+     public ApiResult<SysRoleMenuAddVO> roleMenuAdd(@RequestBody SysRoleMenuAddVO SysRoleMenuAddVO){
+         try {
+             return ApiResult.success(sysRoleMenuService.save(SysRoleMenuAddVO));
+         } catch (Exception e) {
+             log.error(e.getMessage());
+             return ApiResult.failure("角色菜单绑定失败",null);
+         }
+     }
+
+     /**
+      * 获取角色菜单信息
+      *
+      * @param roleId 角色id
+      * @return 实例对象
+      */
+     @ApiOperation("获取角色菜单信息")
+     @GetMapping("/getRoleMenus")
+     public ApiResult<SysRoleMenuAddVO> getRoleMenus(Long roleId){
+         try {
+             return ApiResult.success(sysRoleMenuService.getRoleMenus(roleId));
+         } catch (Exception e) {
+             log.error(e.getMessage());
+             return ApiResult.failure("获取角色菜单信息失败",null);
+         }
+     }
 }

+ 44 - 0
application/src/main/java/com/ctsi/SysRole/entity/SysRoleMenuAddVO.java

@@ -0,0 +1,44 @@
+package com.ctsi.SysRole.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ctsi.utils.LongtoStringSerialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+* 角色菜单表;
+* @author : machaoyi
+* @date : 2024-1-12
+*/
+@ApiModel(value = "角色菜单表新增VO",description = "")
+@TableName("sys_role_menu")
+public class SysRoleMenuAddVO implements Serializable,Cloneable{
+   /** 角色id */
+   @ApiModelProperty(value = "角色id",notes = "")
+   private Long roleId ;
+   /** 菜单id */
+   @ApiModelProperty(value = "菜单id",notes = "")
+   private List<Long> menuId ;
+
+   /** 角色id */
+   public Long getRoleId(){
+       return this.roleId;
+   }
+   /** 角色id */
+   public void setRoleId(Long roleId){
+       this.roleId=roleId;
+   }
+   /** 菜单id */
+   public List<Long> getMenuId(){
+       return this.menuId;
+   }
+   /** 菜单id */
+   public void setMenuId(List<Long> menuId){
+       this.menuId=menuId;
+   }
+}

+ 23 - 0
application/src/main/java/com/ctsi/SysUser/entity/UserDetailPO.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
 * 用户信息表;
@@ -44,6 +45,12 @@ public class UserDetailPO implements Serializable,Cloneable{
    /** 部门名称 */
    @ApiModelProperty(value = "部门名称",notes = "")
    private String orgName ;
+   /** 角色id */
+   @ApiModelProperty(value = "角色id",notes = "")
+   private List<Long> roleId ;
+   /** 角色名称 */
+   @ApiModelProperty(value = "角色名称",notes = "")
+   private List<String> roleName ;
 
    /** 主键id */
    public Long getId(){
@@ -117,4 +124,20 @@ public class UserDetailPO implements Serializable,Cloneable{
    public void setOrgName(String orgName) {
       this.orgName = orgName;
    }
+
+   public List<Long> getRoleId() {
+      return roleId;
+   }
+
+   public void setRoleId(List<Long> roleId) {
+      this.roleId = roleId;
+   }
+
+   public List<String> getRoleName() {
+      return roleName;
+   }
+
+   public void setRoleName(List<String> roleName) {
+      this.roleName = roleName;
+   }
 }

+ 15 - 2
application/src/main/java/com/ctsi/SysUser/service/impl/SysUserServiceImpl.java

@@ -13,11 +13,18 @@ import com.ctsi.SysUser.mapper.SysUserMapper;
 import com.ctsi.SysUser.service.SysUserService;
 import com.ctsi.SysUserDetail.entity.SysUserDetail;
 import com.ctsi.SysUserOrg.entity.SysUserOrg;
+import com.ctsi.SysUserRole.entity.SysUserRole;
+import com.ctsi.SysUserRole.entity.SysUserRoleAddVO;
+import com.ctsi.SysUserRole.service.SysUserRoleService;
 import com.ctsi.utils.PasswordEncoderUtil;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
- /**
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
  * 用户表;(sys_user)表服务实现类
  * @author : machaoyi
  * @date : 2024-1-10
@@ -26,6 +33,8 @@ import org.springframework.stereotype.Service;
 public class SysUserServiceImpl implements SysUserService{
     @Autowired
     private SysUserMapper sysUserMapper;
+    @Resource
+    private SysUserRoleService sysUserRoleService;
     
     /** 
      * 通过ID查询单条数据 
@@ -41,7 +50,11 @@ public class SysUserServiceImpl implements SysUserService{
         queryWrapper.leftJoin(SysUserDetail.class, SysUserDetail::getId, SysUser::getId);
         queryWrapper.leftJoin(SysUserOrg.class, SysUserOrg::getUserId, SysUser::getId);
         queryWrapper.leftJoin(SysOrg.class, SysOrg::getId, SysUserOrg::getOrgId);
-        return sysUserMapper.selectJoinOne(UserDetailPO.class, queryWrapper);
+        UserDetailPO userDetailPO = sysUserMapper.selectJoinOne(UserDetailPO.class, queryWrapper);
+        SysUserRoleAddVO sysUserRoleAddVO = sysUserRoleService.getUserRoles(id);
+        userDetailPO.setRoleId(sysUserRoleAddVO.getRoleId());
+        userDetailPO.setRoleName(sysUserRoleAddVO.getRoleName());
+        return userDetailPO;
     }
     
     /**

+ 11 - 0
application/src/main/java/com/ctsi/SysUserRole/entity/SysUserRoleAddVO.java

@@ -21,6 +21,9 @@ public class SysUserRoleAddVO implements Serializable,Cloneable{
    /** 角色id */
    @ApiModelProperty(value = "角色id",notes = "")
    private List<Long> roleId ;
+   /** 角色名称 */
+   @ApiModelProperty(value = "角色名称",notes = "")
+   private List<String> roleName ;
 
    /** 用户id */
    public Long getUserId(){
@@ -38,4 +41,12 @@ public class SysUserRoleAddVO implements Serializable,Cloneable{
    public void setRoleId(List<Long> roleId) {
       this.roleId = roleId;
    }
+
+   public List<String> getRoleName() {
+      return roleName;
+   }
+
+   public void setRoleName(List<String> roleName) {
+      this.roleName = roleName;
+   }
 }

+ 67 - 0
application/src/main/java/com/ctsi/SysUserRole/entity/SysUserRolePO.java

@@ -0,0 +1,67 @@
+package com.ctsi.SysUserRole.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ctsi.utils.LongtoStringSerialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+* 用户角色表;
+* @author : machaoyi
+* @date : 2024-1-11
+*/
+@ApiModel(value = "用户角色表PO",description = "")
+@TableName("sys_user_role")
+public class SysUserRolePO implements Serializable,Cloneable{
+   /** 主键id */
+   @ApiModelProperty(value = "主键id",notes = "")
+   @TableId
+   @JsonSerialize(using = LongtoStringSerialize.class)
+   private Long id ;
+   /** 用户id */
+   @ApiModelProperty(value = "用户id",notes = "")
+   private Long userId ;
+   /** 角色id */
+   @ApiModelProperty(value = "角色id",notes = "")
+   private Long roleId ;
+   /** 角色名称 */
+   @ApiModelProperty(value = "角色名称",notes = "")
+   private String roleName ;
+
+   /** 主键id */
+   public Long getId(){
+       return this.id;
+   }
+   /** 主键id */
+   public void setId(Long id){
+       this.id=id;
+   }
+   /** 用户id */
+   public Long getUserId(){
+       return this.userId;
+   }
+   /** 用户id */
+   public void setUserId(Long userId){
+       this.userId=userId;
+   }
+   /** 角色id */
+   public Long getRoleId(){
+       return this.roleId;
+   }
+   /** 角色id */
+   public void setRoleId(Long roleId){
+       this.roleId=roleId;
+   }
+
+   public String getRoleName() {
+      return roleName;
+   }
+
+   public void setRoleName(String roleName) {
+      this.roleName = roleName;
+   }
+}

+ 2 - 1
application/src/main/java/com/ctsi/SysUserRole/mapper/SysUserRoleMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.ctsi.SysUserRole.entity.SysUserRole;
+import com.github.yulichang.base.MPJBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -14,7 +15,7 @@ import org.apache.ibatis.annotations.Param;
  * @date : 2024-1-11
  */
 @Mapper
-public interface SysUserRoleMapper  extends BaseMapper<SysUserRole>{
+public interface SysUserRoleMapper  extends MPJBaseMapper<SysUserRole> {
     /** 
      * 分页查询指定行数据
      *

+ 13 - 3
application/src/main/java/com/ctsi/SysUserRole/service/impl/SysUserRoleServiceImpl.java

@@ -4,10 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ctsi.SysRole.entity.SysRole;
 import com.ctsi.SysUserRole.entity.SysUserRole;
 import com.ctsi.SysUserRole.entity.SysUserRoleAddVO;
+import com.ctsi.SysUserRole.entity.SysUserRolePO;
 import com.ctsi.SysUserRole.mapper.SysUserRoleMapper;
 import com.ctsi.SysUserRole.service.SysUserRoleService;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -123,16 +127,22 @@ public class SysUserRoleServiceImpl implements SysUserRoleService{
       * @return 实例对象
       */
      public SysUserRoleAddVO getUserRoles(Long id){
-         LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
+         MPJLambdaWrapper<SysUserRole> queryWrapper = new MPJLambdaWrapper<>();
          queryWrapper.eq(SysUserRole::getUserId,id);
-         List<SysUserRole> sysUserRoleList = sysUserRoleMapper.selectList(queryWrapper);
+         queryWrapper.leftJoin(SysRole.class,SysRole::getId,SysUserRole::getRoleId);
+         queryWrapper.selectAll(SysUserRole.class);
+         queryWrapper.select(SysRole::getRoleName);
+         List<SysUserRolePO> sysUserRoleList = sysUserRoleMapper.selectJoinList(SysUserRolePO.class,queryWrapper);
          SysUserRoleAddVO sysUserRoleAddVO = new SysUserRoleAddVO();
          sysUserRoleAddVO.setUserId(id);
          List<Long> roleId = new ArrayList<>();
-         for (SysUserRole sysUserRole : sysUserRoleList) {
+         List<String> roleName = new ArrayList<>();
+         for (SysUserRolePO sysUserRole : sysUserRoleList) {
              roleId.add(sysUserRole.getRoleId());
+             roleName.add(sysUserRole.getRoleName());
          }
          sysUserRoleAddVO.setRoleId(roleId);
+         sysUserRoleAddVO.setRoleName(roleName);
          return sysUserRoleAddVO;
      }
 }