From 2b1a74f4faa5a00a294bdc6a6d956c2e009cf467 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Tue, 16 Apr 2024 15:32:09 +0800
Subject: [PATCH] 管理员过滤文章
---
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml | 13 +++++++++++++
src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java | 21 +++++++++++++++++----
2 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
index 80178a2..1cf62e9 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -113,6 +113,12 @@
and (ja.article_range like concat('%',#{article.districtId},'%')
or ja.article_range is null or ja.article_range = '')
</if>
+ <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
+ and (ja.article_range like
+ <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+ </foreach>
+ ) or ja.article_range is null
+ </if>
<if test="article.districtId == null ">
and ja.article_range is null
@@ -174,6 +180,13 @@
or ja.article_range is null)
</if>
+ <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
+ and (ja.article_range like
+ <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+ </foreach>
+ ) or ja.article_range is null
+ </if>
+
<if test="article.building != null and article.building != ''">
and (ja.building = #{article.building}
or ja.building is null)
diff --git a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
index d1ffbbd..b40e43e 100644
--- a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.cache.SysCache;
+import org.springblade.common.utils.AuthUtils;
import org.springblade.common.utils.RoleUtil;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
@@ -103,10 +104,22 @@
*/
@Override
public IPage<ArticleVO> selectArticlePageByApp(IPage<ArticleVO> page, ArticleVO article) {
- // 查询用户小区的id
- String districId = baseMapper.getDistrictId(article.getHouseCode());
- article.setDistrictId(districId);
-
+ // 判断是否管理员
+ if (AuthUtils.isAdministratorOrAdmin(SpringUtils.getRequestParam("roleName"))) {
+ IDistrictService districtService = SpringUtils.getBean(IDistrictService.class);
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ List<DistrictEntity> list = districtService.list(Wrappers.<DistrictEntity>lambdaQuery()
+ .like(DistrictEntity::getCommunityCode, communityCode));
+ if (list.size() > 0) {
+ article.setDistrictIdList(list.stream().map(item -> item.getId()).collect(Collectors.toList()));
+ }
+ } else {
+ // 查询用户小区的id
+ String districId = baseMapper.getDistrictId(article.getHouseCode());
+ List<String> objects = new ArrayList<>();
+ objects.add(districId);
+ article.setDistrictIdList(objects);
+ }
IHouseholdService householdService = SpringUtils.getBean(IHouseholdService.class);
HouseholdEntity householdEntity = householdService.getOne(Wrappers.<HouseholdEntity>lambdaQuery()
.eq(HouseholdEntity::getHouseCode, article.getHouseCode())
--
Gitblit v1.9.3