wl
2022-10-20 79ad74b1ce07b96a2d93ac20e86ac46e00c9f2a9
修改用户获取权限
6个文件已修改
73 ■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/mapper/user/UmsAdminRoleRelationMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/UmsMenuService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/resources/mapper/user/UmsAdminRoleRelationMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/portal/UmsWebsitePortalController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/mapper/user/UmsAdminRoleRelationMapper.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.entity.user.UmsAdminRoleRelation;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -10,5 +13,5 @@
 *
 */
public interface UmsAdminRoleRelationMapper extends BaseMapper<UmsAdminRoleRelation> {
    List<String> selectPermissionById(@Param("id")Long id);
}
ycl-common/src/main/java/com/ycl/service/user/UmsMenuService.java
@@ -41,4 +41,6 @@
    List<UmsMenuVo> ListTreeMyself(Long id);
    String getPermission(Long userId);
}
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -133,27 +133,24 @@
        }
        //绑定菜单于用户
        if (!ids.isEmpty()) {
            Integer size = 0;
            Long maxId = null;
            ArrayList<UmsRoleMenuRelation> umsRoleMenuRelations = new ArrayList<>();
            for (Long id : ids) {
                if (size < umsRoleMenuRelationMapper
                umsRoleMenuRelations.addAll(umsRoleMenuRelationMapper
                        .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
                                .eq(UmsRoleMenuRelation::getRoleId, id)).size()) {
                    size = umsRoleMenuRelationMapper
                            .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
                                    .eq(UmsRoleMenuRelation::getRoleId, id)).size();
                    maxId = id;
                }
                                .eq(UmsRoleMenuRelation::getRoleId, id)));
            }
            umsRoleMenuRelationMapper
                    .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
                            .eq(UmsRoleMenuRelation::getRoleId, maxId))
            umsRoleMenuRelations
                    .stream()
                    .map(item->item.getMenuId())
                    .collect(Collectors.toList())
                    .stream()
                    .distinct()
                    .collect(Collectors.toList())
                    .stream()
                    .forEach(item -> {
                        AdminMenuRelation adminMenuRelation = new AdminMenuRelation();
                        adminMenuRelation.setAdminId(umsAdmin.getId());
                        adminMenuRelation.setMenuId(item.getMenuId());
                        adminMenuRelation.setSort(umsMenuMapper.selectOne(new LambdaQueryWrapper<UmsMenu>().eq(UmsMenu::getId, item.getMenuId())).getSort());
                        adminMenuRelation.setMenuId(item);
                        adminMenuRelationMapper.insert(adminMenuRelation);
                    });
        }
ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java
@@ -7,6 +7,7 @@
import com.ycl.entity.user.UmsMenu;
import com.ycl.entity.user.vo.UmsMenuVo;
import com.ycl.mapper.user.AdminMenuRelationMapper;
import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
import com.ycl.mapper.user.UmsMenuMapper;
import com.ycl.service.user.UmsMenuService;
import org.springframework.beans.BeanUtils;
@@ -28,6 +29,8 @@
    AdminMenuRelationMapper adminMenuRelationMapper;
    @Resource
    UmsMenuMapper umsMenuMapper;
    @Resource
    UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
    @Override
    public boolean create(UmsMenu umsMenu) {
@@ -105,6 +108,24 @@
                .collect(Collectors.toList());
    }
    @Override
    public String getPermission(Long userId) {
        List<String> permission = umsAdminRoleRelationMapper.selectPermissionById(userId);
        if (permission.size()<2){
            return permission.get(0);
        }else {
            if (permission.contains("操作且查看")){
                return "operation and view";
            }
            else if (permission.contains("可操作")&&!permission.contains("仅查看")){
                return "operation";
            }
            else if (permission.contains("仅查看")&&!permission.contains("可操作")){
                return "view";
            }else return "operation and view";
        }
    }
    /**
     * 将UmsMenu转化为UmsMenuNode并设置children属性
     */
ycl-common/src/main/resources/mapper/user/UmsAdminRoleRelationMapper.xml
@@ -4,9 +4,17 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.entity.user.UmsAdminRoleRelation">
        <id column="id" property="id" />
        <result column="admin_id" property="adminId" />
        <result column="role_id" property="roleId" />
        <id column="id" property="id"/>
        <result column="admin_id" property="adminId"/>
        <result column="role_id" property="roleId"/>
    </resultMap>
    <select id="selectPermissionById" parameterType="java.lang.Long" resultType="java.lang.String">
        SELECT t3.`name`
        FROM `ums_admin_role_relation` AS t1
                 JOIN ums_role t2 on t1.role_id = t2.id
                 JOIN ums_data_dictionary t3 ON t2.type = t3.id
        WHERE t1.admin_id = #{id}
    </select>
</mapper>
ycl-platform/src/main/java/com/ycl/controller/portal/UmsWebsitePortalController.java
@@ -22,6 +22,7 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -112,7 +113,10 @@
    @GetMapping("/menu/search_myself")
    public CommonResult searchMenusMyself() {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        return CommonResult.success(umsMenuService.ListTreeMyself(user.getUserId()));
        HashMap<String, Object> map = new HashMap<>();
        map.put("menu",umsMenuService.ListTreeMyself(user.getUserId()));
        map.put("permission",umsMenuService.getPermission(user.getUserId()));
        return CommonResult.success(map);
    }
    @ApiOperation("菜单权限-个人菜单状态修改")