Sfoglia il codice sorgente

替换报告系统涉及文件代码

chenyu 2 anni fa
parent
commit
ccf01c0cdd

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/model/vo/ReportFileStandardVO.java

@@ -28,7 +28,7 @@ public class ReportFileStandardVO implements Serializable {
      */
     private String address;
     /**
-     * 专题库ID
+     * 报告id
      */
     private Integer zid;
     /**

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/utils/SystemFileToReportFile.java

@@ -11,7 +11,7 @@ import java.io.Serializable;
  */
 public class SystemFileToReportFile implements Serializable {
 
-    public static void systemFileToReportFile(ReportFiles reportFile, SystemFile systemFile) {
+    public static void systemFileToReportFile(SystemFile systemFile, ReportFiles reportFile) {
         reportFile.setId(systemFile.getId());
         reportFile.setName(systemFile.getOriginalName().substring(0, systemFile.getOriginalName().lastIndexOf(".")));
         reportFile.setUrl(systemFile.getFilePath().substring(systemFile.getFilePath().indexOf("file") + 4));

+ 6 - 5
RMS/src/main/java/cn/cslg/report/controller/ProductController.java

@@ -6,7 +6,7 @@ import cn.cslg.report.common.model.dto.ProductIncludeFilesDTO;
 import cn.cslg.report.common.model.vo.ProductIncludeFilesVO;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.exception.XiaoShiException;
-import cn.cslg.report.service.IProductService;
+import cn.cslg.report.service.impl.ProductServiceImpl;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -32,7 +33,7 @@ import java.util.List;
 @RequestMapping(Constants.REPORT_API + "/product")
 @RequiredArgsConstructor
 public class ProductController {
-    private final IProductService productService;  //产品的Service层装配
+    private final ProductServiceImpl productService;  //产品的Service层装配
 
     @Operation(summary = "新增产品")
     @PostMapping("/addProduct")
@@ -42,7 +43,7 @@ public class ProductController {
             log.info("开始处理【新增产品】的请求,请求参数为:{}, {}", productDTO, files);
             try {
                 productService.addProduct(productDTO, files);
-            } catch (XiaoShiException e) {
+            } catch (XiaoShiException | IOException e) {
                 return Response.error(e.getMessage());
             }
             return Response.success("新增产品完成");
@@ -58,7 +59,7 @@ public class ProductController {
             log.info("开始处理【修改产品】的请求,请求参数为:{}, {}", productIncludeFilesDTO, files);
             try {
                 productService.updateProduct(productIncludeFilesDTO, files);
-            } catch (XiaoShiException e) {
+            } catch (XiaoShiException | IOException e) {
                 return Response.error(e.getMessage());
             }
             return Response.success("修改产品完成");
@@ -68,7 +69,7 @@ public class ProductController {
 
     @Operation(summary = "根据报告id查询产品数据信息")
     @GetMapping("/getProduct")
-    public String getProduct(Integer reportId) {
+    public String getProduct(Integer reportId) throws IOException {
         log.info("开始处理【查询产品】的请求,请求参数为:{}", reportId);
         if (reportId != null) {
             ProductIncludeFilesVO queryResult = productService.getProduct(reportId);

+ 9 - 0
RMS/src/main/java/cn/cslg/report/entity/AssoProductFile.java

@@ -1,5 +1,9 @@
 package cn.cslg.report.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -11,24 +15,29 @@ import java.io.Serializable;
  * @Author chenyu
  * @Data 2022/12/20
  */
+@TableName(value = "ASSO_PRODUCT_FILE")
 @Accessors(chain = true)
 @Data
 public class AssoProductFile implements Serializable {
     /**
      * 主键ID
      */
+    @TableId(value = "ID", type = IdType.AUTO)
     private Integer id;
     /**
      * 产品ID
      */
+    @TableField(value = "PRODUCT_ID")
     private Integer productId;
     /**
      * 文件ID
      */
+    @TableField(value = "FILE_ID")
     private Integer fileId;
     /**
      * 文件使用类型 0=什么类型, 1=什么类型, 2=什么类型
      */
+    @TableField(value = "FILE_USE_TYPE")
     private Integer fileUseType;
 
 }

+ 17 - 0
RMS/src/main/java/cn/cslg/report/entity/Product.java

@@ -1,5 +1,9 @@
 package cn.cslg.report.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -12,56 +16,69 @@ import java.util.Date;
  * @Author chenyu
  * @Data 2022/12/20 10:01
  */
+@TableName(value = "PRODUCT")
 @Accessors(chain = true)
 @Data
 public class Product implements Serializable {
     /**
      * ID
      */
+    @TableId(value = "ID", type = IdType.AUTO)
     private Integer id;
     /**
      * 产品名称
      */
+    @TableField(value = "PRODUCT_NAME")
     private String productName;
     /**
      * 产品标识
      */
+    @TableField(value = "PRODUCT_IDENTIFY")
     private String productIdentify;
     /**
      * 产品说明
      */
+    @TableField(value = "PRODUCT_DESCRIPTION")
     private String productDescription;
     /**
      * 调查区域
      */
+    @TableField(value = "SURVEY_AREA")
     private String surveyArea;
     /**
      * 产品图
      */
+    @TableField(value = "PRODUCT_IMAGE")
     private String productImage;
     /**
      * 检索策略
      */
+    @TableField(value = "SEARCH_POLICY")
     private String searchPolicy;
     /**
      * 检索截止日期
      */
+    @TableField(value = "DEADLINE")
     private Date deadLine;
     /**
      * 关注企业/发明人/技术方向
      */
+    @TableField(value = "FOCUS_INFORMATION")
     private String focusInformation;
     /**
      * 报告ID
      */
+    @TableField(value = "REPORT_ID")
     private Integer reportId;
     /**
      * 创建人姓名
      */
+    @TableField(value = "CREATE_PERSON_NAME")
     private String createPersonName;
     /**
      * 创建人ID
      */
+    @TableField(value = "CREATE_PERSON_ID")
     private Integer createPersonId;
 
 }

+ 2 - 1
RMS/src/main/java/cn/cslg/report/mapper/AssoProductFileMapper.java

@@ -1,6 +1,7 @@
 package cn.cslg.report.mapper;
 
 import cn.cslg.report.entity.AssoProductFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -12,7 +13,7 @@ import java.util.List;
  * @Data 2022/12/20
  */
 @Repository
-public interface AssoProductFileMapper {
+public interface AssoProductFileMapper extends BaseMapper<AssoProductFile> {
     /**
      * 批量插入数据
      *

+ 2 - 1
RMS/src/main/java/cn/cslg/report/mapper/ProductMapper.java

@@ -2,6 +2,7 @@ package cn.cslg.report.mapper;
 
 import cn.cslg.report.common.model.vo.ProductIncludeFilesVO;
 import cn.cslg.report.entity.Product;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -11,7 +12,7 @@ import org.springframework.stereotype.Repository;
  * @Data 2022/12/20
  */
 @Repository
-public interface ProductMapper {
+public interface ProductMapper extends BaseMapper<Product> {
     /**
      * 插入数据
      *

+ 1 - 0
RMS/src/main/java/cn/cslg/report/service/IProductService.java

@@ -7,6 +7,7 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.List;
 
 /**

+ 1 - 1
RMS/src/main/java/cn/cslg/report/service/business/InvalidRecordService.java

@@ -177,7 +177,7 @@ public class InvalidRecordService extends ServiceImpl<InvalidRecordMapper, Inval
                         List<SystemFile> systemFiles1 = systemFiles.stream().filter(tem -> partFileIds.contains(tem.getId())).collect(Collectors.toList());
                         systemFiles1.forEach(systemFile -> {
                             ReportFiles reportFile = new ReportFiles();
-                            SystemFileToReportFile.systemFileToReportFile(reportFile, systemFile);
+                            SystemFileToReportFile.systemFileToReportFile(systemFile, reportFile);
                             reportFilesList.add(reportFile);
                         });
                     }

+ 1 - 1
RMS/src/main/java/cn/cslg/report/service/business/LitigationHistoryService.java

@@ -175,7 +175,7 @@ public class LitigationHistoryService extends ServiceImpl<LitigationHistoryMappe
                         List<SystemFile> systemFiles1 = systemFiles.stream().filter(tem -> partFileIds.contains(tem.getId())).collect(Collectors.toList());
                         systemFiles1.forEach(systemFile -> {
                             ReportFiles reportFile = new ReportFiles();
-                            SystemFileToReportFile.systemFileToReportFile(reportFile, systemFile);
+                            SystemFileToReportFile.systemFileToReportFile(systemFile, reportFile);
                             reportFilesList.add(reportFile);
                         });
                     }

+ 2 - 1
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -16,6 +16,7 @@ import cn.cslg.report.mapper.ReportMapper;
 import cn.cslg.report.service.*;
 import cn.cslg.report.service.business.InvalidReReport.*;
 import cn.cslg.report.service.business.asso.AssoReportPersonService;
+import cn.cslg.report.service.impl.ProductServiceImpl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -60,7 +61,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
     private final TaskService taskService;
     private final FeatureService featureService;
     private final CompareScenariosService compareScenariosService;
-    private final IProductService productService;
+    private final ProductServiceImpl productService;
     private final IAvoidDesignDirectionService avoidDesignDirectionService;
     private final CompareFilesService compareFilesService;
     private final CompareMessageService compareMessageService;

+ 2 - 1
RMS/src/main/java/cn/cslg/report/service/impl/AssoProductFileServiceImpl.java

@@ -3,6 +3,7 @@ package cn.cslg.report.service.impl;
 import cn.cslg.report.entity.AssoProductFile;
 import cn.cslg.report.mapper.AssoProductFileMapper;
 import cn.cslg.report.service.IAssoProductFileService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -19,7 +20,7 @@ import java.util.List;
 @Slf4j
 @Service
 @RequiredArgsConstructor
-public class AssoProductFileServiceImpl implements IAssoProductFileService {
+public class AssoProductFileServiceImpl extends ServiceImpl<AssoProductFileMapper, AssoProductFile> implements IAssoProductFileService {
     private final AssoProductFileMapper assoProductFileMapper;  //产品文件关联表的Mapper层装配
 
     /**

+ 89 - 52
RMS/src/main/java/cn/cslg/report/service/impl/ProductServiceImpl.java

@@ -7,22 +7,32 @@ import cn.cslg.report.common.model.vo.ProductIncludeFilesVO;
 import cn.cslg.report.common.model.vo.ReportFileStandardVO;
 import cn.cslg.report.common.utils.CacheUtils;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.report.common.utils.SystemFileToReportFile;
 import cn.cslg.report.entity.AssoProductFile;
 import cn.cslg.report.entity.Product;
+import cn.cslg.report.entity.ReportFiles;
+import cn.cslg.report.entity.SystemFile;
 import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.mapper.AssoProductFileMapper;
 import cn.cslg.report.mapper.ProductMapper;
 import cn.cslg.report.service.IAssoProductFileService;
-import cn.cslg.report.service.IProductService;
 import cn.cslg.report.service.business.ReportFileService;
+import cn.cslg.report.service.file.FileManagerService;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * 产品的Service层实现类
@@ -33,11 +43,13 @@ import java.util.List;
 @Slf4j
 @Service
 @RequiredArgsConstructor
-public class ProductServiceImpl implements IProductService {
+public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> {
     private final ProductMapper productMapper;  //产品表的Mapper层装配
     private final AssoProductFileMapper assoProductFileMapper;  //产品文件关联表的Mapper层装配
+    private final AssoProductFileServiceImpl assoProductFileService;  //产品文件关联表的Mapper层装配
     private final ReportFileService reportFileService;  //报告系统文件的Service层装配
-    private final IAssoProductFileService assoProductFileService;  //产品文件关联的Service层装配
+    //private final IAssoProductFileService assoProductFileService;  //产品文件关联的Service层装配
+    private final FileManagerService fileManagerService;  //产品文件关联的Service层装配
     private final CacheUtils cacheUtils;
     private final LoginUtils loginUtils;
 
@@ -47,8 +59,7 @@ public class ProductServiceImpl implements IProductService {
      * @param productDTO 新增产品的前端传输DTO数据对象
      * @param files      产品附件
      */
-    @Override
-    public void addProduct(ProductDTO productDTO, List<MultipartFile> files) {
+    public void addProduct(ProductDTO productDTO, List<MultipartFile> files) throws IOException {
         log.info("开始处理【新增产品】的业务,参数为:{}, {}", productDTO, files);
 
         //DTO赋值给产品表实体类
@@ -82,7 +93,10 @@ public class ProductServiceImpl implements IProductService {
         //3.数据入报告系统文件表(并返回附件的id集合)
         if (files != null && files.size() != 0) {
             log.info("数据入报告系统文件表");
-            List<Integer> fileIds = reportFileService.uploadFiles(files);
+            //List<Integer> fileIds = reportFileService.uploadFiles(files);
+            String res = fileManagerService.uploadFile(files);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            List<Integer> fileIds = JSONArray.parseArray(jsonObject.get("data").toString(), Integer.class);
             //4.数据入产品文件关联表
             Integer productId = product.getId();
             //之前是直接调用产品文件关联的Service层业务:assoProductFileService.addAsso(productId, fileIds); 现在自己敲👇
@@ -113,8 +127,7 @@ public class ProductServiceImpl implements IProductService {
      * @param productIncludeFilesDTO 修改产品的前端传输DTO数据对象
      * @param files                  产品附件
      */
-    @Override
-    public void updateProduct(ProductIncludeFilesDTO productIncludeFilesDTO, List<MultipartFile> files) {
+    public void updateProduct(ProductIncludeFilesDTO productIncludeFilesDTO, List<MultipartFile> files) throws IOException {
         log.info("开始处理【修改产品】的业务,参数为:{}, {}", productIncludeFilesDTO, files);
 
         //DTO赋值给产品表实体类
@@ -130,61 +143,50 @@ public class ProductServiceImpl implements IProductService {
             throw new XiaoShiException(message);
         }
 
-        //根据报告reportId关联查询产品表、产品文件关联表、报告系统文件表三表,获得产品和原附件数据
-        Integer reportId = product.getReportId();
-        log.info("根据报告reportId关联产品表、产品文件关联表、报告系统文件表三表,查询产品和附件的数据");
-        ProductIncludeFilesVO queryResult = productMapper.getWholeByReportId(reportId);
-
-        //从产品和原附件数据中获得原附件数据,遍历原附件,取出所有原附件fileId存入集合
-        List<ReportFileStandardVO> oldReportFiles = queryResult.getReportFiles();
-        ArrayList<Integer> oldFileIds = new ArrayList<>();
-        for (ReportFileStandardVO oldReportFile : oldReportFiles) {
-            Integer oldFileId = oldReportFile.getId();
-            oldFileIds.add(oldFileId);
-        }
-        //从DTO中获得新的原附件数据,遍历新的原附件,取出所有新的原附件fileId存入集合
-        List<ReportFileStandardVO> newOldReportFiles = productIncludeFilesDTO.getReportFiles();
-        ArrayList<Integer> newOldFileIds = new ArrayList<>();
-        for (ReportFileStandardVO newOldReportFile : newOldReportFiles) {
-            Integer newOldFileId = newOldReportFile.getId();
-            newOldFileIds.add(newOldFileId);
-        }
-        //fileId集合去重,去重后留下的fileId即为被删除的原附件fileId
-        oldFileIds.removeAll(newOldFileIds);
-
-        //如果去重后的oldFileIds仍有长度(即表示集合中留下的被删除的部分原附件fileId),则删除产品文件关联表和报告系统文件表中被删除的部分原附件fileId相关数据
-        if (oldFileIds.size() != 0) {
-            //2.删除产品文件关联表中被删除附件的数据
-            log.info("删除产品文件关联表数据");
-            rows = assoProductFileMapper.deleteByFileIds(oldFileIds);
-            if (rows != oldFileIds.size()) {
-                String message = "修改产品失败,服务器忙请稍后再试";
-                log.info("删除产品文件关联表数据失败,{}", message);
-                throw new XiaoShiException(message);
+        List<AssoProductFile> assoProductFiles = assoProductFileService.list(new LambdaQueryWrapper<AssoProductFile>().eq(AssoProductFile::getProductId, product.getId()));
+        if (assoProductFiles != null && assoProductFiles.size() > 0) {
+            List<Integer> oldFileIds = assoProductFiles.stream().map(AssoProductFile::getFileId).collect(Collectors.toList());
+            List<Integer> updateFileIds = productIncludeFilesDTO.getReportFiles().stream().map(ReportFileStandardVO::getId).collect(Collectors.toList());
+            //fileId集合去重,去重后留下的fileId即为被删除的原附件fileId
+            oldFileIds.removeAll(updateFileIds);
+            //如果去重后的oldFileIds仍有长度(即表示集合中留下的被删除的部分原附件fileId),则删除产品文件关联表和报告系统文件表中被删除的部分原附件fileId相关数据
+            if (oldFileIds.size() > 0) {
+                //2.删除产品文件关联表中被删除附件的数据
+                log.info("删除产品文件关联表数据");
+                rows = assoProductFileMapper.deleteByFileIds(oldFileIds);
+                if (rows != oldFileIds.size()) {
+                    String message = "修改产品失败,服务器忙请稍后再试";
+                    log.info("删除产品文件关联表数据失败,{}", message);
+                    throw new XiaoShiException(message);
+                }
+                //2.删除报告系统文件表中被删除附件的数据
+                log.info("删除报告系统文件表数据");
+                //reportFileService.deleteFiles(oldFileIds);
+                fileManagerService.deleteFileFromFMS(oldFileIds);
             }
-            //2.删除报告系统文件表中被删除附件的数据
-            log.info("删除报告系统文件表数据");
-            reportFileService.deleteFiles(oldFileIds);
         }
 
         //如果前端传来的files附件不为null(即表示新增了若干附件),则新附件数据入报告系统文件表和产品文件关联表
         if (files != null) {
             //3.新的附件入报告系统文件表,返回附件fileId
             log.info("数据入报告系统文件表");
-            List<Integer> fileIds = reportFileService.uploadFiles(files);
+            //List<Integer> fileIds = reportFileService.uploadFiles(files);
+            String res = fileManagerService.uploadFile(files);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            List<Integer> fileIds = JSONArray.parseArray(jsonObject.get("data").toString(), Integer.class);
             //3.新的附件fileId入产品文件关联表
             Integer productId = product.getId();
-            ArrayList<AssoProductFile> assoProductFiles = new ArrayList<>();
+            ArrayList<AssoProductFile> assoProductFiles1 = new ArrayList<>();
             for (Integer fileId : fileIds) {
                 AssoProductFile assoProductFile = new AssoProductFile()
                         .setProductId(productId)
                         .setFileId(fileId)
                         .setFileUseType(0);
-                assoProductFiles.add(assoProductFile);
+                assoProductFiles1.add(assoProductFile);
             }
             log.info("数据入产品文件关联表");
-            rows = assoProductFileMapper.insertBatch(assoProductFiles);
-            if (rows != assoProductFiles.size()) {
+            rows = assoProductFileMapper.insertBatch(assoProductFiles1);
+            if (rows != assoProductFiles1.size()) {
                 String message = "修改产品失败,服务器忙请稍后再试";
                 log.info("数据入产品文件关联表失败,{}", message);
                 throw new XiaoShiException(message);
@@ -201,10 +203,46 @@ public class ProductServiceImpl implements IProductService {
      * @param reportId 报告id
      * @return 返回查询到的产品和产品附件数据对象
      */
-    @Override
-    public ProductIncludeFilesVO getProduct(Integer reportId) {
+    public ProductIncludeFilesVO getProduct(Integer reportId) throws IOException {
         log.info("开始处理【查询产品】的业务,参数为:{}", reportId);
-        ProductIncludeFilesVO queryResult = productMapper.getWholeByReportId(reportId);
+        //ProductIncludeFilesVO queryResult = productMapper.getWholeByReportId(reportId);
+
+        List<Product> products = this.list(new LambdaQueryWrapper<Product>().eq(Product::getReportId, reportId));
+        Product product = new Product();
+        if (products != null && products.size() > 0) {
+            product = products.get(0);
+        }
+        ProductIncludeFilesVO queryResult = new ProductIncludeFilesVO();
+        BeanUtils.copyProperties(product, queryResult);
+        if (products != null && products.size() > 0) {
+            List<Integer> productIds = products.stream().map(Product::getId).collect(Collectors.toList());
+            List<AssoProductFile> assoProductFiles = assoProductFileService.list(new LambdaQueryWrapper<AssoProductFile>().in(AssoProductFile::getProductId, productIds));
+            if (assoProductFiles != null && assoProductFiles.size() > 0) {
+                List<Integer> fileIds = assoProductFiles.stream().map(AssoProductFile::getFileId).collect(Collectors.toList());
+                String res = fileManagerService.getSystemFileFromFMS(fileIds);
+                List<SystemFile> systemFiles = JSONArray.parseArray(res, SystemFile.class);
+                ArrayList<ReportFileStandardVO> reportFiles = new ArrayList<>();
+                systemFiles.forEach(systemFile -> {
+                    ReportFileStandardVO reportFileStandardVO = new ReportFileStandardVO();
+                    reportFileStandardVO.setId(systemFile.getId());
+                    reportFileStandardVO.setName(systemFile.getOriginalName().substring(0, systemFile.getOriginalName().lastIndexOf(".")));
+                    reportFileStandardVO.setAddress(systemFile.getFilePath().substring(systemFile.getFilePath().indexOf("file") + 4));
+                    //reportFileStandardVO.setZid();
+                    //reportFileStandardVO.setRemark();
+                    reportFileStandardVO.setUpdateTime(systemFile.getUpdateTime());
+                    reportFileStandardVO.setUid(systemFile.getCreateId());
+                    //reportFileStandardVO.setType();
+                    reportFileStandardVO.setSize(Integer.valueOf(systemFile.getFileLength()));
+                    reportFileStandardVO.setSuffix(systemFile.getFilePath().substring(systemFile.getFilePath().lastIndexOf(".") + 1));
+                    reportFileStandardVO.setFileName(systemFile.getFileName());
+                    reportFiles.add(reportFileStandardVO);
+                });
+                queryResult.setReportFiles(reportFiles);
+            }
+
+        }
+
+
         return queryResult;
     }
 
@@ -213,8 +251,7 @@ public class ProductServiceImpl implements IProductService {
      *
      * @param reportId 报告id
      */
-    @Override
-    public void deleteProduct(Integer reportId) {
+    public void deleteProduct(Integer reportId) throws IOException {
         log.info("开始处理【删除产品】的业务,参数为:{}", reportId);
         //1.根据产品productId删除产品文件关联表数据:先根据报告id关联查询产品关联附件的数据,取出产品productId
         ProductIncludeFilesVO queryResult = this.getProduct(reportId);