Browse Source

2/2 陈宇

chendayu 2 năm trước cách đây
mục cha
commit
9d238186ba

+ 2 - 2
RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidDesignDirectionDTO.java

@@ -6,7 +6,7 @@ import java.io.Serializable;
 import java.util.List;
 
 /**
- * 回避设计方前端传输DTO类
+ * 回避设计方前端传输DTO类
  *
  * @Author chenyu
  * @Data 2023/2/2
@@ -18,7 +18,7 @@ public class AvoidDesignDirectionDTO implements Serializable {
      */
     private Integer reportId;
     /**
-     * 特征featureId与回避设计方向littleDirection数据的对象集合
+     * 存放特征featureId与回避设计方向littleDirection数据的对象集合
      */
     private List<AvoidDesignLittleDirectionDTO> avoidDesignLittleDirectionDTOs;
     /**

+ 43 - 0
RMS/src/main/java/cn/cslg/report/controller/AvoidDesignDirectionController.java

@@ -0,0 +1,43 @@
+package cn.cslg.report.controller;
+
+import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.AvoidDesignDirectionDTO;
+import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.exception.XiaoShiException;
+import cn.cslg.report.service.IAvoidDesignDirectionService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 回避设计方案的Controller层
+ *
+ * @Author chenyu
+ * @Data 2023/2/2
+ */
+@Tag(name = "回避设计方案")
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping(Constants.REPORT_API + "/avoidDesignDirections")
+public class AvoidDesignDirectionController {
+    private final IAvoidDesignDirectionService avoidDesignDirectionService;
+
+    @Operation(summary = "新增回避设计方案")
+    @PostMapping("/addAvoidDesignDirection")
+    public String addAvoidDesignDirection(@RequestBody AvoidDesignDirectionDTO avoidDesignDirectionDTO) {
+        log.info("开始处理【新增回避设计方案】的请求,参数为:{}", avoidDesignDirectionDTO);
+        try {
+            avoidDesignDirectionService.addAvoidDesignDirection(avoidDesignDirectionDTO);
+        } catch (XiaoShiException e) {
+            return Response.error(e.getMessage());
+        }
+        return Response.success("新增回避设计方案完成");
+    }
+
+}

+ 24 - 0
RMS/src/main/java/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapper.java

@@ -0,0 +1,24 @@
+package cn.cslg.report.mapper;
+
+import cn.cslg.report.entity.AssoAvoidDesignWholeLittleDirection;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 回避设计总体方向和方向关联表的Mapper层接口
+ *
+ * @Author chenyu
+ * @Data 2023/2/2
+ */
+@Repository
+public interface AssoAvoidDesignWholeLittleDirectionMapper {
+    /**
+     * 批量插入回避设计总体方向和方向关联表数据
+     *
+     * @param assoAvoidDesignWholeLittleDirections 回避设计总体方向和方向数据对象集合
+     * @return 返回受影响的行数
+     */
+    int insertBatch(List<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections);
+
+}

+ 8 - 9
RMS/src/main/java/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.java

