Переглянути джерело

2/21 修改产品相关代码

chendayu 2 роки тому
батько
коміт
536cc48091

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/model/dto/ProductIncludeFilesDTO.java

@@ -9,7 +9,7 @@ import java.util.Date;
 import java.util.List;
 
 /**
- * 产品关联附件的前端传输DTO类
+ * 修改产品的前端传输DTO类
  *
  * @Author chenyu
  * @Data 2022/12/27

+ 18 - 16
RMS/src/main/java/cn/cslg/report/controller/ProductController.java

@@ -37,31 +37,33 @@ public class ProductController {
     @Operation(summary = "新增产品")
     @PostMapping("/addProduct")
     public String addProduct(String jsons, List<MultipartFile> files) {
-        log.info("开始处理【新增产品】的请求,参数为产品信息:{}, 产品附件:{}", jsons, files);
-
-        if (jsons == null) {
-            return Response.error("前端未传参数");
-        }
-        ProductDTO productDTO = JSONObject.parseObject(jsons, ProductDTO.class);
-        try {
-            productService.addProduct(productDTO, files);
-        } catch (XiaoShiException e) {
-            return Response.error(e.getMessage());
+        if (jsons != null) {
+            ProductDTO productDTO = JSONObject.parseObject(jsons, ProductDTO.class);
+            log.info("开始处理【新增产品】的请求,请求参数为:{}, {}", productDTO, files);
+            try {
+                productService.addProduct(productDTO, files);
+            } catch (XiaoShiException e) {
+                return Response.error(e.getMessage());
+            }
+            return Response.success("新增产品完成");
         }
-        return Response.success("新增产品完成");
+        return Response.error("新增产品失败,请求参数为null");
     }
 
     @Operation(summary = "修改产品")
     @PostMapping("/updateProduct")
     public String updateProduct(String jsons, List<MultipartFile> files) {
-        log.info("开始处理【修改产品】的业务,参数为:{}, {}", jsons, files);
         if (jsons != null) {
             ProductIncludeFilesDTO productIncludeFilesDTO = JSONObject.parseObject(jsons, ProductIncludeFilesDTO.class);
-            productService.updateProduct(productIncludeFilesDTO, files);
-            return Response.success("产品修改成功");
-        } else {
-            return Response.error("产品信息不能为空");
+            log.info("开始处理【修改产品】的请求,请求参数为:{}, {}", productIncludeFilesDTO, files);
+            try {
+                productService.updateProduct(productIncludeFilesDTO, files);
+            } catch (XiaoShiException e) {
+                return Response.error(e.getMessage());
+            }
+            return Response.success("修改产品完成");
         }
+        return Response.error("修改产品失败,请求参数为null");
     }
 
     @Operation(summary = "根据报告id查询产品数据信息")

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

@@ -19,7 +19,7 @@ public interface IProductService {
     /**
      * 新增产品
      *
-     * @param productDTO 新增产品的前端传输DTO对象
+     * @param productDTO 新增产品的前端传输DTO数据对象
      * @param files      产品附件
      */
     @Transactional
@@ -28,8 +28,8 @@ public interface IProductService {
     /**
      * 修改产品
      *
-     * @param productIncludeFilesDTO 产品新数据
-     * @param files                  附件
+     * @param productIncludeFilesDTO 修改产品的前端传输DTO数据对象
+     * @param files                  产品附件
      */
     @Transactional
     void updateProduct(ProductIncludeFilesDTO productIncludeFilesDTO, List<MultipartFile> files);

+ 15 - 14
RMS/src/main/java/cn/cslg/report/service/impl/ProductServiceImpl.java

@@ -44,46 +44,46 @@ public class ProductServiceImpl implements IProductService {
     /**
      * 新增产品
      *
-     * @param productDTO 新增产品的前端传输DTO对象
+     * @param productDTO 新增产品的前端传输DTO数据对象
      * @param files      产品附件
      */
     @Override
     public void addProduct(ProductDTO productDTO, List<MultipartFile> files) {
-        log.info("开始处理【新增产品】的业务,参数为产品信息:{}, 产品附件:{}", productDTO, files);
+        log.info("开始处理【新增产品】的业务,参数为:{}, {}", productDTO, files);
 
         //DTO赋值给产品表实体类
         Product product = new Product();
         BeanUtils.copyProperties(productDTO, product);
-        //获取登陆人信息
+        //获取当前登陆人信息
         PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        //登陆人id和姓名赋值给产品表实体类
+        //给实体类赋值登陆人id和姓名
         product.setCreatePersonId(personnelVO.getId())
                 .setCreatePersonName(personnelVO.getName());
 
-        //检查当前报告是否已创建产品 (一个报告只能创建一个产品,根据报告id查询产品)
+        //1.检查当前报告产品是否已存在 (根据报告reportId统计数量)
         Integer reportId = product.getReportId();
-        log.info("检查当前报告是否已创建产品");
+        log.info("检查当前报告产品是否已存在");
         int count = productMapper.countByReportId(reportId);
         if (count > 0) {
-            String message = "新增产品失败,当前报告产品已创建产品";
+            String message = "新增产品失败,当前报告产品已存在";
             log.info("{}", message);
             throw new XiaoShiException(message);
         }
 
-        //1.数据入产品表
+        //2.数据入产品表
         log.info("数据入产品表");
         int rows = productMapper.insert(product);
         if (rows != 1) {
             String message = "新增产品失败,服务器忙请稍后再试";
-            log.info("{}", message);
+            log.info("数据入产品表失败,{}", message);
             throw new XiaoShiException(message);
         }
 
-        //2.数据入报告系统文件表(并返回附件的id集合)
+        //3.数据入报告系统文件表(并返回附件的id集合)
         if (files != null && files.size() != 0) {
             log.info("数据入报告系统文件表");
             List<Integer> fileIds = reportFileService.uploadFiles(files);
-            //3.数据入产品文件关联表
+            //4.数据入产品文件关联表
             Integer productId = product.getId();
             //之前是直接调用产品文件关联的Service层业务:assoProductFileService.addAsso(productId, fileIds); 现在自己敲👇
             ArrayList<AssoProductFile> assoProductFiles = new ArrayList<>();
@@ -98,7 +98,7 @@ public class ProductServiceImpl implements IProductService {
             rows = assoProductFileMapper.insertBatch(assoProductFiles);
             if (rows != fileIds.size()) {
                 String message = "新增产品失败,服务器忙请稍后再试";
-                log.info("{}", message);
+                log.info("数据入产品文件关联表失败,{}", message);
                 throw new XiaoShiException(message);
             }
         }
@@ -110,12 +110,13 @@ public class ProductServiceImpl implements IProductService {
     /**
      * 修改产品
      *
-     * @param productIncludeFilesDTO 产品新数据
-     * @param files                  附件
+     * @param productIncludeFilesDTO 修改产品的前端传输DTO数据对象
+     * @param files                  产品附件
      */
     @Override
     public void updateProduct(ProductIncludeFilesDTO productIncludeFilesDTO, List<MultipartFile> files) {
         log.info("开始处理【修改产品】的业务,参数为:{}, {}", productIncludeFilesDTO, files);
+
         //产品关联附件的前端传输DTO类赋值给产品实体类
         Product product = new Product();
         BeanUtils.copyProperties(productIncludeFilesDTO, product);