diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java index 5a3765e..ef0932f 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScaleQuestionController.java @@ -2,7 +2,6 @@ package org.dromara.scale.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; @@ -104,14 +103,14 @@ public class ScaleQuestionController extends BaseController { } /** - * 删除量问题内容 + * 删除量表问题内容 * - * @param questionIds 主键串 + * @param bo */ @SaCheckPermission("scale:question:remove") @Log(title = "量问题内容", businessType = BusinessType.DELETE) - @DeleteMapping("/{questionIds}") - public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] questionIds) { - return toAjax(sysScaleQuestionService.deleteWithValidByIds(List.of(questionIds), true)); + @DeleteMapping() + public R remove(@RequestBody SysScaleQuestionBo bo) { + return toAjax(sysScaleQuestionService.deleteByBo(bo)); } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java index 8be6b0a..efc2351 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScaleQuestionService.java @@ -6,7 +6,6 @@ import org.dromara.scale.domain.bo.SysScaleQuestionBo; import org.dromara.scale.domain.vo.SysScaleFactorVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo; -import java.util.Collection; import java.util.List; /** @@ -53,6 +52,6 @@ public interface ISysScaleQuestionService { /** * 校验并批量删除量问题内容信息 */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + Boolean deleteByBo(SysScaleQuestionBo bo); } 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 465c9d4..218741d 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 @@ -10,6 +10,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.SysScale; import org.dromara.scale.domain.SysScaleAnswer; import org.dromara.scale.domain.SysScaleQuestion; import org.dromara.scale.domain.bo.SysScaleQuestionBo; @@ -17,6 +18,7 @@ import org.dromara.scale.domain.vo.SysScaleAnswerVo; import org.dromara.scale.domain.vo.SysScaleFactorVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo; import org.dromara.scale.mapper.SysScaleAnswerMapper; +import org.dromara.scale.mapper.SysScaleMapper; import org.dromara.scale.mapper.SysScaleQuestionMapper; import org.dromara.scale.service.ISysScaleQuestionService; import org.springframework.cache.annotation.CacheEvict; @@ -24,7 +26,6 @@ import org.springframework.cache.annotation.Caching; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Collection; import java.util.List; import java.util.Map; @@ -42,6 +43,8 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { private final SysScaleAnswerMapper scaleAnswerMapper; + private final SysScaleMapper scaleMapper; + /** * 查询量问题内容 */ @@ -84,6 +87,7 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { // lqw.like(StringUtils.isNotBlank(bo.getFactorName()), SysScaleQuestion::getFactorName, bo.getFactorName()); return lqw; } + /** * 查询量表的因子列表,包含因子对应的题目 * @@ -108,6 +112,10 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { public Boolean insertByBo(SysScaleQuestionBo bo) { SysScaleQuestion add = MapstructUtils.convert(bo, SysScaleQuestion.class); //validEntityBeforeSave(add); + Long scaleId = bo.getScaleId(); + SysScale sysScale = scaleMapper.selectById(scaleId); + Integer questionsNum = sysScale.getQuestionsNum(); + boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setQuestionId(add.getQuestionId()); @@ -153,12 +161,18 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService { /** * 批量删除量问题内容 */ + @Caching(evict = { + @CacheEvict(cacheNames = CacheNames.SYS_QUESTION_ANSWER, key = "#bo.scaleId"), + @CacheEvict(cacheNames = CacheNames.MAP_SCALE_QUESTION, key = "#bo.scaleId"), + @CacheEvict(cacheNames = CacheNames.MAP_SCALE_ANSWER, key = "#bo.scaleId") + }) + @Transactional(rollbackFor = Exception.class) @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { - //TODO 做一些业务上的校验,判断是否需要校验 - } - return baseMapper.deleteBatchIds(ids) > 0; + public Boolean deleteByBo(SysScaleQuestionBo bo) { + Long questionId = bo.getQuestionId(); + int flag = baseMapper.deleteById(questionId); + scaleAnswerMapper.deleteScaleAnswerByQuestionId(questionId); + return flag > 0; } } diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx b/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx index 8071516..2e8f138 100644 Binary files a/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx and b/ruoyi-modules/rouyi-scale/src/main/resources/word/personalTemplate.docx differ