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("新增角色") @Log("新增角色")
@ApiOperation("新增角色") @ApiOperation("新增角色")
@PostMapping @PostMapping
// @SaCheckPermission("roles:add") @SaCheckPermission("roles:add")
public ResponseEntity<Object> create(@RequestBody JSONObject param) { public ResponseEntity<Object> create(@RequestBody JSONObject param) {
roleService.create(param); roleService.create(param);
return new ResponseEntity<>(HttpStatus.CREATED); return new ResponseEntity<>(HttpStatus.CREATED);
@@ -56,9 +56,9 @@ public class SysRoleController {
@Log("修改角色") @Log("修改角色")
@ApiOperation("修改角色") @ApiOperation("修改角色")
@PutMapping @PutMapping
// @SaCheckPermission("roles:edit") @SaCheckPermission("roles:edit")
public ResponseEntity<Object> update(@RequestBody JSONObject param) { public ResponseEntity<Object> update(@RequestBody JSONObject param) {
// roleService.update(param); roleService.update(param);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} }
@@ -74,7 +74,7 @@ public class SysRoleController {
@Log("修改角色菜单") @Log("修改角色菜单")
@ApiOperation("修改角色菜单") @ApiOperation("修改角色菜单")
@PutMapping(value = "/menu") @PutMapping(value = "/menu")
// @SaCheckPermission("roles:edit") @SaCheckPermission("roles:edit")
public ResponseEntity<Object> updateMenu(@RequestBody JSONObject form) { public ResponseEntity<Object> updateMenu(@RequestBody JSONObject form) {
roleService.updateMenu(form); roleService.updateMenu(form);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); 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); 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} )) role_id IN ( SELECT role_id FROM sys_users_roles WHERE 1 = 1 and user_id=#{userId} ))
</select> </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> </mapper>

View File

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import org.nl.system.service.role.dao.SysRole; 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.Map;
import java.util.Set; import java.util.Set;
@@ -44,4 +46,12 @@ public interface ISysRoleService extends IService<SysRole> {
* @param form * @param form
*/ */
void updateMenu(JSONObject 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.common.domain.query.PageQuery;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.SecurityUtils; 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.ISysRoleService;
import org.nl.system.service.role.dao.SysRole; import org.nl.system.service.role.dao.SysRole;
import org.nl.system.service.role.dao.SysRolesMenus; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Map; import java.util.*;
import java.util.Set;
/** /**
* <p> * <p>
@@ -39,6 +41,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Autowired @Autowired
private SysRoleMapper roleMapper; private SysRoleMapper roleMapper;
@Autowired
private SysMenuMapper sysMenuMapper;
@Autowired @Autowired
private SysRolesMenusMapper rolesMenusMapper; private SysRolesMenusMapper rolesMenusMapper;
@@ -127,4 +132,14 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
rolesMenusMapper.insert(rolesMenus); 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.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; 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.config.RsaProperties;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.*; import org.nl.modules.common.utils.*;
import org.nl.modules.common.utils.dto.CurrentUser; 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.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.secutiry.dto.AuthUserDto;
import org.nl.system.service.user.ISysUserService; import org.nl.system.service.user.ISysUserService;
import org.nl.system.service.user.dao.SysUser; import org.nl.system.service.user.dao.SysUser;
@@ -58,7 +55,7 @@ public class OnlineUserService {
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired @Autowired
private RoleService roleService; private ISysRoleService roleService;
private final RedisUtils redisUtils; private final RedisUtils redisUtils;
public OnlineUserService(RedisUtils redisUtils) { public OnlineUserService(RedisUtils redisUtils) {

View File

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

View File

@@ -321,7 +321,7 @@
import crudUser from '@/views/system/user' import crudUser from '@/views/system/user'
import crudDept from '@/api/system/dept' import crudDept from '@/api/system/dept'
// import crudDataPermission from '@/views/system/permission/dataPermission' // 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 CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'