diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleQuestionBo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleQuestionBo.java index 4da59c6..371ac3a 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleQuestionBo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/bo/SysScaleQuestionBo.java @@ -40,7 +40,7 @@ public class SysScaleQuestionBo extends BaseEntity { /** * 测评量表标题 */ - @NotBlank(message = "测评量表标题不能为空", groups = {AddGroup.class, EditGroup.class}) +// @NotBlank(message = "测评量表标题不能为空", groups = {AddGroup.class, EditGroup.class}) private String scaleTitle; /** @@ -55,17 +55,17 @@ public class SysScaleQuestionBo extends BaseEntity { @NotBlank(message = "问题内容不能为空", groups = {AddGroup.class, EditGroup.class}) private String questionContent; -// /** -// * 所属因子维度 -// */ + /** + * 所属因子维度 + */ // @NotNull(message = "所属因子维度不能为空", groups = { AddGroup.class, EditGroup.class }) -// private Long factorId; -// -// /** -// * 因子名称 -// */ + private Long factorId; + + /** + * 因子名称 + */ // @NotBlank(message = "因子名称不能为空", groups = { AddGroup.class, EditGroup.class }) -// private String factorName; + private String factorName; /** * 问题答案列表 diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleFactorServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleFactorServiceImpl.java index a490738..314a68c 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleFactorServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleFactorServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.scale.service.impl; +import cn.hutool.core.collection.CollUtil; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -10,6 +11,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.scale.domain.SysScale; import org.dromara.scale.domain.SysScaleFormula; +import org.dromara.scale.domain.SysScaleQuestion; +import org.dromara.scale.domain.bo.SysScaleQuestionBo; import org.dromara.scale.mapper.SysScaleFormulaMapper; import org.dromara.scale.mapper.SysScaleMapper; import org.dromara.scale.mapper.SysScaleQuestionMapper; @@ -20,6 +23,7 @@ import org.dromara.scale.domain.SysScaleFactor; import org.dromara.scale.mapper.SysScaleFactorMapper; import org.dromara.scale.service.ISysScaleFactorService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -94,6 +98,19 @@ public class SysScaleFactorServiceImpl implements ISysScaleFactorService { if (flag) { bo.setFactorId(add.getFactorId()); } + + if (CollUtil.isNotEmpty(bo.getQuestionIds())) { + List list = new ArrayList<>(bo.getQuestionIds().size()); + for (Long questionId : bo.getQuestionIds()) { + SysScaleQuestion question = new SysScaleQuestion(); + question.setQuestionId(questionId); + question.setFactorId(bo.getFactorId()); + question.setFactorName(bo.getFactorName()); + list.add(question); + } + scaleQuestionMapper.updateBatchById(list, 100); + } + return flag; } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java index 2ee1477..e54ef68 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScaleQuestionServiceImpl.java @@ -8,6 +8,7 @@ import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.scale.domain.SysScaleAnswer; import org.dromara.scale.domain.SysScaleQuestion; import org.dromara.scale.domain.bo.SysScaleQuestionBo; import org.dromara.scale.domain.vo.SysScaleQuestionVo; @@ -15,6 +16,7 @@ import org.dromara.scale.mapper.SysScaleAnswerMapper; import org.dromara.scale.mapper.SysScaleQuestionMapper; import org.dromara.scale.service.ISysScaleQuestionService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; @@ -76,6 +78,7 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { /** * 新增量问题内容 */ + @Transactional(rollbackFor = Exception.class) @Override public Boolean insertByBo(SysScaleQuestionBo bo) { SysScaleQuestion add = MapstructUtils.convert(bo, SysScaleQuestion.class); @@ -85,7 +88,13 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { if (flag) { bo.setQuestionId(add.getQuestionId()); } - scaleAnswerMapper.batchInsert(bo.getScaleAnswerList()); + List scaleAnswerList = bo.getScaleAnswerList(); + for (SysScaleAnswer sysScaleAnswer : scaleAnswerList) { + sysScaleAnswer.setScaleId(bo.getScaleId()); + sysScaleAnswer.setQuestionId(add.getQuestionId()); + sysScaleAnswer.setQuestionContent(add.getQuestionContent()); + } + scaleAnswerMapper.batchInsert(scaleAnswerList); return flag; }