🚀 根据用户获取角色数据

This commit is contained in:
bunny 2024-04-23 18:39:42 +08:00
parent 7b759baeed
commit 49273d8055
17 changed files with 197 additions and 34 deletions

18
.idea/dataSources.xml Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="guigu-oa@106.15.251.123" uuid="9d89e3b4-ae68-4e89-b7e1-1866250cab0a">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<imported>true</imported>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://106.15.251.123:3305/guigu-oa?serverTimezone=GMT</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData" autoUpload="Always" remoteFilesAllowedToDisappearOnAutoupload="false" autoUploadExternalChanges="true">
<option name="myAutoUpload" value="ALWAYS" />
</component>
</project>

View File

@ -18,8 +18,7 @@ public class CodeGet {
// 全局配置 // 全局配置
GlobalConfig gc = new GlobalConfig(); GlobalConfig gc = new GlobalConfig();
// TODO 需要修改路径名称 // TODO 需要修改路径名称
gc.setOutputDir("G:\\java项目\\guigu-oa\\guigu-oa-parent\\service-oa" + "/src/main/java"); gc.setOutputDir("G:\\java项目\\guigu-oa\\guigu-oa\\service-oa" + "/src/main/java");
gc.setServiceName("%sService"); // 去掉Service接口的首字母I gc.setServiceName("%sService"); // 去掉Service接口的首字母I
gc.setAuthor("bunny"); gc.setAuthor("bunny");
gc.setOpen(false); gc.setOpen(false);
@ -56,7 +55,7 @@ public class CodeGet {
private static StrategyConfig getStrategyConfig() { private static StrategyConfig getStrategyConfig() {
StrategyConfig strategy = new StrategyConfig(); StrategyConfig strategy = new StrategyConfig();
// TODO 要生成的表 // TODO 要生成的表
strategy.setInclude("sys_user", "sys_role"); strategy.setInclude("sys_user", "sys_role","sys_user_role");
strategy.setNaming(NamingStrategy.underline_to_camel);// 数据库表映射到实体的命名策略 strategy.setNaming(NamingStrategy.underline_to_camel);// 数据库表映射到实体的命名策略
strategy.setColumnNaming(NamingStrategy.underline_to_camel);// 数据库表字段映射到实体的命名策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel);// 数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作 strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

View File

@ -0,0 +1,17 @@
package com.atguigu.model.system;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RoleByUser {
private List<SysRole> assginRoleList;
private List<SysRole> allRolesList;
}

View File

@ -2,7 +2,9 @@ package com.atguigu.auth.controller;
import com.atguigu.auth.service.SysRoleService; import com.atguigu.auth.service.SysRoleService;
import com.atguigu.common.result.Result; import com.atguigu.common.result.Result;
import com.atguigu.model.system.RoleByUser;
import com.atguigu.model.system.SysRole; import com.atguigu.model.system.SysRole;
import com.atguigu.vo.system.AssginRoleVo;
import com.atguigu.vo.system.SysRoleQueryVo; import com.atguigu.vo.system.SysRoleQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map;
@Tag(name = "角色管理接口") @Tag(name = "角色管理接口")
@RestController @RestController
@ -62,4 +65,18 @@ public class SysRoleController {
sysRoleService.removeByIds(idList); sysRoleService.removeByIds(idList);
return Result.success(); return Result.success();
} }
@ApiOperation(value = "根据用户获取角色数据")
@GetMapping("/toAssign/{userId}")
public Result<RoleByUser> toAssign(@PathVariable Long userId) {
RoleByUser roleMap = sysRoleService.findRoleByAdminId(userId);
return Result.success(roleMap);
}
@ApiOperation(value = "根据用户分配角色")
@PostMapping("/doAssign")
public Result<AssginRoleVo> doAssign(@RequestBody AssginRoleVo assginRoleVo) {
sysRoleService.doAssign(assginRoleVo);
return Result.success();
}
} }

View File

@ -1,20 +1,21 @@
package mapper; package com.atguigu.auth.controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/** /**
* <p> * <p>
* 角色 前端控制器 * 用户角色 前端控制器
* </p> * </p>
* *
* @author bunny * @author bunny
* @since 2024-04-22 * @since 2024-04-23
*/ */
@RestController @RestController
@RequestMapping("/order/sys-role") @RequestMapping("/auth/sys-user-role")
public class SysRoleController { public class SysUserRoleController {
} }

View File

@ -2,6 +2,17 @@ package com.atguigu.auth.mapper;
import com.atguigu.model.system.SysRole; import com.atguigu.model.system.SysRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface SysRoleMapper extends BaseMapper<SysRole> { public interface SysRoleMapper extends BaseMapper<SysRole> {
/**
* 根据用户id查询所有的角色
*
* @param userId 用户id
* @return 角色列表
*/
List<SysRole> selectByUserId(Long userId);
} }

View File

@ -0,0 +1,18 @@
package com.atguigu.auth.mapper;
import com.atguigu.model.system.SysUserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 用户角色 Mapper 接口
* </p>
*
* @author bunny
* @since 2024-04-23
*/
@Mapper
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
}

