package com.ruoyi.service.impl; import com.ruoyi.domain.*; import com.ruoyi.mapper.ReviewDetailsMapper; import com.ruoyi.mapper.ReviewKeyPointMapper; import com.ruoyi.mapper.ReviewSceneMapper; import com.ruoyi.mapper.ReviewUsecaseMapper; import com.ruoyi.service.StrategyReviewSceneChange; import com.ruoyi.service.ReviewSceneChangeTaskService; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Objects; @Transactional @Service public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange, InitializingBean { @Autowired private StrategyReviewSceneChangeContext strategyReviewSceneChangeContext; @Autowired private ApplicationContext applicationContext; @Autowired private ReviewSceneMapper reviewSceneMapper; @Autowired private ReviewSceneChangeTaskService reviewSceneChangeTaskService; @Autowired private ReviewKeyPointMapper reviewKeyPointMapper; @Autowired private ReviewDetailsMapper reviewDetailsMapper; @Autowired private ReviewUsecaseMapper reviewUsecaseMapper; /** * 新增审查场景 * @param reviewSceneChangeTask */ @Override public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) { if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_SCENE")) { // 保存新增的场景 ReviewScene reviewScene = new ReviewScene() .setText(reviewSceneChangeTask.getNewText()) .setReviewDetailsId(reviewSceneChangeTask.getDetailsId()); reviewSceneMapper.insert(reviewScene); // 为场景变更任务的 场景关联id字段赋值 reviewSceneChangeTask.setReviewSceneId(reviewScene.getId()); reviewSceneChangeTaskService.updateById(reviewSceneChangeTask); } // 保存新增的要点 if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_KEYPOINT")) { // 要点 ReviewKeyPoint reviewKeyPoint = new ReviewKeyPoint() .setText(reviewSceneChangeTask.getKeypoint()) .setReviewStandardId(reviewSceneChangeTask.getStandardId()); reviewKeyPointMapper.insert(reviewKeyPoint); //为新增细则变更任务的细则关联id字段赋值 reviewSceneChangeTask.setKeypointId(reviewKeyPoint.getId()); reviewSceneChangeTaskService.updateById(reviewSceneChangeTask); // 细则 ReviewDetails reviewDetails = new ReviewDetails() .setText(reviewSceneChangeTask.getDetails()) .setReviewKeypointId(reviewKeyPoint.getId()); reviewDetailsMapper.insert(reviewDetails); //为新增细则变更任务的细则关联id字段赋值 reviewSceneChangeTask.setDetailsId(reviewDetails.getId()); reviewSceneChangeTaskService.updateById(reviewSceneChangeTask); } // 保存新增的细则 if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_DETAILS")) { // 细则 ReviewDetails reviewDetails = new ReviewDetails() .setText(reviewSceneChangeTask.getDetails()) .setReviewKeypointId(reviewSceneChangeTask.getKeypointId()); reviewDetailsMapper.insert(reviewDetails); //为新增细则变更任务的细则关联id字段赋值 reviewSceneChangeTask.setDetailsId(reviewDetails.getId()); reviewSceneChangeTaskService.updateById(reviewSceneChangeTask); } //新增测试用例评审 if(Objects.equals(reviewSceneChangeTask.getOperationSort(),"ADD_USECASE")){ //保存新增的测试用例 ReviewUsecase reviewUsecase = new ReviewUsecase(); reviewUsecase.setUsecaseDescribe(reviewSceneChangeTask.getUsecaseDescribe()); reviewUsecase.setUsecaseId(reviewSceneChangeTask.getUsecaseId()); reviewUsecase.setReviewStandardId(reviewSceneChangeTask.getStandardId()); reviewUsecaseMapper.insert(reviewUsecase); //为用例变更任务的场景关联字段赋值 reviewSceneChangeTask.setReviewUsecaseId(reviewUsecase.getId()); reviewSceneChangeTaskService.updateById(reviewSceneChangeTask); } } @Override public void afterPropertiesSet() throws Exception { strategyReviewSceneChangeContext.putResource(ReviewSceneChangeTask.OPERATION_ADD, applicationContext.getBean(this.getClass())); } }