feat(新增): 保存角色数据

This commit is contained in:
bunny 2024-03-23 23:58:33 +08:00
parent c77e056909
commit dba4410eba
5 changed files with 72 additions and 2 deletions

View File

@ -1,6 +1,7 @@
package com.atguigu.spzx.manger.controller; package com.atguigu.spzx.manger.controller;
import com.atguigu.spzx.manger.service.SysRoleService; import com.atguigu.spzx.manger.service.SysRoleService;
import com.atguigu.spzx.model.dto.system.AssginRoleDto;
import com.atguigu.spzx.model.dto.system.SysRoleDto; import com.atguigu.spzx.model.dto.system.SysRoleDto;
import com.atguigu.spzx.model.entity.system.SysRole; import com.atguigu.spzx.model.entity.system.SysRole;
import com.atguigu.spzx.model.vo.result.Result; import com.atguigu.spzx.model.vo.result.Result;
@ -54,6 +55,10 @@ public class SysRoleController {
return Result.success(allRolesList); return Result.success(allRolesList);
} }
@Operation(summary = "保存角色数据",description = "保存角色数据信息") @Operation(summary = "保存角色数据", description = "保存角色数据信息")
@PostMapping("doAssign")
public Result doAssign(@RequestBody AssginRoleDto assginRoleDto) {
sysRoleService.doAssign(assginRoleDto);
return Result.success();
}
} }

View File

@ -0,0 +1,21 @@
package com.atguigu.spzx.manger.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysRoleUserMapper {
/**
* 根据用户id删除内容
*
* @param userId 用户id
*/
void deleteByUserId(Long userId);
/**
* 分配角色数据
*
* @param userId 用户id
* @param roleId 角色id
*/
void doAssign(Long userId, Long roleId);
}

View File

@ -1,5 +1,6 @@
package com.atguigu.spzx.manger.service; package com.atguigu.spzx.manger.service;
import com.atguigu.spzx.model.dto.system.AssginRoleDto;
import com.atguigu.spzx.model.dto.system.SysRoleDto; import com.atguigu.spzx.model.dto.system.SysRoleDto;
import com.atguigu.spzx.model.entity.system.SysRole; import com.atguigu.spzx.model.entity.system.SysRole;
import com.atguigu.spzx.model.vo.system.AllRolesVo; import com.atguigu.spzx.model.vo.system.AllRolesVo;
@ -43,4 +44,11 @@ public interface SysRoleService {
* @return 所有角色信息 * @return 所有角色信息
*/ */
AllRolesVo findAllRoles(); AllRolesVo findAllRoles();
/**
* 保存角色数据
*
* @param assginRoleDto 请求参数实体类
*/
void doAssign(AssginRoleDto assginRoleDto);
} }

View File

@ -2,7 +2,9 @@ package com.atguigu.spzx.manger.service.impl;
import com.atguigu.constant.MessageConstant; import com.atguigu.constant.MessageConstant;
import com.atguigu.spzx.manger.mapper.SysRoleMapper; import com.atguigu.spzx.manger.mapper.SysRoleMapper;
import com.atguigu.spzx.manger.mapper.SysRoleUserMapper;
import com.atguigu.spzx.manger.service.SysRoleService; import com.atguigu.spzx.manger.service.SysRoleService;
import com.atguigu.spzx.model.dto.system.AssginRoleDto;
import com.atguigu.spzx.model.dto.system.SysRoleDto; import com.atguigu.spzx.model.dto.system.SysRoleDto;
import com.atguigu.spzx.model.entity.system.SysRole; import com.atguigu.spzx.model.entity.system.SysRole;
import com.atguigu.spzx.model.vo.system.AllRolesVo; import com.atguigu.spzx.model.vo.system.AllRolesVo;
@ -20,6 +22,8 @@ public class SysRoleServiceImpl implements SysRoleService {
@Autowired @Autowired
private SysRoleMapper sysRoleMapper; private SysRoleMapper sysRoleMapper;
@Autowired @Autowired
private SysRoleUserMapper sysRoleUserMapper;
@Autowired
private StringEmptyUtil emptyUtil; private StringEmptyUtil emptyUtil;
/** /**
@ -84,4 +88,19 @@ public class SysRoleServiceImpl implements SysRoleService {
List<SysRole> sysRoleList = sysRoleMapper.findAllRoles(); List<SysRole> sysRoleList = sysRoleMapper.findAllRoles();
return AllRolesVo.builder().allRolesList(sysRoleList).build(); return AllRolesVo.builder().allRolesList(sysRoleList).build();
} }
/**
* 保存角色数据
*
* @param assginRoleDto 请求参数实体类
*/
@Override
public void doAssign(AssginRoleDto assginRoleDto) {
// 删除之前的所有的用户所对应的角色数据
sysRoleUserMapper.deleteByUserId(assginRoleDto.getUserId());
// 分配新的角色数据
assginRoleDto.getRoleIdList().forEach(roleId -> {
sysRoleUserMapper.doAssign(assginRoleDto.getUserId(), roleId);
});
}
} }

View File

@ -0,0 +1,17 @@
<?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.spzx.manger.mapper.SysRoleUserMapper">
<!-- 分配角色数据 -->
<insert id="doAssign">
insert into sys_user_role (user_id, role_id, create_time, update_time, is_deleted)
values (#{userId}, #{roleId}, now(), now(), 0)
</insert>
<!-- 根据用户id删除内容 -->
<delete id="deleteByUserId">
delete
from sys_user_role
where user_id = #{userId}
</delete>
</mapper>