From bd8d88e5e984e59a5c895ec1a254e3dbae1f9f21 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 21 Jan 2025 14:55:39 +0800
Subject: [PATCH] 修复

---
 src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java |  139 ++++++++++++++++++++++++++--------------------
 1 files changed, 79 insertions(+), 60 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 fe78712..1847a1b 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
@@ -16,77 +16,111 @@
  */
 package org.springblade.modules.evaluate.service.impl;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+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.tool.utils.StringUtil;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.evaluate.dto.EvaluateTaskDTO;
+import org.springblade.modules.evaluate.entity.EvaluateTaskCategoryEntity;
 import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
-import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
-import org.springblade.modules.evaluate.service.IEvaluateCandidateService;
-import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
-import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
 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.wrapper.EvaluateCandidateWrapper;
-import org.springblade.modules.evaluate.wrapper.EvaluateTaskWrapper;
-import org.springblade.modules.system.entity.Dept;
-import org.springblade.modules.system.entity.User;
-import org.springblade.modules.system.service.IDeptService;
-import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
+import org.springblade.modules.utils.DateUtils;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.validation.constraints.NotEmpty;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 评优任务表 服务实现类
  *
  * @author aix
- * @since 2023-12-08
+ * @since 2024-01-05
  */
 @Service
 @AllArgsConstructor
 public class EvaluateTaskServiceImpl extends BaseServiceImpl<EvaluateTaskMapper, EvaluateTaskEntity> implements IEvaluateTaskService {
 
-	private final IEvaluateTaskSetService evaluateTaskSetService;
-	private final IUserService userService;
+	private final IEvaluateTaskCategoryService evaluateTaskCategoryService;
 
-	private final IDeptService deptService;
+	private final IEvaluateTaskCategoryCandidateService evaluateTaskCategoryCandidateService;
 
-	private final IEvaluateCandidateService evaluateCandidateService;
-
-	@Override
-	@Transactional
-	public boolean save(EvaluateTaskVO vo) {
-		Boolean ret = super.save(EvaluateTaskWrapper.build().entityPO(vo));
-		if (ret) {
-			ret = evaluateCandidateService.saveBatch(vo.getCandidateEntities());
-		}
-		return ret;
-	}
-
-	@Override
-	@Transactional
-	public boolean updateById(EvaluateTaskVO vo) {
-		if (null == vo.getId())
-			return false;
-
-		Boolean ret = super.updateById(EvaluateTaskWrapper.build().entityPO(vo));
-		if (ret) {
-			ret = evaluateCandidateService.saveOrUpdateBatch(vo.getCandidateEntities());
-		}
-		return ret;
-	}
+	private final IEvaluateTaskReferrerService evaluateTaskReferrerService;
 
 	@Override
 	public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
 		return page.setRecords(baseMapper.selectEvaluateTaskPage(page, evaluateTask));
+	}
+
+	@Override
+	@Transactional
+	public Boolean saveTaskAndCategory(EvaluateTaskDTO dto) {
+
+		if (DateUtils.isBeforeNow(dto.getCandidateCutoffTimeStart())) {// 如果是小于当前日期 修改状态
+			dto.setCandidateState(1);
+		}
+
+		boolean ret = save(dto);
+		if (ret) {
+			List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
+					categoryEntity.setEvaluateTaskId(dto.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
+					return categoryEntity;  // 返回修改后的对象
+				})
+				.collect(Collectors.toList());
+			evaluateTaskCategoryService.saveOrUpdateBatch(evaluateTaskCategoryEntityList);
+		}
+		return ret;
+	}
+
+	@Override
+	@Transactional
+	public Boolean updateTaskAndCategory(EvaluateTaskDTO dto) {
+
+		if (DateUtils.isBeforeNow(dto.getCandidateCutoffTimeStart())) {//如果是小于当前日期 修改状态
+			dto.setCandidateState(1);
+		}
+
+		boolean ret = updateById(dto);
+		if (ret) {
+
+			//先删除
+			QueryWrapper queryWrapper = new QueryWrapper();
+			queryWrapper.eq("evaluate_task_id", dto.getId());
+			evaluateTaskCategoryService.remove(queryWrapper);
+
+			List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
+					categoryEntity.setEvaluateTaskId(dto.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
+					return categoryEntity;  // 返回修改后的对象
+				})
+				.collect(Collectors.toList());
+			evaluateTaskCategoryService.saveOrUpdateBatch(evaluateTaskCategoryEntityList);
+		}
+		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;
 	}
 
 
@@ -97,21 +131,6 @@
 		//	evaluateTask.setTypeName(DictCache.getValue(DictEnum.YES_NO, EvaluateTask.getType()));
 		//});
 		return evaluateTaskList;
-	}
-
-	@Override
-	@Transactional
-	public boolean deleteLogic(List<Long> ids) {
-		boolean ret = super.deleteLogic(ids);
-		if (ret) {
-			for (Long id:ids) {
-				//先删除
-				QueryWrapper<EvaluateTaskSetEntity> queryWrapper = new QueryWrapper<>();
-				queryWrapper.eq("evaluate_task_id", id);
-				evaluateTaskSetService.remove(queryWrapper);
-			}
-		}
-		return ret;
 	}
 
 }

--
Gitblit v1.9.3