From fe8f3e622207c3e848a9140783bb17dd3fbc3616 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 19 Jan 2024 16:47:17 +0800
Subject: [PATCH] 街道身份,只查找该街道下面的公告
---
src/main/java/org/springblade/modules/article/vo/ArticleVO.java | 3 +++
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml | 13 ++++++++-----
src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java | 20 ++++++++++++++++----
3 files changed, 27 insertions(+), 9 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 ed301e5..f16510b 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -183,6 +183,7 @@
<select id="selectArticlePage" resultType="org.springblade.modules.article.entity.Article">
select * from jczz_article
where 1=1
+ and is_deleted = 0
<if test="article.title!=null and article.title!=''">
and title like concat('%',#{article.title},'%')
</if>
@@ -201,16 +202,18 @@
<if test="article.articleType!=null and article.articleType!=''">
and article_type like concat('%',#{article.articleType},'%')
</if>
+ <if test="article.type != null ">and type = #{article.type}</if>
+
<if test="article.keyword!=null and article.keyword!=''">
AND CONCAT(title,source_name)
LIKE CONCAT ('%', #{article.keyword},'%')
</if>
- <if test="article.districtId != null and article.districtId != ''">
- and article_range like concat('%',#{article.districtId},'%')
+ <if test="article.districtIdList != null and article.districtIdList != ''">
+ and (article_range like
+ <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+ </foreach>
+ )
</if>
- <if test="article.type != null ">and type = #{article.type}</if>
-
- and is_deleted = 0
order by id desc
</select>
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 73b9de1..f1127ca 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
@@ -3,17 +3,21 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
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.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.article.entity.Article;
import org.springblade.modules.article.mapper.ArticleMapper;
import org.springblade.modules.article.service.ArticleService;
import org.springblade.modules.article.vo.ArticleVO;
+import org.springblade.modules.district.entity.DistrictEntity;
+import org.springblade.modules.district.service.IDistrictService;
import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author zhongrj
@@ -37,11 +41,19 @@
// 物业身份,只查询该物业公司下的公告
if (userRole.contains("wygly")) {
IPropertyCompanyDistrictService bean = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
- PropertyCompanyDistrictEntity one = bean.getOne(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
- .eq(PropertyCompanyDistrictEntity::getUserId, AuthUtil.getUserId()).last("limit 1"));
- article.setDistrictId(one.getDistrictId());
+ List<PropertyCompanyDistrictEntity> list = bean.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
+ .eq(PropertyCompanyDistrictEntity::getUserId, AuthUtil.getUserId()));
+ List<String> collect = list.stream().map(PropertyCompanyDistrictEntity::getDistrictId).collect(Collectors.toList());
+ article.setDistrictIdList(collect);
}
-
+ if (userRole.contains("jdgly")) {
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ IDistrictService bean = SpringUtils.getBean(IDistrictService.class);
+ List<DistrictEntity> list = bean.list(Wrappers.<DistrictEntity>lambdaQuery()
+ .in(DistrictEntity::getCommunityCode, regionChildCodesList));
+ List<String> fieldValues = list.stream().map(DistrictEntity::getId).collect(Collectors.toList());
+ article.setDistrictIdList(fieldValues);
+ }
return page.setRecords(baseMapper.selectArticlePage(page, article));
}
diff --git a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
index befe258..8818a14 100644
--- a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
+++ b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
@@ -4,6 +4,7 @@
import org.springblade.modules.article.entity.Article;
import java.io.Serializable;
+import java.util.List;
@Data
public class ArticleVO extends Article implements Serializable {
@@ -77,4 +78,6 @@
private String parentId;
+ private List<String> districtIdList;
+
}
--
Gitblit v1.9.3