View File

@ -1,6 +1,8 @@
package com.atguigu.auth.service; package com.atguigu.auth.service;
import com.atguigu.model.system.RoleByUser;
import com.atguigu.model.system.SysRole; import com.atguigu.model.system.SysRole;
import com.atguigu.vo.system.AssginRoleVo;
import com.atguigu.vo.system.SysRoleQueryVo; import com.atguigu.vo.system.SysRoleQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -15,5 +17,19 @@ public interface SysRoleService extends IService<SysRole> {
* @return 分页结果 * @return 分页结果
*/ */
IPage<SysRole> pageResult(Long page, Long limit, SysRoleQueryVo vo); IPage<SysRole> pageResult(Long page, Long limit, SysRoleQueryVo vo);
/**
* 根据用户获取角色数据
*
* @param userId 用户id
* @return 用户角色集合
*/
RoleByUser findRoleByAdminId(Long userId);
/**
* 根据用户分配角色
* @param vo 分配条件
*/
void doAssign(AssginRoleVo vo);
} }

View File

@ -0,0 +1,16 @@
package com.atguigu.auth.service;
import com.atguigu.model.system.SysUserRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户角色 服务类
* </p>
*
* @author bunny
* @since 2024-04-23
*/
public interface SysUserRoleService extends IService<SysUserRole> {
}

View File

@ -1,18 +1,28 @@
package com.atguigu.auth.service.impl; package com.atguigu.auth.service.impl;
import com.atguigu.auth.mapper.SysRoleMapper; import com.atguigu.auth.mapper.SysRoleMapper;
import com.atguigu.auth.mapper.SysUserRoleMapper;
import com.atguigu.auth.service.SysRoleService; import com.atguigu.auth.service.SysRoleService;
import com.atguigu.model.system.RoleByUser;
import com.atguigu.model.system.SysRole; import com.atguigu.model.system.SysRole;
import com.atguigu.vo.system.AssginRoleVo;
import com.atguigu.vo.system.SysRoleQueryVo; import com.atguigu.vo.system.SysRoleQueryVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.List;
@Service @Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService { public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
@Autowired
private SysUserRoleMapper sysUserRoleMapper;
/** /**
* 角色条件分页查询 * 角色条件分页查询
* *
@ -31,4 +41,30 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
return page(pageParam, wrapper); return page(pageParam, wrapper);
} }
/**
* 根据用户获取角色数据
*
* @param userId 用户id
* @return 用户角色集合
*/
@Override
public RoleByUser findRoleByAdminId(Long userId) {
// 查询所有角色
List<SysRole> allRolesList = list();
// 根据用户id查询所有的角色
List<SysRole> assginRoleList = baseMapper.selectByUserId(userId);
return RoleByUser.builder().allRolesList(allRolesList).assginRoleList(assginRoleList).build();
}
/**
* 根据用户分配角色
*
* @param vo 分配条件
*/
@Override
public void doAssign(AssginRoleVo vo) {
}
} }

View File

@ -0,0 +1,20 @@
package com.atguigu.auth.service.impl;
import com.atguigu.auth.mapper.SysUserRoleMapper;
import com.atguigu.auth.service.SysUserRoleService;
import com.atguigu.model.system.SysUserRole;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户角色 服务实现类
* </p>
*
* @author bunny
* @since 2024-04-23
*/
@Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.auth.mapper.SysRoleMapper">
<!-- 根据用户id查询所有的角色 -->
<select id="selectByUserId" resultType="com.atguigu.model.system.SysRole">
SELECT *
FROM sys_role
WHERE id IN (SELECT role_id FROM sys_user_role WHERE user_id = #{user_id})
</select>
</mapper>

View File

@ -1,20 +0,0 @@
package mapper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户表 前端控制器
* </p>
*
* @author bunny
* @since 2024-04-22
*/
@RestController
@RequestMapping("/order/sys-user")
public class SysUserController {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.auth.mapper.SysUserMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.auth.mapper.SysUserRoleMapper">
</mapper>