This commit is contained in:
2022-12-16 16:12:18 +08:00
parent 44f63d0067
commit db04de9f48
9 changed files with 71 additions and 14 deletions

View File

@@ -47,7 +47,7 @@ public class SysRoleController {
@Log("新增角色")
@ApiOperation("新增角色")
@PostMapping
// @SaCheckPermission("roles:add")
@SaCheckPermission("roles:add")
public ResponseEntity<Object> create(@RequestBody JSONObject param) {
roleService.create(param);
return new ResponseEntity<>(HttpStatus.CREATED);
@@ -56,9 +56,9 @@ public class SysRoleController {
@Log("修改角色")
@ApiOperation("修改角色")
@PutMapping
// @SaCheckPermission("roles:edit")
@SaCheckPermission("roles:edit")
public ResponseEntity<Object> update(@RequestBody JSONObject param) {
// roleService.update(param);
roleService.update(param);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@@ -74,7 +74,7 @@ public class SysRoleController {
@Log("修改角色菜单")
@ApiOperation("修改角色菜单")
@PutMapping(value = "/menu")
// @SaCheckPermission("roles:edit")
@SaCheckPermission("roles:edit")
public ResponseEntity<Object> updateMenu(@RequestBody JSONObject form) {
roleService.updateMenu(form);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);

View File

@@ -30,4 +30,10 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
*/
List<SysMenu> findByUser(@Param("userId") String userId);
/**
* 根据id获取权限
* @param userId
* @return
*/
List<String> getPermissionByUserId(String userId);
}

View File

@@ -18,4 +18,33 @@
role_id IN ( SELECT role_id FROM sys_users_roles WHERE 1 = 1 and user_id=#{userId} ))
</select>
<select id="getPermissionByUserId" resultType="java.lang.String">
SELECT DISTINCT
permission
FROM
sys_menu
WHERE
menu_id IN
(
SELECT
menu_id
FROM
sys_roles_menus
WHERE
role_id IN
(
SELECT
role_id
FROM
sys_users_roles
WHERE
1=1
<if test="userId != null">
AND user_id = #{userId}
</if>
)
)
AND permission IS NOT NULL
AND permission != ''
</select>
</mapper>

View File

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.system.service.role.dao.SysRole;
import org.nl.system.service.role.dao.SysRolesMenus;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -44,4 +46,12 @@ public interface ISysRoleService extends IService<SysRole> {
* @param form
*/
void updateMenu(JSONObject form);
/**
* 通过id获取用户的权限
* @param userDto
* @return
*/
List<String> getPermissionList(JSONObject userDto);
}

View File

@@ -13,6 +13,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.SecurityUtils;
import org.nl.modules.wql.WQL;
import org.nl.system.service.menu.dao.SysMenu;
import org.nl.system.service.menu.dao.mapper.SysMenuMapper;
import org.nl.system.service.role.ISysRoleService;
import org.nl.system.service.role.dao.SysRole;
import org.nl.system.service.role.dao.SysRolesMenus;
@@ -22,8 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
import java.util.Set;
import java.util.*;
/**
* <p>
@@ -39,6 +41,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Autowired
private SysRoleMapper roleMapper;
@Autowired
private SysMenuMapper sysMenuMapper;
@Autowired
private SysRolesMenusMapper rolesMenusMapper;
@@ -127,4 +132,14 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
rolesMenusMapper.insert(rolesMenus);
}
}
@Override
public List<String> getPermissionList(JSONObject userDto) {
List<String> permission = new LinkedList<>();
// 查看是否为管理员
permission.add("admin");
permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("userId")));
return permission;
}
}

View File

@@ -22,17 +22,14 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.nl.modules.common.config.RsaProperties;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.*;
import org.nl.modules.common.utils.dto.CurrentUser;
import org.nl.modules.system.service.RoleService;
import org.nl.modules.system.service.dto.UserDto;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.system.service.role.ISysRoleService;
import org.nl.system.service.secutiry.dto.AuthUserDto;
import org.nl.system.service.user.ISysUserService;
import org.nl.system.service.user.dao.SysUser;
@@ -58,7 +55,7 @@ public class OnlineUserService {
@Autowired
private ISysUserService sysUserService;
@Autowired
private RoleService roleService;
private ISysRoleService roleService;
private final RedisUtils redisUtils;
public OnlineUserService(RedisUtils redisUtils) {

View File

@@ -122,7 +122,7 @@
</template>
<script>
import crudRoles from '@/api/system/role'
import crudRoles from './role'
import crudMenu from '@/api/system/menu'
import { getChild, getMenusTree } from '@/api/system/menu'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
@@ -246,7 +246,7 @@ export default {
crudRoles.editMenu(role).then(() => {
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.menuLoading = false
this.update()
// this.update()
}).catch(err => {
this.menuLoading = false
console.log(err.response.data.message)

View File

@@ -321,7 +321,7 @@
import crudUser from '@/views/system/user'
import crudDept from '@/api/system/dept'
// import crudDataPermission from '@/views/system/permission/dataPermission'
import { getAll, getLevel } from '@/api/system/role'
import { getAll, getLevel } from '@/views/system/role/role'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'