问题删除优化;模板优化

This commit is contained in:
cjw 2024-05-23 17:04:57 +08:00
parent bc3c0669d2
commit eb502c891a
4 changed files with 26 additions and 14 deletions

View File

@ -2,7 +2,6 @@ package org.dromara.scale.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
@ -104,14 +103,14 @@ public class ScaleQuestionController extends BaseController {
} }
/** /**
* 删除量问题内容 * 删除量问题内容
* *
* @param questionIds 主键串 * @param bo
*/ */
@SaCheckPermission("scale:question:remove") @SaCheckPermission("scale:question:remove")
@Log(title = "量问题内容", businessType = BusinessType.DELETE) @Log(title = "量问题内容", businessType = BusinessType.DELETE)
@DeleteMapping("/{questionIds}") @DeleteMapping()
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] questionIds) { public R<Void> remove(@RequestBody SysScaleQuestionBo bo) {
return toAjax(sysScaleQuestionService.deleteWithValidByIds(List.of(questionIds), true)); return toAjax(sysScaleQuestionService.deleteByBo(bo));
} }
} }

View File

@ -6,7 +6,6 @@ import org.dromara.scale.domain.bo.SysScaleQuestionBo;
import org.dromara.scale.domain.vo.SysScaleFactorVo; import org.dromara.scale.domain.vo.SysScaleFactorVo;
import org.dromara.scale.domain.vo.SysScaleQuestionVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
@ -53,6 +52,6 @@ public interface ISysScaleQuestionService {
/** /**
* 校验并批量删除量问题内容信息 * 校验并批量删除量问题内容信息
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteByBo(SysScaleQuestionBo bo);
} }

View File

@ -10,6 +10,7 @@ import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; 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.SysScaleAnswer;
import org.dromara.scale.domain.SysScaleQuestion; import org.dromara.scale.domain.SysScaleQuestion;
import org.dromara.scale.domain.bo.SysScaleQuestionBo; 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.SysScaleFactorVo;
import org.dromara.scale.domain.vo.SysScaleQuestionVo; import org.dromara.scale.domain.vo.SysScaleQuestionVo;
import org.dromara.scale.mapper.SysScaleAnswerMapper; import org.dromara.scale.mapper.SysScaleAnswerMapper;
import org.dromara.scale.mapper.SysScaleMapper;
import org.dromara.scale.mapper.SysScaleQuestionMapper; import org.dromara.scale.mapper.SysScaleQuestionMapper;
import org.dromara.scale.service.ISysScaleQuestionService; import org.dromara.scale.service.ISysScaleQuestionService;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
@ -24,7 +26,6 @@ import org.springframework.cache.annotation.Caching;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -42,6 +43,8 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService {
private final SysScaleAnswerMapper scaleAnswerMapper; 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()); // lqw.like(StringUtils.isNotBlank(bo.getFactorName()), SysScaleQuestion::getFactorName, bo.getFactorName());
return lqw; return lqw;
} }
/** /**
* 查询量表的因子列表包含因子对应的题目 * 查询量表的因子列表包含因子对应的题目
* *
@ -108,6 +112,10 @@ public class SysScaleQuestionServiceImpl implements ISysScaleQuestionService {
public Boolean insertByBo(SysScaleQuestionBo bo) { public Boolean insertByBo(SysScaleQuestionBo bo) {
SysScaleQuestion add = MapstructUtils.convert(bo, SysScaleQuestion.class); SysScaleQuestion add = MapstructUtils.convert(bo, SysScaleQuestion.class);
//validEntityBeforeSave(add); //validEntityBeforeSave(add);
Long scaleId = bo.getScaleId();
SysScale sysScale = scaleMapper.selectById(scaleId);
Integer questionsNum = sysScale.getQuestionsNum();
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setQuestionId(add.getQuestionId()); 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 @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteByBo(SysScaleQuestionBo bo) {
if (isValid) { Long questionId = bo.getQuestionId();
//TODO 做一些业务上的校验,判断是否需要校验 int flag = baseMapper.deleteById(questionId);
} scaleAnswerMapper.deleteScaleAnswerByQuestionId(questionId);
return baseMapper.deleteBatchIds(ids) > 0; return flag > 0;
} }
} }