liusheng
2024-06-27 afb277a81e060c6275f11e9f9f102b5dcfd80a72
smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
@@ -14,6 +14,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -148,46 +149,43 @@
        if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 1) {
            //新增
            svyLibTemplate.setCreateTime(DateUtils.getNowDate());
            i = svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
            svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
        } else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 2) {
            //修改
            svyLibTemplate.setUpdateTime(DateUtils.getNowDate());
            i = svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
            svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
        } else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 3) {
            //删除
            svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyLibTemplate.getSvyid());
        }
        i = svyLibTemplate.getSvyid().intValue();
        //处理题目
        if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibScripts())) {
            for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyLibScripts()) {
                SvyLibTemplateScript svyLibTemplateScript = DtoConversionUtils.sourceToTarget(svyLibScript, SvyLibTemplateScript.class);
                //对题目进行处理
                if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 1) {
                    //新增
                    svyLibTemplateScript.setSvyid(svyLibTemplate.getSvyid());
                    svyLibTemplateScript.setId(null);
                    svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibTemplateScript);
                } else if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 2) {
                    //修改
                    svyLibTemplateScript.setSvyid(svyLibTemplate.getSvyid());
                    svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibTemplateScript);
                if (svyLibScript.getIsoperation() != null) {
                    //问题的操作不为空
                    scriptHandle(svyLibTemplate.getSvyid(), svyLibScript, svyLibScript.getIsoperation());
                } else if (svyLibScript.getIsoperation() == null && svyLibTemplate.getIsoperation() != null) {
                    //模板的操作不为空
                    scriptHandle(svyLibTemplate.getSvyid(), svyLibScript, svyLibTemplate.getIsoperation());
                }
                //对题目选项进行处理
                if (CollectionUtils.isNotEmpty(svyLibScript.getSvyLibTemplateTargetoptions())) {
                    for (SvyLibTemplateTargetoption svyLibTemplateTargetoption : svyLibScript.getSvyLibTemplateTargetoptions()) {
                        if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 1) {
                            //新增
                            svyLibTemplateTargetoption.setScriptid(svyLibScript.getId());
                            svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
                        } else if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 2) {
                            //修改
                            svyLibTemplateTargetoption.setScriptid(svyLibScript.getId());
                            svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
                        if (svyLibTemplateTargetoption.getIsoperation() != null) {
                            //选选项的操作不为空
                            optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibTemplateTargetoption.getIsoperation());
                        } else if (svyLibTemplateTargetoption.getIsoperation() == null && svyLibScript.getIsoperation() != null) {
                            //问题的操作不为空
                            optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibScript.getIsoperation());
                        } else if (svyLibTemplateTargetoption.getIsoperation() == null && svyLibScript.getIsoperation() == null && svyLibTemplate.getIsoperation() != null) {
                            //模板的操作不为空
                            optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibTemplate.getIsoperation());
                        }
                    }
                }
            }
        }
@@ -240,4 +238,39 @@
    public int deleteSvyLibTemplateBySvyid(Long svyid) {
        return svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyid);
    }
    private void scriptHandle(Long svyid, SvyLibTemplateScript svyLibScript, Integer isoperation) {
        if (isoperation == 1) {
            //新增
            svyLibScript.setSvyid(svyid);
            svyLibScript.setId(null);
            svyLibScript.setCreateTime(new Date());
            svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibScript);
        } else if (isoperation == 2) {
            //修改
            svyLibScript.setSvyid(svyid);
            svyLibScript.setUpdateTime(new Date());
            svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibScript);
        } else if (isoperation == 3) {
            svyLibTemplateScriptMapper.deleteSvyLibTemplateScriptByTopicid(svyLibScript.getId());
        }
    }
    private void optionHandle(SvyLibTemplateTargetoption svyLibTemplateTargetoption, Long scriptId, Integer isoperation) {
        if (isoperation == 1) {
            //新增
            svyLibTemplateTargetoption.setScriptid(scriptId);
            svyLibTemplateTargetoption.setCreateTime(new Date());
            svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
        } else if (isoperation == 2) {
            //修改
            svyLibTemplateTargetoption.setScriptid(scriptId);
            svyLibTemplateTargetoption.setUpdateTime(new Date());
            svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
        } else if (isoperation == 3) {
            //删除
            svyLibTemplateTargetoptionMapper.deleteSvyLibTemplateTargetoptionById(svyLibTemplateTargetoption.getId());
        }
    }
}