浏览代码

知识分享图片保存到oss

lizhenhao 2 年之前
父节点
当前提交
099de1d59e

+ 3 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/knowledge/mapper/xml/KnowledgeShareDetailMapper.xml

@@ -18,7 +18,9 @@
 		FROM knowledge_share_detail a
 		LEFT JOIN sys_user b ON a.create_by = b.id
 		WHERE a.del_flag = 0
-		AND a.type_id = #{detail.typeId}
+		<if test="detail.typeId != null and detail.typeId != ''">
+			AND a.type_id = #{detail.typeId}
+		</if>
 		<if test="detail.title != null and detail.title != ''">
 			AND a.title LIKE CONCAT ('%', #{detail.title}, '%')
 		</if>

+ 48 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/knowledge/service/KnowledgeShareInfoService.java

@@ -1,6 +1,9 @@
 package com.jeeplus.test.knowledge.service;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
 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.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,6 +11,10 @@ import com.jeeplus.core.domain.BaseEntity;
 import com.jeeplus.core.service.dto.BaseDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.editor.domain.EditorFiles;
+import com.jeeplus.test.editor.service.EditorFilesService;
+import com.jeeplus.test.editor.service.dto.EditorFilesDTO;
+import com.jeeplus.test.klgBase.question.domain.KlgBaseQuestions;
 import com.jeeplus.test.knowledge.domain.KnowledgeShareComment;
 import com.jeeplus.test.knowledge.domain.KnowledgeShareDetail;
 import com.jeeplus.test.knowledge.domain.KnowledgeShareVisit;
@@ -27,6 +34,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
@@ -55,6 +63,9 @@ public class KnowledgeShareInfoService {
     @Resource
     private WorkContractService workContractService;
 
+    @Resource
+    private EditorFilesService editorFilesService;
+
     public IPage<KnowledgeShareListDto> list(Page<KnowledgeShareListDto> page, KnowledgeShareDetail detail) {
         return detailMapper.findList(page, detail);
     }
@@ -82,6 +93,13 @@ public class KnowledgeShareInfoService {
         detail.setUpdateDate(new Date());
         detail.setDelFlag(0);
         detailMapper.insert(detail);
+        // 保存富文本中的文件
+        editorFilesService.remove(new QueryWrapper<EditorFiles>().lambda().eq(EditorFiles::getSourceId,id));
+        if (CollectionUtil.isNotEmpty(dto.getEditorFilesDTOList())) {
+            dto.getEditorFilesDTOList().stream().forEach(item->{
+                editorFilesService.saveUrl(item.getTemporaryUrl(),item.getUrl(),id);
+            });
+        }
         // 保存附件信息
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             workContractService.saveFilesNew(dto.getFiles(), userDTO, id, "knowledgeShare");
@@ -98,6 +116,13 @@ public class KnowledgeShareInfoService {
         detail.setUpdateBy(userDTO.getId());
         detail.setUpdateDate(new Date());
         detailMapper.updateById(detail);
+        // 保存富文本中的文件
+        editorFilesService.remove(new QueryWrapper<EditorFiles>().lambda().eq(EditorFiles::getSourceId,dto.getId()));
+        if (CollectionUtil.isNotEmpty(dto.getEditorFilesDTOList())) {
+            dto.getEditorFilesDTOList().stream().forEach(item->{
+                editorFilesService.saveUrl(item.getTemporaryUrl(),item.getUrl(),dto.getId());
+            });
+        }
         // 保存附件信息
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             workContractService.updateFiles(dto.getFiles(), userDTO, dto.getId());
@@ -117,6 +142,29 @@ public class KnowledgeShareInfoService {
         KnowledgeShareDetail detail = detailMapper.selectById(id);
         BeanUtils.copyProperties(detail, dto);
         dto.setTypeName(typeMapper.selectById(detail.getTypeId()).getKlgsType());
+
+        // 富文本图片查询
+        if (ObjectUtil.isNotEmpty(detail)) {
+            if(StringUtils.isNotBlank(detail.getDetail())){
+                String newContent = editorFilesService.getNewContent(detail.getDetail(), id);
+                dto.setDetail(newContent);
+                KnowledgeShareDetail k = new KnowledgeShareDetail();
+                k.setId(id);
+                k.setDetail(newContent);
+                detailMapper.update(k, new QueryWrapper<KnowledgeShareDetail>().lambda().eq(KnowledgeShareDetail::getId, id));
+                List<EditorFiles> list = editorFilesService.list(new QueryWrapper<EditorFiles>().lambda().eq(EditorFiles::getSourceId, id));
+                List<EditorFilesDTO> editorFilesDTOList = new ArrayList<>();
+                list.stream().forEach(item->{
+                    EditorFilesDTO editorFilesDTO = new EditorFilesDTO();
+                    editorFilesDTO.setSourceId(item.getSourceId());
+                    editorFilesDTO.setTemporaryUrl(item.getTemporaryUrl());
+                    editorFilesDTO.setUrl(item.getUrl());
+                    editorFilesDTOList.add(editorFilesDTO);
+                });
+                dto.setEditorFilesDTOList(editorFilesDTOList);
+            }
+        }
+
         // 查询访问记录
         LambdaQueryWrapper<KnowledgeShareVisit> visitWrapper = new LambdaQueryWrapper<>();
         visitWrapper.eq(KnowledgeShareVisit::getDetailId, id).eq(BaseEntity::getDelFlag, 0);

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/knowledge/service/dto/KnowledgeShareInfoDto.java

@@ -1,6 +1,7 @@
 package com.jeeplus.test.knowledge.service.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.test.editor.service.dto.EditorFilesDTO;
 import com.jeeplus.test.knowledge.domain.KnowledgeShareComment;
 import com.jeeplus.test.knowledge.domain.KnowledgeShareVisit;
 import com.jeeplus.test.oss.domain.WorkAttachment;
@@ -79,4 +80,9 @@ public class KnowledgeShareInfoDto {
      */
     private List<WorkAttachmentDto> files;
 
+    /**
+     * 富文本图片集合
+     */
+    private List<EditorFilesDTO> editorFilesDTOList;
+
 }