|
|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.xunmei.common.core.constant.Constants;
|
|
|
import com.xunmei.common.core.constant.ErrorMsgConstants;
|
|
|
import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
import com.xunmei.common.core.domain.edu.domain.SysLearningMaterials;
|
|
|
@@ -53,11 +54,22 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
|
|
|
@Override
|
|
|
public TableDataInfo selectPage(SysLearningMaterialsPageDto request) {
|
|
|
- final List<Long> list = dealParentOrgId(request, request.getOrgId());
|
|
|
+ SysOrg sysOrg = remoteOrgService.selectSysOrgById(request.getOrgId(), SecurityConstants.INNER);
|
|
|
+ if (sysOrg == null || ObjectUtil.isEmpty(sysOrg.getPath())) {
|
|
|
+ throw new RuntimeException("机构不存在或机构信息缺失!");
|
|
|
+ }
|
|
|
+ final List<Long> list = dealParentOrgId(request, sysOrg);
|
|
|
+ boolean isTopOrg = ObjectUtil.equal(sysOrg.getParentId(), Constants.TOP_ORG_PARENT_ID);
|
|
|
+ list.remove(request.getOrgId());
|
|
|
request.setOrgIdList(list);
|
|
|
request.setUserId(SecurityUtils.getUserId());
|
|
|
//获取数据 默认查询当前及上级机构公开,当前用户创建的的数据
|
|
|
- Page<SysLearningMaterialsPageVo> page = sysLearningMaterialsMapper.selectPageData(request.getPageRequest(), request);
|
|
|
+ Page<SysLearningMaterialsPageVo> page;
|
|
|
+ if (isTopOrg) {
|
|
|
+ page = sysLearningMaterialsMapper.selectPageDataByTopOrg(request.getPageRequest(), request);
|
|
|
+ } else {
|
|
|
+ page = sysLearningMaterialsMapper.selectPageData(request.getPageRequest(), request);
|
|
|
+ }
|
|
|
for (SysLearningMaterialsPageVo record : page.getRecords()) {
|
|
|
extractStringFromUrl(record);
|
|
|
}
|
|
|
@@ -70,11 +82,8 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
return tableDataInfo;
|
|
|
}
|
|
|
|
|
|
- private List<Long> dealParentOrgId(SysLearningMaterialsPageDto request, Long orgId) {
|
|
|
- SysOrg sysOrg = remoteOrgService.selectSysOrgById(orgId, SecurityConstants.INNER);
|
|
|
- if (sysOrg == null || ObjectUtil.isEmpty(sysOrg.getPath())) {
|
|
|
- throw new RuntimeException("机构不存在或机构信息缺失!");
|
|
|
- }
|
|
|
+ private List<Long> dealParentOrgId(SysLearningMaterialsPageDto request, SysOrg sysOrg) {
|
|
|
+
|
|
|
String[] split = sysOrg.getPath().split("-");
|
|
|
List<Long> list = new ArrayList<>();
|
|
|
Stream.of(split).forEach(s -> list.add(Long.valueOf(s)));
|