自动化立体仓库 - WMS系统
chen.llin
1 天以前 d6d25613f504d8fc4c6ffa8a1854beb4dac044d0
菜单
3个文件已修改
73 ■■■■■ 已修改文件
src/main/java/com/zy/common/web/AuthController.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/ResourceController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ResourceMapper.xml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/AuthController.java
@@ -146,7 +146,11 @@
            user = userService.selectById(getUserId());
            List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId()));
            List<Long> resourceIds = new ArrayList<>();
            roleResources.forEach(roleResource -> resourceIds.add(roleResource.getResourceId()));
            roleResources.forEach(roleResource -> {
                if (roleResource.getResourceId() != null) {
                    resourceIds.add(roleResource.getResourceId());
                }
            });
            if (resourceIds.isEmpty()) {
                return R.ok();
            }
@@ -286,20 +290,30 @@
        if (!Cools.isEmpty(powers)) {
            List<PowerDto> dtos = JSON.parseArray(powers, PowerDto.class);
            for (PowerDto dto : dtos) {
                Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", dto.getTwo()).eq("level", 2));
                if (!Cools.isEmpty(resource)) {
                    // 校验上级权限
                    if (leaderId != null) {
                        RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
                        if (null == roleResource) {
                            throw new CoolException(resource.getName().concat("无法授权给").concat(role.getName()));
                Long resourceId = null;
                try {
                    resourceId = Long.parseLong(dto.getTwo());
                } catch (NumberFormatException e) {
                    // 如果无法转换为Long,可能是功能权限,跳过
                }
                if (resourceId != null) {
                    Resource resource = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", resourceId).eq("level", 2));
                    if (!Cools.isEmpty(resource)) {
                        // 校验上级权限
                        if (leaderId != null) {
                            RoleResource leaderRoleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
                            if (null == leaderRoleResource) {
                                throw new CoolException(resource.getName().concat("无法授权给").concat(role.getName()));
                            }
                        }
                        RoleResource roleResource = new RoleResource();
                        roleResource.setRoleId(roleId);
                        roleResource.setResourceId(resource.getId());
                        roleResourceService.insert(roleResource);
                    }
                    RoleResource roleResource = new RoleResource();
                    roleResource.setRoleId(roleId);
                    roleResource.setResourceId(resource.getId());
                    roleResourceService.insert(roleResource);
                } else {
                }
                // 如果不是资源ID,可能是功能权限
                if (resourceId == null) {
                    Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo()));
                    if (!Cools.isEmpty(permission)) {
                        RolePermission rolePermission = new RolePermission();
@@ -308,14 +322,22 @@
                        rolePermissionService.insert(rolePermission);
                    }
                }
                // 处理三级菜单
                for (String three : dto.getThree()) {
                    Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3));
                    Long threeResourceId = null;
                    try {
                        threeResourceId = Long.parseLong(three);
                    } catch (NumberFormatException e) {
                        // 如果无法转换为Long,跳过
                        continue;
                    }
                    Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", threeResourceId).eq("level", 3));
                    if (!Cools.isEmpty(resource1)) {
                        // 校验上级权限
                        if (leaderId != null) {
                            RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId()));
                            if (null == roleResource) {
                                throw new CoolException(resource.getName().concat("的").concat(resource1.getName().concat("无法授权给").concat(role.getName())));
                            RoleResource leaderRoleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId()));
                            if (null == leaderRoleResource) {
                                throw new CoolException(resource1.getName().concat("无法授权给").concat(role.getName()));
                            }
                        }
                        RoleResource roleResource = new RoleResource();
src/main/java/com/zy/system/controller/ResourceController.java
@@ -27,7 +27,7 @@
    @RequestMapping(value = "/resource/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") Long id) {
        return R.ok(resourceService.selectById(String.valueOf(id)));
        return R.ok(resourceService.selectById(id));
    }
    @RequestMapping(value = "/resource/list/auth")
src/main/resources/mapper/ResourceMapper.xml
@@ -4,14 +4,15 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.system.entity.Resource">
        <id column="id" property="id" />
        <result column="code" property="code" />
        <result column="name" property="name" />
        <result column="resource_id" property="resourceId" />
        <result column="level" property="level" />
        <result column="sort" property="sort" />
        <result column="status" property="status" />
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="code" property="code" jdbcType="VARCHAR" />
        <result column="name" property="name" jdbcType="VARCHAR" />
        <result column="resource_id" property="resourceId" jdbcType="BIGINT" />
        <result column="level" property="level" jdbcType="SMALLINT" />
        <result column="sort" property="sort" jdbcType="INTEGER" />
        <result column="status" property="status" jdbcType="SMALLINT" />
    </resultMap>
</mapper>