linwe
2023-12-25 d01df474336b89991e8881833d78837a489620d8
取保候审菜单+房屋和场所返回数据结构调整
2 files modified
87 ■■■■ changed files
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java 17 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java 70 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -199,23 +199,32 @@
            houseNode.setId("1");
            houseNode.setHasChildren(true);
            houseNode.setChildren(houseNodeList);
            list.add(houseNode);
            TreeStringNode placeNode = new TreeStringNode();
            placeNode.setName("场所");
            placeNode.setId("2");
            placeNode.setHasChildren(true);
            placeNode.setChildren(placeNodeList);
            list.add(houseNode);
            list.add(placeNode);
            // 返回
            return list;
        }
        if (houseNodeList.size()>0){
            list = houseNodeList;
            TreeStringNode houseNode = new TreeStringNode();
            houseNode.setName("房屋");
            houseNode.setId("1");
            houseNode.setHasChildren(true);
            houseNode.setChildren(houseNodeList);
            list.add(houseNode);
        }
        if (placeNodeList.size()>0){
            list = placeNodeList;
            TreeStringNode placeNode = new TreeStringNode();
            placeNode.setName("场所");
            placeNode.setId("2");
            placeNode.setHasChildren(true);
            placeNode.setChildren(placeNodeList);
            list.add(placeNode);
        }
        // 返回
        return list;
src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java
@@ -18,12 +18,14 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
@@ -123,42 +125,8 @@
        // 非超级管理员并且不是顶部菜单请求则返回对应角色权限菜单
        else if (!AuthUtil.isAdministrator() && Func.isEmpty(topMenuId)) {
            roleMenus = tenantPackageMenu(baseMapper.roleMenuByRoleId(Func.toLongList(roleId), menuType));
            UserHouseLabelDTO userHouseLabelDTO = new UserHouseLabelDTO();
            userHouseLabelDTO.setUserId(AuthUtil.getUserId());
            userHouseLabelDTO.setLableType(labelType);
            List<Integer> integers = iUserHouseLabelService.selectUserLabelList(userHouseLabelDTO);
            Iterator<Menu> iterator = roleMenus.iterator();
            while (iterator.hasNext()) {
                Menu next = iterator.next();
                if (!next.getParentId().equals(0)) {
                    if (StringUtils.isNotBlank(next.getLabelId())) {
                        String[] split = next.getLabelId().split(",");
                        List<Integer> integerList = Arrays.stream(split).map(Integer::valueOf).collect(Collectors.toList());
                        Collection<? extends Serializable> union = CollectionUtils.intersection(integerList, integers);
                        if (union.size() == 0) {
                            iterator.remove();
                        }
                    } else {
                        if (next.getName().trim().equals("标签报事")) {
                            iterator.remove();
                        }
                        if (next.getName().trim().equals("打金店")) {
                            iterator.remove();
                        }
                        if (next.getName().trim().equals("旅馆安全")) {
                            iterator.remove();
                        }
                        if (next.getName().trim().equals("二手车交易")) {
                            iterator.remove();
                        }
                        if (next.getName().trim().equals("二手手机维修")) {
                            iterator.remove();
                        }
                        if (next.getName().trim().equals("校园安全")) {
                            iterator.remove();
                        }
                    }
                }
            if(CommonConstant.NUMBER_ONE.equals(labelType)){
                extracted(labelType, roleMenus);
            }
        }
        // 顶部菜单请求返回对应角色权限菜单
@@ -179,6 +147,36 @@
        return buildRoutes(allMenus, roleMenus);
    }
    /**
     * 房屋的时候才通过人的标签过滤
     * @param roleMenus
     * @param labelType
     */
    private void extracted(Integer labelType, List<Menu> roleMenus) {
        UserHouseLabelDTO userHouseLabelDTO = new UserHouseLabelDTO();
        userHouseLabelDTO.setUserId(AuthUtil.getUserId());
        userHouseLabelDTO.setLableType(labelType);
        List<Integer> integers = iUserHouseLabelService.selectUserLabelList(userHouseLabelDTO);
        Iterator<Menu> iterator = roleMenus.iterator();
        while (iterator.hasNext()) {
            Menu next = iterator.next();
            if (!next.getParentId().equals(0)) {
                if (StringUtils.isNotBlank(next.getLabelId())) {
                    String[] split = next.getLabelId().split(",");
                    List<Integer> integerList = Arrays.stream(split).map(Integer::valueOf).collect(Collectors.toList());
                    Collection<? extends Serializable> union = CollectionUtils.intersection(integerList, integers);
                    if (union.size() == 0) {
                        iterator.remove();
                    }
                } else {
                    if (next.getName().trim().equals("取保候审")) {
                        iterator.remove();
                    }
                }
            }
        }
    }
    @Override
    public List<MenuVO> routesExt(String roleId, Long topMenuId) {
        if (StringUtil.isBlank(roleId)) {