@@ -28,9 +28,9 @@ import java.util.List;
 @Slf4j
 @Service
 public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionService {
-    private final AvoidDesignWholeDirectionMapper avoidDesignWholeDirectionMapper;
-    private final AvoidDesignLittleDirectionMapper avoidDesignLittleDirectionMapper;
-    private final AssoAvoidDesignWholeLittleDirectionMapper assoAvoidDesignWholeLittleDirectionMapper;
+    private final AvoidDesignWholeDirectionMapper avoidDesignWholeDirectionMapper;  //回避设计总体方向表的Mapper层接口装配
+    private final AvoidDesignLittleDirectionMapper avoidDesignLittleDirectionMapper;  //回避设计方向表的Mapper层接口装配
+    private final AssoAvoidDesignWholeLittleDirectionMapper assoAvoidDesignWholeLittleDirectionMapper;  //回避设计总体方向和方向关联表的Mapper层接口装配
 
     /**
      * 新增回避设计方案
@@ -44,7 +44,7 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
         //1.从回避设计方案中获取报告reportId和回避设计总体方向wholeDirection,将它们插入回避设计总体方向表
         Integer reportId = avoidDesignDirectionDTO.getReportId();
         String wholeDirection = avoidDesignDirectionDTO.getWholeDirection();
-        //将获取到的报告reportId与回避设计总体方向wholeDirection数据赋值给实体类后插入
+        //将获取到的报告reportId与回避设计总体方向wholeDirection数据赋值给回避设计总体方向表实体类后插入
         AvoidDesignWholeDirection avoidDesignWholeDirection = new AvoidDesignWholeDirection()
                 .setReportId(reportId)
                 .setWholeDirection(wholeDirection);
@@ -56,10 +56,10 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
             throw new XiaoShiException(message);
         }
 
-        //2.从回避设计方案中获取特征featureId与回避设计方向littleDirection的对象集合,将它们插入回避设计方向表
+        //2.从回避设计方案中获取存放特征featureId与回避设计方向littleDirection的DTO对象集合,将它们插入回避设计方向表
         List<AvoidDesignLittleDirectionDTO> avoidDesignLittleDirectionDTOs = avoidDesignDirectionDTO.getAvoidDesignLittleDirectionDTOs();
+        //将获取到的存放特征featureId与回避设计方向littleDirection的DTO对象的集合复制给新创建的回避设计方向表实体类集合后插入
         ArrayList<AvoidDesignLittleDirection> avoidDesignLittleDirections = new ArrayList<>();
-        //将获取到的特征featureId与回避设计方向littleDirection的DTO对象集合转换成实体类对象集合后再插入表
         BeanUtils.copyProperties(avoidDesignLittleDirectionDTOs, avoidDesignLittleDirections);
         log.info("将数据插入回避设计方向表,数据为:{}", avoidDesignLittleDirections);
         rows = avoidDesignLittleDirectionMapper.insertBatch(avoidDesignLittleDirections);
@@ -69,14 +69,14 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
             throw new XiaoShiException(message);
         }
 
-        //3.以上两个数据成功插入两张表后,分别取出各自的id,将两个id(回避设计总体方向数据avoidDesignWholeDirectionId、回避设计方向数据avoidDesignLittleDirectionId)插入回避设计总体方向和回避设计方向关联表
+        //3.以上回避设计总体方向等数据和回避设计方向等数据分别插入两张表后,再取出各自的id,将两个id(回避设计总体方向avoidDesignWholeDirectionId、回避设计方向avoidDesignLittleDirectionId)插入回避设计总体方向和回避设计方向关联表
         Integer avoidDesignWholeDirectionId = avoidDesignWholeDirection.getId();
         ArrayList<Integer> avoidDesignLittleDirectionIds = new ArrayList<>();
         for (AvoidDesignLittleDirection avoidDesignLittleDirection : avoidDesignLittleDirections) {
             Integer avoidDesignLittleDirectionId = avoidDesignLittleDirection.getId();
             avoidDesignLittleDirectionIds.add(avoidDesignLittleDirectionId);
         }
-
+        //将获取到的回避设计总体方向avoidDesignWholeDirectionId与回避设计方向avoidDesignLittleDirectionId赋值给新创建的回避设计总体方向和回避设计方向关联表实体类后插入
         ArrayList<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections = new ArrayList<>();
         for (Integer avoidDesignLittleDirectionId : avoidDesignLittleDirectionIds) {
             AssoAvoidDesignWholeLittleDirection assoAvoidDesignWholeLittleDirection = new AssoAvoidDesignWholeLittleDirection()
@@ -84,7 +84,6 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
                     .setAvoidDesignLittleDirectionId(avoidDesignLittleDirectionId);
             assoAvoidDesignWholeLittleDirections.add(assoAvoidDesignWholeLittleDirection);
         }
-
         log.info("将数据插入回避设计总体方向和回避设计方向关联表,数据为:{}", assoAvoidDesignWholeLittleDirections);
         rows = assoAvoidDesignWholeLittleDirectionMapper.insertBatch(assoAvoidDesignWholeLittleDirections);
         if (rows != assoAvoidDesignWholeLittleDirections.size()) {

+ 16 - 0
RMS/src/main/resources/mapper/AssoAvoidDesignWholeLittleDirectionMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+
+<mapper namespace="cn.cslg.report.mapper.AssoAvoidDesignWholeLittleDirectionMapper">
+    <!--批量插入回避设计总体方向和回避设计方向关联表数据-->
+    <!--int insertBatch(List<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections);-->
+    <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
+        insert into ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION (AVOIDDESIGN_WHOLE_DIRECTION_ID, AVOIDDESIGN_LITTLE_DIRECTION_ID)
+        VALUES
+        <foreach collection="list" item="n" separator=",">
+            (#{n.avoidDesignWholeDirectionId}, #{n.avoidDesignLittleDirectionId})
+        </foreach>
+    </insert>
+
+</mapper>

+ 44 - 0
RMS/src/test/java/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapperTests.java

@@ -0,0 +1,44 @@
+package cn.cslg.report.mapper;
+
+import cn.cslg.report.entity.AssoAvoidDesignWholeLittleDirection;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.ArrayList;
+
+/**
+ * 回避设计总体方向和方向关联表的Mapper层接口测试类
+ *
+ * @Author chenyu
+ * @Data 2023/2/2
+ */
+@Slf4j
+@SpringBootTest
+public class AssoAvoidDesignWholeLittleDirectionMapperTests {
+
+    @Autowired
+    private AssoAvoidDesignWholeLittleDirectionMapper assoAvoidDesignWholeLittleDirectionMapper;
+
+    @Test
+    void insertBatch() {
+        ArrayList<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections = new ArrayList<>();
+        log.info("批量插入前数据为:");
+        for (int i = 0; i < 3; i++) {
+            AssoAvoidDesignWholeLittleDirection assoAvoidDesignWholeLittleDirection = new AssoAvoidDesignWholeLittleDirection()
+                    .setAvoidDesignWholeDirectionId(1)
+                    .setAvoidDesignLittleDirectionId(i + 1);
+            log.info("{}", assoAvoidDesignWholeLittleDirection);
+            assoAvoidDesignWholeLittleDirections.add(assoAvoidDesignWholeLittleDirection);
+        }
+        int rows = assoAvoidDesignWholeLittleDirectionMapper.insertBatch(assoAvoidDesignWholeLittleDirections);
+        log.info("批量插入数据完成,受影响的行数为:{}", rows);
+        log.info("批量插入后数据为:");
+        for (AssoAvoidDesignWholeLittleDirection assoAvoidDesignWholeLittleDirection : assoAvoidDesignWholeLittleDirections) {
+            log.info("{}", assoAvoidDesignWholeLittleDirection);
+        }
+
+    }
+
+}

BIN
RMS/target/classes/cn/cslg/report/controller/AvoidDesignDirectionController.class


BIN
RMS/target/classes/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapper.class


+ 16 - 0
RMS/target/classes/mapper/AssoAvoidDesignWholeLittleDirectionMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+
+<mapper namespace="cn.cslg.report.mapper.AssoAvoidDesignWholeLittleDirectionMapper">
+    <!--批量插入回避设计总体方向和方向关联表数据-->
+    <!--int insertBatch(List<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections);-->
+    <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
+        insert into ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION (AVOIDDESIGN_WHOLE_DIRECTION_ID, AVOIDDESIGN_LITTLE_DIRECTION_ID)
+        VALUES
+        <foreach collection="list" item="n" separator=",">
+            (#{n.avoidDesignWholeDirectionId}, #{n.avoidDesignLittleDirectionId})
+        </foreach>
+    </insert>
+
+</mapper>

BIN
RMS/target/test-classes/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapperTests.class