Sfoglia il codice sorgente

处理学习资料查询bug

jingyuanchao 2 anni fa
parent
commit
8f0117355b

+ 1 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/web/domain/PageRequest.java

@@ -10,7 +10,7 @@ public class PageRequest {
 
     private String orgPath;
 
-    private Boolean checkSub;
+    private Boolean checkSub = Boolean.FALSE;
 
     private int page = 0;
 

+ 6 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/SysLearningMaterialsServiceImpl.java

@@ -4,7 +4,6 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
 import com.alibaba.fastjson2.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -37,7 +36,6 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.util.*;
-import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 /**
@@ -62,7 +60,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         } else {
             page = new Page<>();
         }
-        final List<Long> list = dealParentOrgId(sysLearningMaterials.getOrgId());
+        final List<Long> list = dealParentOrgId(sysLearningMaterials.getOrgId(), true);
         sysLearningMaterials.setOrgIdList(list);
         sysLearningMaterials.setUserId(SecurityUtils.getUserId());
         //获取数据
@@ -79,7 +77,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         return tableDataInfo;
     }
 
-    private List<Long> dealParentOrgId(Long orgId) {
+    private List<Long> dealParentOrgId(Long orgId, Boolean isNeedRemoveSelf) {
         SysOrg sysOrg = remoteOrgService.selectSysOrgById(orgId, SecurityConstants.INNER);
         if (sysOrg == null || ObjectUtil.isEmpty(sysOrg.getPath())) {
             throw new RuntimeException("机构不存在或机构信息缺失!");
@@ -87,7 +85,9 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         String[] split = sysOrg.getPath().split("-");
         List<Long> list = new ArrayList<>();
         Stream.of(split).forEach(s -> list.add(Long.valueOf(s)));
-        //list.remove(sysLearningMaterials.getOrgId());
+        if (isNeedRemoveSelf) {
+            list.remove(orgId);
+        }
         return list;
     }
 
@@ -208,7 +208,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
 
     @Override
     public TableDataInfo filePageList(SysLearningMaterialsFileListPageDto request) {
-        final List<Long> list = dealParentOrgId(request.getOrgId());
+        final List<Long> list = dealParentOrgId(request.getOrgId(), false);
         request.setOrgIdList(list);
         final IPage<SysLearningMaterialsFileListVo> page = sysLearningMaterialsMapper.selectFilePageList(request.getPageRequest(), request);
         final List<SysLearningMaterialsFileListVo> records = page.getRecords();

+ 1 - 2
soc-modules/soc-modules-core/src/main/resources/mapper/edu/SysLearningMaterialsMapper.xml

@@ -112,9 +112,8 @@
         <choose>
             <!-- 查询公开的,需要判断是否关联上级机构,类型与标题 -->
             <when test="request.isOpen != null and request.isOpen ==1">
-                <include refid="pageRequest"/>
                 <if test="request.checkSub==false">
-                    and m.org_id = #{request.orgId}
+                    and m.org_id = #{request.orgId} and m.is_open = 1
                 </if>
                 <if test="request.checkSub==true">
                     or ( m.org_id in