|
|
@@ -4,6 +4,7 @@ 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.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -12,6 +13,8 @@ import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
import com.xunmei.common.core.domain.edu.domain.SysLearningMaterials;
|
|
|
import com.xunmei.common.core.domain.edu.dto.SysLearningMaterialsInsertDto;
|
|
|
import com.xunmei.common.core.domain.edu.dto.SysLearningMaterialsPageDto;
|
|
|
+import com.xunmei.common.core.domain.edu.vo.SysLearningMaterialsDetailVo;
|
|
|
+import com.xunmei.common.core.domain.edu.vo.SysLearningMaterialsFileListVo;
|
|
|
import com.xunmei.common.core.domain.edu.vo.SysLearningMaterialsPageVo;
|
|
|
import com.xunmei.common.core.utils.DateHelper;
|
|
|
import com.xunmei.common.core.utils.DateUtils;
|
|
|
@@ -31,6 +34,7 @@ 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;
|
|
|
|
|
|
/**
|
|
|
@@ -88,10 +92,14 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
return;
|
|
|
}
|
|
|
String fileList = record.getFileList();
|
|
|
- List<Map> maps = JSON.parseArray(fileList, Map.class);
|
|
|
- String name = maps.get(0).get("name").toString();
|
|
|
+ List<String> list = JSON.parseArray(fileList, String.class);
|
|
|
+ List<String> arrayList = new ArrayList<>();
|
|
|
+ for (String fileStr : list) {
|
|
|
+ final Map map = JSON.parseObject(fileStr, Map.class);
|
|
|
+ arrayList.add(map.get("name").toString());
|
|
|
+ }
|
|
|
// 获取最后一个斜杠后面的字符串
|
|
|
- record.setFileList(name);
|
|
|
+ record.setFileList(String.join(",", arrayList));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -101,8 +109,12 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
* @return 学习资料
|
|
|
*/
|
|
|
@Override
|
|
|
- public SysLearningMaterials selectSysLearningMaterialsById(Long id) {
|
|
|
- return sysLearningMaterialsMapper.selectById(id);
|
|
|
+ public SysLearningMaterialsDetailVo selectSysLearningMaterialsById(Long id) {
|
|
|
+ final SysLearningMaterials materials = sysLearningMaterialsMapper.selectById(id);
|
|
|
+ SysLearningMaterialsDetailVo vo = new SysLearningMaterialsDetailVo();
|
|
|
+ BeanUtils.copyProperties(materials, vo);
|
|
|
+ vo.setFileList(ObjectUtil.isNotEmpty(materials.getFileList()) ? JSON.parseArray(materials.getFileList(), String.class) : new ArrayList<>());
|
|
|
+ return vo;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -119,7 +131,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
/**
|
|
|
* 新增学习资料
|
|
|
*
|
|
|
- * @param sysLearningMaterials 学习资料
|
|
|
+ * @param request 学习资料
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
@@ -130,6 +142,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
sysLearningMaterials.setCreateTime(DateUtils.getNowDate());
|
|
|
sysLearningMaterials.setUpdateBy(String.valueOf(SecurityUtils.getUserId()));
|
|
|
sysLearningMaterials.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ sysLearningMaterials.setFileList(ObjectUtil.isNotEmpty(request.getFileList())?JSON.toJSONString(request.getFileList()):null);
|
|
|
sysLearningMaterials.setIsOpen(0);
|
|
|
SysOrg sysOrg = remoteOrgService.selectSysOrgById(sysLearningMaterials.getOrgId(), SecurityConstants.INNER);
|
|
|
if (sysOrg != null) {
|
|
|
@@ -187,6 +200,26 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<SysLearningMaterialsFileListVo> fileList(Long orgId) {
|
|
|
+ final LambdaQueryWrapper<SysLearningMaterials> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ final SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> remoteOrgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
+ wrapper.eq(SysLearningMaterials::getIsOpen, 1);
|
|
|
+ wrapper.eq(SysLearningMaterials::getDeleted, 0);
|
|
|
+ wrapper.isNotNull(SysLearningMaterials::getFileList);
|
|
|
+ wrapper.likeRight(SysLearningMaterials::getOrgPath, sysOrg.getPath());
|
|
|
+ final List<SysLearningMaterials> list = sysLearningMaterialsMapper.selectList(wrapper);
|
|
|
+ if (ObjectUtil.isEmpty(list)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ return list.stream().map(sysLearningMaterials -> {
|
|
|
+ final SysLearningMaterialsFileListVo sysLearningMaterialsFileListVo = new SysLearningMaterialsFileListVo();
|
|
|
+ BeanUtils.copyProperties(sysLearningMaterials, sysLearningMaterialsFileListVo);
|
|
|
+ sysLearningMaterialsFileListVo.setFileList(JSON.parseArray(sysLearningMaterials.getFileList(), String.class));
|
|
|
+ return sysLearningMaterialsFileListVo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void export(SysLearningMaterialsPageDto sysLearningMaterials, HttpServletResponse response) throws
|
|
|
IOException {
|
|
|
SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> remoteOrgService.selectOrgById(sysLearningMaterials.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|