zhongrj
2024-04-01 4958afad2168f61e7012d2ac6b2a137274a708df
区域获取优化
1 files modified
61 ■■■■■ changed files
src/main/java/org/springblade/common/cache/SysCache.java 61 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/cache/SysCache.java
@@ -1,19 +1,3 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.common.cache;
import org.apache.logging.log4j.util.Strings;
@@ -364,30 +348,33 @@
     * @return regionCode
     */
    public static List<String> getPoliceRegionChildCodesByDeptId(String deptId) {
        //多个部门按逗号分割
        List<String> deptIdList = Arrays.asList(deptId.split(","));
        // 去重
        List<String> regionCodeList = new ArrayList<>();
        if (!Strings.isBlank(deptId)) {
            //多个部门按逗号分割
            List<String> deptIdList = Arrays.asList(deptId.split(","));
        //所有行政区划code
        List<String> allRegionList = new ArrayList<>();
        deptIdList.forEach(id->{
            List<String> list = new ArrayList<>();
            // 查询对应的区域编号code
            Dept dept = deptService.getById(id);
            // 只取公安的
            if (dept.getDeptNature()==1) {
                if (null != dept && !Strings.isBlank(dept.getRegionCode()) && !AuthUtil.isAdministrator()) {
                    list = getPoliceRegionChildCodes(dept.getRegionCode());
                    //行政区划不为空添加进集合
                    if (list.size() > 0) {
                        allRegionList.addAll(list);
            //所有行政区划code
            List<String> allRegionList = new ArrayList<>();
            deptIdList.forEach(id -> {
                List<String> list = new ArrayList<>();
                // 查询对应的区域编号code
                Dept dept = deptService.getById(id);
                // 只取公安的
                if (dept.getDeptNature() == 1) {
                    if (null != dept && !Strings.isBlank(dept.getRegionCode()) && !AuthUtil.isAdministrator()) {
                        list = getPoliceRegionChildCodes(dept.getRegionCode());
                        //行政区划不为空添加进集合
                        if (list.size() > 0) {
                            allRegionList.addAll(list);
                        }
                    }
                }
            }
        });
        // 去重
        List<String> collect = allRegionList.stream().distinct().collect(Collectors.toList());
        return collect;
            });
            // 去重
            regionCodeList = allRegionList.stream().distinct().collect(Collectors.toList());
        }
        return regionCodeList;
    }
    /**