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 */