lin
2024-04-13 c565ed505c1762e0eaf3d5eaeb618b90478920b5
小区过滤
3 files modified
34 ■■■■■ changed files
src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/district/mapper/DistrictMapper.java
@@ -51,7 +51,9 @@
     * @return
     */
    @MapKey(value = "id")
    Map<String, TreeStringNode> getDistrictTree(@Param("district") DistrictVO district);
    Map<String, TreeStringNode> getDistrictTree(@Param("district") DistrictVO district,
                                                @Param("regionChildCodesList") List<String> regionChildCodesList,
                                                @Param("isAdministrator") Integer isAdministrator);
    /**
     * 小区表 自定义获取详情
src/main/java/org/springblade/modules/district/mapper/DistrictMapper.xml
@@ -62,6 +62,19 @@
        name,
        remark aoiCode
        FROM blade_region where district_code like concat('361102','%')
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
                <otherwise>
                    and code in ('')
                </otherwise>
            </choose>
        </if>
        union all
        (
        select
@@ -77,6 +90,19 @@
                #{item}
            </foreach>
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and community_code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
                <otherwise>
                    and community_code in ('')
                </otherwise>
            </choose>
        </if>
        )
    </select>
src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
@@ -94,6 +94,8 @@
    public Object getDistrictTree(DistrictVO district) {
        // 判断角色,物业角色只能查询当前小区的
        String userRole = AuthUtil.getUserRole();
        CommonParamSet invoke = new CommonParamSet<>().invoke(DistrictVO.class, district);
        if (RoleUtil.isProperty(userRole)) {
            if (district.getFilterFlag().equals(1)) {
                // 查询小区id
@@ -120,7 +122,7 @@
                }
            }
        }
        Map<String, TreeStringNode> districtTree = baseMapper.getDistrictTree(district);
        Map<String, TreeStringNode> districtTree = baseMapper.getDistrictTree(district,invoke.getRegionChildCodesList(),invoke.getIsAdministrator());
        List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(districtTree);
        stringNodeTree.forEach(node -> recursion(node));
        return stringNodeTree;