From f352a8338d0e1d72d50e42d405b5f1de7237e681 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Mon, 08 Jan 2024 11:05:05 +0800
Subject: [PATCH] 删除任务时清理子表
---
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
index e39d868..13a9c41 100644
--- a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
@@ -17,6 +17,7 @@
package org.springblade.modules.evaluate.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
@@ -25,10 +26,12 @@
import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
import org.springblade.modules.evaluate.excel.EvaluateTaskExcel;
import org.springblade.modules.evaluate.mapper.EvaluateTaskMapper;
+import org.springblade.modules.evaluate.service.IEvaluateTaskCategoryCandidateService;
import org.springblade.modules.evaluate.service.IEvaluateTaskCategoryService;
+import org.springblade.modules.evaluate.service.IEvaluateTaskReferrerService;
import org.springblade.modules.evaluate.service.IEvaluateTaskService;
import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
-import org.springblade.modules.evaluate.wrapper.EvaluateTaskWrapper;
+import org.springblade.modules.utils.DateUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +50,10 @@
private final IEvaluateTaskCategoryService evaluateTaskCategoryService;
+ private final IEvaluateTaskCategoryCandidateService evaluateTaskCategoryCandidateService;
+
+ private final IEvaluateTaskReferrerService evaluateTaskReferrerService;
+
@Override
public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
return page.setRecords(baseMapper.selectEvaluateTaskPage(page, evaluateTask));
@@ -55,11 +62,15 @@
@Override
@Transactional
public Boolean saveTaskAndCategory(EvaluateTaskDTO dto) {
- EvaluateTaskDTO taskDTO = EvaluateTaskWrapper.build().entityDTO(dto);
- boolean ret = save(taskDTO);
+
+ if (DateUtils.isToday(dto.getCandidateCutoffTimeStart())) {//是否今天开始
+ dto.setCandidateState(1);
+ }
+
+ boolean ret = save(dto);
if (ret) {
List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
- categoryEntity.setEvaluateTaskId(taskDTO.getId()); // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
+ categoryEntity.setEvaluateTaskId(dto.getId()); // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
return categoryEntity; // 返回修改后的对象
})
.collect(Collectors.toList());
@@ -71,7 +82,12 @@
@Override
@Transactional
public Boolean updateTaskAndCategory(EvaluateTaskDTO dto) {
- boolean ret = updateById(EvaluateTaskWrapper.build().entityDTO(dto));
+
+ if (DateUtils.isToday(dto.getCandidateCutoffTimeStart())) {//是否今天开始
+ dto.setCandidateState(1);
+ }
+
+ boolean ret = updateById(dto);
if (ret) {
List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
categoryEntity.setEvaluateTaskId(dto.getId()); // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
@@ -83,6 +99,24 @@
return ret;
}
+ @Override
+ public boolean deleteLogic(List<Long> ids) {
+ boolean ret = super.deleteLogic(ids);
+ if (ret) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.in("evaluate_task_id",ids);
+ List<EvaluateTaskCategoryEntity> list = evaluateTaskCategoryService.list(queryWrapper);
+ evaluateTaskCategoryService.remove(queryWrapper);
+ evaluateTaskReferrerService.remove(queryWrapper);
+ for (EvaluateTaskCategoryEntity po: list) {
+ QueryWrapper qw = new QueryWrapper();
+ qw.eq("evaluate_task_category_id", po.getId());
+ evaluateTaskCategoryCandidateService.remove(qw);
+ }
+ }
+ return ret;
+ }
+
@Override
public List<EvaluateTaskExcel> exportEvaluateTask(Wrapper<EvaluateTaskEntity> queryWrapper) {
--
Gitblit v1.9.3