From 10b88a7ff17caf92f3d4e8a550c1085a70c2517a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 28 五月 2026 17:43:26 +0800
Subject: [PATCH] Merge dev_New_pro into dev_山西_晋和园_pro

---
 src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateNodeServiceImpl.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateNodeServiceImpl.java
new file mode 100644
index 0000000..ca65a5f
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateNodeServiceImpl.java
@@ -0,0 +1,62 @@
+package com.ruoyi.approve.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.bean.dto.ApprovalTemplateNodeApproverDto;
+import com.ruoyi.approve.bean.dto.ApprovalTemplateNodeDto;
+import com.ruoyi.approve.mapper.ApprovalTemplateNodeMapper;
+import com.ruoyi.approve.pojo.ApprovalTemplateNode;
+import com.ruoyi.approve.pojo.ApprovalTemplateNodeApprover;
+import com.ruoyi.approve.service.ApprovalTemplateNodeApproverService;
+import com.ruoyi.approve.service.ApprovalTemplateNodeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹℃壒妯℃澘鑺傜偣琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-05-18 11:20:19
+ */
+@Service
+@RequiredArgsConstructor
+public class ApprovalTemplateNodeServiceImpl extends ServiceImpl<ApprovalTemplateNodeMapper, ApprovalTemplateNode> implements ApprovalTemplateNodeService {
+
+    private final ApprovalTemplateNodeMapper approvalTemplateNodeMapper;
+    private final ApprovalTemplateNodeApproverService approvalTemplateNodeApproverService;
+    @Override
+    public Boolean saveApprovalTemplateNode(Long templateId, List<ApprovalTemplateNodeDto> nodes) {
+        if (nodes == null || nodes.isEmpty()) {
+            throw new RuntimeException("鑺傜偣鍒楄〃涓嶈兘涓虹┖");
+        }
+
+        List<ApprovalTemplateNodeApprover> approverList = new ArrayList<>();
+
+        for (ApprovalTemplateNodeDto nodeDto : nodes) {
+            ApprovalTemplateNode node = new ApprovalTemplateNode();
+            BeanUtils.copyProperties(nodeDto, node);
+            node.setTemplateId(templateId);
+            approvalTemplateNodeMapper.insert(node);
+
+            List<ApprovalTemplateNodeApproverDto> approvers = nodeDto.getApprovers();
+            if (approvers == null || approvers.isEmpty()) {
+                throw new RuntimeException("鑺傜偣瀹℃壒浜轰笉鑳戒负绌�");
+            }
+            for (ApprovalTemplateNodeApproverDto approverDto : approvers) {
+                ApprovalTemplateNodeApprover approver = new ApprovalTemplateNodeApprover();
+                BeanUtils.copyProperties(approverDto, approver);
+                approver.setNodeId(node.getId());
+                approver.setTemplateId(templateId);
+                approver.setDeleted(0L);
+                approverList.add(approver);
+            }
+        }
+        approvalTemplateNodeApproverService.saveBatch(approverList);
+        return true;
+    }
+}

--
Gitblit v1.9.3