From df69fd116c170c0e91da5b985a030cb824259c41 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Mon, 08 Jan 2024 09:32:15 +0800
Subject: [PATCH] 增加事务

---
 src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 7 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 b510ae4..e39d868 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,31 +16,73 @@
  */
 package org.springblade.modules.evaluate.service.impl;
 
-import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
-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.IEvaluateTaskService;
-import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
 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.excel.EvaluateTaskExcel;
+import org.springblade.modules.evaluate.mapper.EvaluateTaskMapper;
+import org.springblade.modules.evaluate.service.IEvaluateTaskCategoryService;
+import org.springblade.modules.evaluate.service.IEvaluateTaskService;
+import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
+import org.springblade.modules.evaluate.wrapper.EvaluateTaskWrapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 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 IEvaluateTaskCategoryService evaluateTaskCategoryService;
 
 	@Override
 	public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
 		return page.setRecords(baseMapper.selectEvaluateTaskPage(page, evaluateTask));
 	}
 
+	@Override
+	@Transactional
+	public Boolean saveTaskAndCategory(EvaluateTaskDTO dto) {
+		EvaluateTaskDTO taskDTO = EvaluateTaskWrapper.build().entityDTO(dto);
+		boolean ret = save(taskDTO);
+		if (ret) {
+			List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
+					categoryEntity.setEvaluateTaskId(taskDTO.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
+					return categoryEntity;  // 返回修改后的对象
+				})
+				.collect(Collectors.toList());
+			evaluateTaskCategoryService.saveOrUpdateBatch(evaluateTaskCategoryEntityList);
+		}
+		return ret;
+	}
+
+	@Override
+	@Transactional
+	public Boolean updateTaskAndCategory(EvaluateTaskDTO dto) {
+		boolean ret = updateById(EvaluateTaskWrapper.build().entityDTO(dto));
+		if (ret) {
+			List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
+					categoryEntity.setEvaluateTaskId(dto.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
+					return categoryEntity;  // 返回修改后的对象
+				})
+				.collect(Collectors.toList());
+			evaluateTaskCategoryService.updateBatchById(evaluateTaskCategoryEntityList);
+		}
+		return ret;
+	}
+
 
 	@Override
 	public List<EvaluateTaskExcel> exportEvaluateTask(Wrapper<EvaluateTaskEntity> queryWrapper) {

--
Gitblit v1.9.3