|  | @@ -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);
 |