From dbe91094ec2c5b38c85985d2d2ca50c32cc966d4 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Thu, 19 Dec 2024 14:50:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AppNewsController.java | 6 ++++ .../inspection/entity/InspectionNews.java | 4 +++ .../mapper/InspectionNewsMapper.java | 2 +- .../impl/InspectionNewsServiceImpl.java | 35 +++++++++++++++++-- .../inspection/InspectionNewsMapper.xml | 10 ++++-- 5 files changed, 51 insertions(+), 6 deletions(-) diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/AppNewsController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/AppNewsController.java index 501f9830..8debb7d2 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/AppNewsController.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/AppNewsController.java @@ -164,6 +164,12 @@ public class AppNewsController extends BaseController { inspectionNews.setPublishUnit(partners.getPartnerName()); } + if (ObjectUtil.isEmpty(inspectionNews.getType()) || inspectionNews.getType().equals("null")){ + if (ObjectUtil.isNotEmpty(inspectionNews.getIfShow())){ + inspectionNews.setType(inspectionNews.getIfShow().equals("01") ? "staff" : "user"); + } + } + //判断是否为当前登录用户创建的 return toAjax(inspectionNewsService.insertInspectionNews(inspectionNews)); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionNews.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionNews.java index be68946d..df3c6ed1 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionNews.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/entity/InspectionNews.java @@ -56,4 +56,8 @@ public class InspectionNews extends TenantBaseDO @TableField(exist = false) private String isRead; + /** 设置可见 */ + @TableField(exist = false) + private String ifShow; + } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionNewsMapper.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionNewsMapper.java index f33bfb8a..c87ac3b0 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionNewsMapper.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/mapper/InspectionNewsMapper.java @@ -81,6 +81,6 @@ public interface InspectionNewsMapper extends BaseMapper void addReadNum(Long id); IPage collectionNews(Page page, @Param("userId") Long userId,@Param("newsName")String newsName); Integer newMsgNum(@Param("partnerId") Long partnerId); - IPage msgList(Page page, @Param("partnerId") Long partnerId); + IPage msgList(Page page, @Param("ifShow") String ifShow); List listGfClass(@Param("type") String type); } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionNewsServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionNewsServiceImpl.java index ed75df0b..83646bff 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionNewsServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionNewsServiceImpl.java @@ -4,10 +4,15 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; +import cn.iocoder.yudao.module.system.api.permission.PermissionApi; +import cn.iocoder.yudao.module.system.api.permission.RoleApi; +import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.service.user.AdminUserService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -28,6 +33,8 @@ import cn.iocoder.yudao.module.inspection.utils.HtmlFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + /** * 【请填写功能名称】Service业务层处理 * @@ -44,6 +51,10 @@ public class InspectionNewsServiceImpl extends ServiceImpl msgList(Page page, Long partnerId) { - IPage news = baseMapper.msgList(page, partnerId); + List roleIdsByUserId = permissionApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); + List roleList = roleApi.getRoleList(); + List collect = roleList.stream().filter(item -> roleIdsByUserId.contains(item.getId())).collect(Collectors.toList()); + String ifShow = ""; + if (CollUtil.isNotEmpty(collect)){ + List collect1 = collect.stream().map(RoleReqDTO::getCode).collect(Collectors.toList()); + // 检测用户 + if (collect1.contains("jcyh")){ + ifShow = "user"; + } +// else if (collect1.contains("jcgf") || collect1.contains("jcshop") || collect1.contains("dealers") || collect1.contains("partners")){ +// // 检测官方 检测商户 经销商 合作商 +// ifShow = ""; +// } + else { + ifShow = "staff"; + } + } + IPage news = baseMapper.msgList(page, ifShow); news.getRecords().forEach(it->{ it.setNewsContent(HtmlFilter.dealFunction(it.getNewsContent())); }); diff --git a/dl-module-inspection/src/main/resources/mapper/inspection/InspectionNewsMapper.xml b/dl-module-inspection/src/main/resources/mapper/inspection/InspectionNewsMapper.xml index 487ea400..931e8cb0 100644 --- a/dl-module-inspection/src/main/resources/mapper/inspection/InspectionNewsMapper.xml +++ b/dl-module-inspection/src/main/resources/mapper/inspection/InspectionNewsMapper.xml @@ -167,8 +167,14 @@ news.*,IF(ina.id is null,0,1) as isRead FROM inspection_news news - left JOIN inspection_news_association ina ON ina.news_id = news.id and ina.user_id = #{partnerId} and ina.type = 'read' - WHERE news.category = 'jcztz' or news.category = 'zflm' + left JOIN inspection_news_association ina ON ina.news_id = news.id and ina.type = 'read' + WHERE news.category = 'zflm' + + or news.category = 'jcztz' + or news.type = #{ifShow} + or news.type = 'null' + + group by news.id order by isRead,news.create_time desc