linwei
2024-01-20 b04b02aa6a6cb50da58c1a7165394252c94f78e9
物业公司人员查询数据过滤
10 files modified
81 ■■■■■ changed files
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 38 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/vo/DeptVO.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/vo/RoleVO.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -208,7 +208,7 @@
            AND CONCAT(title,source_name)
            LIKE CONCAT ('%', #{article.keyword},'%')
        </if>
        <if test="article.districtIdList != null and article.districtIdList != ''">
        <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
            and (article_range like
            <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
            </foreach>
src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
@@ -38,6 +38,7 @@
        String userRole = AuthUtil.getUserRole();
        // 物业身份,只查询该物业公司下的公告
        if (userRole.contains("wygly")) {
            // 物业公司 有哪些小区
            IPropertyCompanyDistrictService bean = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
            List<PropertyCompanyDistrictEntity> list = bean.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
                .eq(PropertyCompanyDistrictEntity::getUserId, AuthUtil.getUserId()));
@@ -50,8 +51,10 @@
//            List<DistrictEntity> list = bean.list(Wrappers.<DistrictEntity>lambdaQuery()
//                .in(DistrictEntity::getCommunityCode, regionChildCodesList));
//            List<String> fieldValues = list.stream().map(DistrictEntity::getId).collect(Collectors.toList());
            if (regionChildCodesList.size() > 0) {
            article.setDistrictIdList(regionChildCodesList);
        }
        }
        return page.setRecords(baseMapper.selectArticlePage(page, article));
    }
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
@@ -19,10 +19,13 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.pay.entity.AliPayInfo;
import org.springblade.modules.pay.entity.WxPayInfo;
import org.springblade.modules.pay.service.IAliPayService;
@@ -82,6 +85,12 @@
     */
    @Override
    public List<PropertyCompanyVO> getPropertyCompanyList(PropertyCompanyVO propertyCompany) {
        String userRole = AuthUtil.getUserRole();
        if (!AuthUtil.isAdministrator() && userRole.contains("wygly")) {
            Long deptId = Func.firstLong(AuthUtil.getDeptId());
            Dept dept = SysCache.getDept(deptId);
            propertyCompany.setName(dept.getDeptName());
        }
        return baseMapper.getPropertyCompanyList(propertyCompany);
    }
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -182,7 +182,7 @@
    @PostMapping("/submit")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增或修改", notes = "传入User")
    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
    @PreAuth("hasAnyRole('administrator', 'admin','wygly')")
    public R submit(@Valid @RequestBody User user) {
        CacheUtil.clear(USER_CACHE);
        return R.status(userService.submit(user));
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -47,7 +47,7 @@
     * @param tenantId
     * @return
     */
    List<DeptVO> tree(String tenantId);
    List<DeptVO> tree(String tenantId, Long parentId);
    /**
     * 懒加载获取树形节点
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -68,8 +68,12 @@
    <select id="tree" resultMap="treeNodeResultMap">
        select id, parent_id, dept_name as title, id as "value", id as "key" from blade_dept where is_deleted = 0
        <if test="_parameter!=null and _parameter!=''">
            and tenant_id = #{_parameter}
        <if test="param1!=null and param1!=''">
            and tenant_id = #{param1}
        </if>
        <if test="param2!=null and param2!=''">
            and parent_id = #{param2}
        </if>
        ORDER BY sort
    </select>
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -26,6 +26,7 @@
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.property.entity.PropertyCompanyEntity;
@@ -81,6 +82,9 @@
            if (dept.getParentId() != 0) {
                parentId = dept.getParentId();
            }
            List<DeptVO> deptVOS = baseMapper.lazyList(tenantId, parentId, param);
            deptVOS = deptVOS.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
            return deptVOS;
        }
        // 判断点击搜索带有查询条件的情况
        if (Func.isEmpty(param.get(PARENT_ID)) && param.size() > 1 && Func.toLong(parentId) == 0L) {
@@ -91,7 +95,21 @@
    @Override
    public List<DeptVO> tree(String tenantId) {
        return ForestNodeMerger.merge(baseMapper.tree(tenantId));
        Long parentId = null;
        // 判断数据权限控制,非超管角色只可看到本级及以下数据
//        if (!AuthUtil.isAdministrator()) {
//            Long deptId = Func.firstLong(AuthUtil.getDeptId());
//            Dept dept = SysCache.getDept(deptId);
//            if (dept.getParentId() != 0) {
//                parentId = dept.getParentId();
//            }
//            List<DeptVO> merge = ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
//            List<DeptVO> copy = BeanUtil.copy(merge, DeptVO.class);
//            copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
//            return copy;
//        }
        return ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId));
    }
    @Override
@@ -100,12 +118,23 @@
            tenantId = StringPool.EMPTY;
        }
        // 判断数据权限控制,非超管角色只可看到本级及以下数据
//        if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
//            Long deptId = Func.firstLong(AuthUtil.getDeptId());
//            Dept dept = SysCache.getDept(deptId);
//            if (dept.getParentId() != 0) {
//                parentId = dept.getParentId();
//            }
//        }
        if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
            Long deptId = Func.firstLong(AuthUtil.getDeptId());
            Dept dept = SysCache.getDept(deptId);
            if (dept.getParentId() != 0) {
                parentId = dept.getParentId();
            }
            List<DeptVO> merge = ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId));
            List<DeptVO> copy = BeanUtil.copy(merge, DeptVO.class);
            copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList());
            return copy;
        }
        return ForestNodeMerger.merge(baseMapper.lazyTree(tenantId, parentId));
    }
@@ -173,6 +202,7 @@
    /**
     * 机构信息处理
     *
     * @param dept
     */
    private void deptHandle(Dept dept) {
@@ -195,6 +225,7 @@
    /**
     * 自定义新增或修改
     *
     * @param dept
     * @return
     */
@@ -218,7 +249,11 @@
                dept.setId(one.getId());
                flag = updateById(dept);
            } else {
                if (dept.getId() > 0) {
                    flag = updateById(dept);
                } else {
                flag = save(dept);
                }
            }
            //保存物业公司信息
            savePropertyCompany(dept);
@@ -231,6 +266,7 @@
    /**
     * 保存物业公司信息
     *
     * @param dept
     */
    @Transactional(rollbackFor = Exception.class)
src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java
@@ -26,6 +26,7 @@
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.system.entity.Role;
@@ -72,12 +73,20 @@
    @Override
    public List<RoleVO> tree(String tenantId) {
        String userRole = AuthUtil.getUserRole();
        String roleId = AuthUtil.getUser().getRoleId();
        String excludeRole = null;
        if (!CollectionUtil.contains(Func.toStrArray(userRole), RoleConstant.ADMIN) && !CollectionUtil.contains(Func.toStrArray(userRole), RoleConstant.ADMINISTRATOR)) {
            excludeRole = RoleConstant.ADMIN;
        }
        return ForestNodeMerger.merge(baseMapper.tree(tenantId, excludeRole));
        List<RoleVO> merge = ForestNodeMerger.merge(baseMapper.tree(tenantId, excludeRole));
        List<RoleVO> copy = BeanUtil.copy(merge, RoleVO.class);
        if (!AuthUtil.isAdministrator()) {
            List<RoleVO> collect = copy.stream().filter(item -> roleId.contains(item.getId().toString())).collect(Collectors.toList());
            return collect;
    }
        return merge;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
src/main/java/org/springblade/modules/system/vo/DeptVO.java
@@ -51,6 +51,9 @@
    @JsonSerialize(using = ToStringSerializer.class)
    private Long parentId;
    @JsonSerialize(using = ToStringSerializer.class)
    private String title;
    /**
     * 子孙节点
     */
src/main/java/org/springblade/modules/system/vo/RoleVO.java
@@ -45,6 +45,9 @@
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    @JsonSerialize(using = ToStringSerializer.class)
    private String title;
    /**
     * 父节点ID
     */