package com.ruoyi.service.impl; import com.ruoyi.domain.ReviewDetails; import com.ruoyi.domain.ReviewKeyPoint; import com.ruoyi.domain.ReviewScene; import com.ruoyi.domain.ReviewSceneChangeTask; import com.ruoyi.mapper.ReviewDetailsMapper; import com.ruoyi.mapper.ReviewKeyPointMapper; import com.ruoyi.mapper.ReviewSceneMapper; 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; /** * 新增审查场景 * @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); // 细则 ReviewDetails reviewDetails = new ReviewDetails() .setText(reviewSceneChangeTask.getDetails()) .setReviewKeypointId(reviewKeyPoint.getId()); reviewDetailsMapper.insert(reviewDetails); } // 保存新增的细则 if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_DETAILS")) { // 细则 ReviewDetails reviewDetails = new ReviewDetails() .setText(reviewSceneChangeTask.getDetails()) .setReviewKeypointId(reviewSceneChangeTask.getKeypointId()); reviewDetailsMapper.insert(reviewDetails); } } @Override public void afterPropertiesSet() throws Exception { strategyReviewSceneChangeContext.putResource(ReviewSceneChangeTask.OPERATION_ADD, applicationContext.getBean(this.getClass())); } }