Bläddra i källkod

客户信息、评估/咨询项目模块中的文件上传修改为组件

lizhenhao 2 år sedan
förälder
incheckning
bf37e1c848

+ 3 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/oss/service/OssService.java

@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.aliyun.oss.OSSClient;
 import com.aliyun.oss.model.OSSObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.oss.domain.WorkAttachment;
@@ -31,7 +33,7 @@ import java.util.*;
 
 @Slf4j
 @Service
-public class OssService {
+public class OssService extends ServiceImpl<OssServiceMapper,WorkAttachment> {
 
     @Value("${config.accessory.aliyun.aliyunUrl}")
     private String aliyunUrl;

+ 23 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/projectRecords/controller/ProjectController.java

@@ -16,6 +16,7 @@ import com.jeeplus.core.excel.utils.EasyPoiUtil;
 import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.oss.domain.WorkAttachment;
 import com.jeeplus.test.oss.service.OssService;
@@ -31,7 +32,6 @@ import com.jeeplus.test.projectRecords.service.dto.ProjectDTO;
 import com.jeeplus.test.projectRecords.service.mapstruct.ProjectWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -202,9 +202,30 @@ public class ProjectController {
         //项目id处理
         List<WorkAttachment> workAttachments = projectDTO.getWorkAttachments();
         if (CollectionUtils.isNotEmpty(workAttachments)) {
-            workAttachments.stream().forEach(i -> {i.setAttachmentId(project.getId());});
+            List<String> collect = workAttachments.stream().distinct().filter(item -> {
+                if (StringUtils.isNotBlank(item.getId())) {
+                    return true;
+                }
+                return false;
+            }).map(WorkAttachment::getId).collect(Collectors.toList());
+            if(ObjectUtil.isNotEmpty(pro)){
+                if(StringUtils.isNotBlank(pro.getId())){
+                    if(CollectionUtil.isNotEmpty(collect)){
+                        ossService.remove(new QueryWrapper<WorkAttachment>().lambda()
+                                .eq(WorkAttachment::getAttachmentId,pro.getId())
+                                .notIn(WorkAttachment::getId,collect));
+                    }
+                    workAttachments.stream().forEach(i -> {i.setAttachmentId(pro.getId());});
+                }
+            }
             //oss上传文件相关
             ossService.saveMsg(projectDTO.getWorkAttachments());
+        }else{
+            if(ObjectUtil.isNotEmpty(pro)){
+                if(StringUtils.isNotBlank(pro.getId())){
+                    ossService.remove(new QueryWrapper<WorkAttachment>().lambda().eq(WorkAttachment::getAttachmentId,pro.getId()));
+                }
+            }
         }
         return ResponseEntity.ok ("保存项目成功");
     }

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workClientInfo/service/WorkClientService.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.workClientInfo.service;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -31,6 +32,7 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -277,9 +279,22 @@ public class WorkClientService {
         }
         //附件信息处理
         List<WorkAttachment> workAttachments = workClientInfosDto.getWorkAttachments();
+        List<String> collect = workAttachments.stream().distinct().filter(item -> {
+            if (StringUtils.isNotBlank(item.getId())) {
+                return true;
+            }
+            return false;
+        }).map(WorkAttachment::getId).collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(workAttachments)) {
+            if(CollectionUtil.isNotEmpty(collect)){
+                ossService.remove(new QueryWrapper<WorkAttachment>().lambda()
+                        .eq(WorkAttachment::getAttachmentId,workClientInfo.getId())
+                        .notIn(WorkAttachment::getId,collect));
+            }
             workAttachments.stream().forEach(i -> i.setAttachmentId(workClientInfo.getId()));
             ossService.saveMsg(workAttachments);
+        } else{
+            ossService.remove(new QueryWrapper<WorkAttachment>().lambda().eq(WorkAttachment::getAttachmentId,workClientInfo.getId()));
         }
         return "更新完成!";
     }